Repository navigation
feat(core): Implement BIP 440/441 and expose eval_tapscript_v2 - #230
Draft
alexanderwiederin wants to merge 16 commits into
Draft
alexanderwiederin wants to merge 16 commits into
alexanderwiederin wants to merge 16 commits into
Conversation
alexanderwiederin
force-pushed
the
varops_kernel_script_tracer
branch
from
October 5, 2026 11:12
e33ca3e to
e4afb1d
Compare
…8a8daf3fad1 e8a8daf3fad1 kernel: Add script tracer ea7d459ac08b Merge bitcoin/bitcoin#36057: build: check for SetThreadDescription() at configure time 204256c73f28 Merge bitcoin/bitcoin#35900: iwyu: Fix warnings in `src/interfaces` and treat them as errors da1cb4dd90e5 Merge bitcoin/bitcoin#35586: doc: note -blocknotify is not run during IBD/reindex in help text b31aae4f9af5 Merge bitcoin/bitcoin#36094: ci: bump riscv toolchain to tag 2026.08.25 607f220c6cfd Revert "ci: use mirror for riscv submodules" 64af18f4e6d7 ci: bump riscv toolchain to tag 2026.08.25 fd573f6db9d1 Merge bitcoin/bitcoin#36044: test: cover OP_SUCCESSx bypassing the initial stack element size limit 2224e4af6ced Merge bitcoin/bitcoin#35850: fuzz: Implement `connect_block` harness 2777300c68f5 fuzz: Implement connect_block harness bed46bd16c2b build: check for SetThreadDescription() at configure time 40add915be5c test: Add reset to CuckooCache a24110cef7fa Merge bitcoin/bitcoin#36092: fix: UB sanitizer in mempool estimator logging 8b84f9177899 Merge bitcoin/bitcoin#36088: util: Set Univalue to null after read failure 576a0ebb536f fix: UB sanitizer in mempool estimator logging 5f45583e4373 Merge bitcoin/bitcoin#36077: bugfix: give TxDownloadManager its own RNG fa72de78a931 util: Set Univalue to null after read failure fa7786592d7c test: Add UniValue failed read test e339043ee9ed Merge bitcoin/bitcoin#35829: http: Make class fields private and make HTTPResponse a struct 031175197f1b Merge bitcoin/bitcoin#36032: rpc: avoid quadratic output lookups b91d983f66fa Merge bitcoin/bitcoin#36078: qa: Reduce `-maxconnections` in the functional test framework 0f5c6d0b64a2 Merge bitcoin/bitcoin#35618: depends: Make tarball creation from local directory reproducible b8a8893bf2a1 qa: Lower `-rpcmaxconnections` in `interface_http.py` test 6f4109b44891 qa: Reduce `-maxconnections` in the functional test framework 80eaa6cabf28 bugfix: give TxDownloadManager its own RNG 5e0d7a286a49 refactor: Drastically narrow scope of http_bitcoin namespace and rename it to bitcoin_http 8f9fd8698a75 refactor: Make HTTPRemoteClient fields private d72f67fd6c9d refactor: Expose additional HTTPRemoteClient fields through accessors 10bbae302fb7 refactor: Expose HTTPRemoteClient fields to tests through methods 5b06d9083169 refactor: Replace HTTPServer::MaybeDispatchRequestsFromClient() with HTTPRemoteClient::TryReadRequest() 794a753958a7 Merge bitcoin/bitcoin#35583: test: close the listeners before terminating the event loop f6b3f2ff6b16 Merge bitcoin/bitcoin#36064: qa: Minor improvement follow-ups to 35730 6a028161dafc Merge bitcoin/bitcoin#36025: psbt: avoid duplicate taproot leaf script keys when merging 07d92a9d65aa Merge bitcoin/bitcoin#35516: rpc: preserve global xpubs and proprietary fields in joinpsbts 4375d74d24ca Merge bitcoin/bitcoin#34993: wallet: `NotifyCanGetAddressesChanged` when advancing `next_index` 290be9eafa48 qa: Minor feature_init.py improvements 6248331b295c qa: Switch to warning when skipping tests 04cf9ecee435 Merge bitcoin/bitcoin#35978: contrib/init: fix unused variables in openrc script aed80c739581 Merge bitcoin/bitcoin#36067: test: Remove `BOOST_CHECK_CLOSE` in favor of exact comparison 07ca9ba9e84a Merge bitcoin/bitcoin#36059: test: make index crash test check saved state 402f1fdae6a7 Merge bitcoin/bitcoin#36063: refactor: [test] Remove deprecated SetMockTime(i64) alias 135e05cfa073 Merge bitcoin/bitcoin#36046: fuzz: Use ImmediateBackgroundTaskRunner in process_messages 9e115edd39ff test: Remove `BOOST_CHECK_CLOSE` in favor of exact comparison 6d570415a018 refactor(qa): Move check right below related check 7e3b60584b36 refactor(qa): Simplify through using assert_raises() fad1e6bf238e util: refactor: Remove deprecated SetMockTime(i64) alias faf87c3535c5 test: refactor: Use FakeNodeClock over manual/global SetMockTime 994c17d6c0a1 Merge bitcoin/bitcoin#34697: descriptor: fix musig() duplicate key checks and doubled PSBT origin paths a1183c02aaca refactor: Extract Send() and Receive() into HTTPRemoteClient from HTTPServer 6d9b61d4f8dc refactor: Extract HTTPRemoteClient::MaybeDisconnect() from HTTPServer::DisconnectClients() 6fec8d6914bf refactor: Make HTTPRequest fields private b8cd77237b34 refactor: Make HTTPRequest::GetHeader() return saner optional type 1cb416397b7a psbt: avoid duplicate taproot leaf script keys when merging 32765aca5c34 Merge bitcoin/bitcoin#35730: http: limit connected HTTPRemoteClients a3335994a848 Merge bitcoin/bitcoin#35580: bugfix: compare non-adjusted chunk weight against block weight limit 0ea81904ebdf Merge bitcoin/bitcoin#35933: psbt: don't abort on invalid MuSig2 derivations 7ea36e985a90 test: preserve index crash test state 5aa15df60c49 test: expose missing index crash checkpoint b3ff9c4d683f iwyu: Fix warnings in `src/interfaces` and treat them as errors d564b0255f7e iwyu: Add temporary mapping to work around upstream bug 58a7869f860f Merge bitcoin/bitcoin#36051: ci: use ruff 0.16.x f5e91c6fbae7 Merge bitcoin/bitcoin#35884: util: set os-level thread names on Windows a1e271622574 Merge bitcoin/bitcoin#36045: test: avoid undersized Boost.Test signal stacks 9d0c38db7466 ci: use mypy 2.3.1 7a53beca06a8 ci: use pyzmq 27.2.0 f29f076f3c27 ci: use ruff 16 7dcb7f09ed64 Merge bitcoin/bitcoin#34075: fees: Introduce Mempool Based Fee Estimation to reduce overestimation 5e8586ec5b01 Merge bitcoin/bitcoin#36019: bench: Construct CTxOut and COutPoint in a single expression 950bdb763e17 bench: Construct CTxOut and COutPoint in a single expression bf8402c8803f Merge bitcoin/bitcoin#32958: wallet/refactor: Update SignPSBTInput to return util::Expected<void, PSBTError> and remove PSBTError:Ok 02306cc915ca Merge bitcoin/bitcoin#35161: consensus: document merkle mutation root invariant fae6665f0134 fuzz: Use ImmediateBackgroundTaskRunner in process_messages 9eba3aafa6c2 test: avoid undersized Boost.Test signal stacks 747cff842481 rpc: avoid quadratic output lookups 7f9c4e292899 doc: add release notes e18d392689da test: add mempool estimator i/o fuzz test 970f02096d37 fees: persist mempool policy estimator data 7dcb37989d25 fees: move fee_estimates.dat into fees directory 0db2b69e6db7 rpc: add verbosity option to estimatesmartfee options 06bb65730ebe fees: gate mempool estimates on recent block coverage cfe585df25c4 validation: emit block mempool removal signal from ConnectTip 0d88558f9511 fees: return mempool estimates when it's lower than block policy 56db08d5291a Merge bitcoin/bitcoin#35877: build: ci/doc win64-cross build via nix 693b1351aff4 fees: add caching to MemPoolFeeRateEstimator c9bb3df29ff9 fees: add MemPoolFeeRateEstimator class 558e26e66e02 test: cover OP_SUCCESSx bypassing the initial stack element size limit e5be0dc35e88 refactor: Make HTTPResponse a struct since all fields are public 69c61f9f2f3d Merge bitcoin/bitcoin#36034: Release: Prepare "Translation string freeze" step 87b8a4ee506e Merge bitcoin-core/gui#944: Fix out-of-bounds read in RPCParseCommandLine on empty command f9cc0c020c2f Merge bitcoin/bitcoin#36020: doc: Correct after HTTPRequest::m_client changed to weak_ptr 5a431c957d1b qt: Update `src/qt/locale/bitcoin_en.ts` translation source file 08dfaa04f4ca Merge bitcoin/bitcoin#36018: test: [refactor] Properly use BOOST_CHECK_EXCEPTION fa0fe212f52a test: [refactor] Properly use BOOST_CHECK_EXCEPTION 436921eb469a test: check joinpsbts preserves global xpubs and proprietary fields 011094b282b2 rpc: preserve global xpubs and proprietary fields in joinpsbts 367b2202a496 Merge bitcoin/bitcoin#35665: psbt: avoid duplicate global xpub keys when merging bab030a6feb9 Merge bitcoin/bitcoin#35859: wallet: use unsigned KDF iteration count 21ee7f6c00ba Merge bitcoin/bitcoin#35069: Refactor keypath parser a07f1313b145 Merge bitcoin/bitcoin#35980: contrib: reject divergent verify-commits history 32dfed44a2ae Merge bitcoin/bitcoin#36012: psbt: Remove unused `IsNull()` methods 8c366094b89a Merge bitcoin/bitcoin#35956: fuzz: scope fake clocks to target phases 4d86d9cc7ed0 Merge bitcoin/bitcoin#35968: test: sync funding block before isolating nodes 8c1d776bf2ce Merge bitcoin/bitcoin#35965: test: Tighten Coin equality and add debug output fa8762da626a build: ci/doc win64-cross build via nix fafe7205cc89 doc: Clarify that cygwin/msys2 are not tested/supported 4b991d7b5fe4 Merge bitcoin/bitcoin#34239: depends: Hash included makefiles in package checksums fe5e2a6319b8 Merge bitcoin/bitcoin#32162: depends: Switch from multilib to platform-specific toolchains 4e5327bc988b fuzz: refactor: scope fake clocks to target phases 15e5c35c4513 doc: Correct comments after HTTPRequest::m_client was changed from shared to weak pointer 1156ce675457 test: Tighten `Coin` equality and add debug output 59224b66aa1d Merge bitcoin/bitcoin#36008: wallet: WalletBatch->WriteVersion respect argument 2c16efbb7b5b psbt: Remove unused IsNull() methods dd669f40b98b util: set os-level thread names on Windows b88bffe550a3 Merge bitcoin/bitcoin#36010: test: Print os exit code on failure 0fd515bbb707 Merge bitcoin/bitcoin#36009: miniscript: remove unused context argument from ParseHexStr 15a7a4ed7c4d Merge bitcoin/bitcoin#35952: kernel: prevent dangling iterators from temporary ranges ac6b6c1f06e9 Merge bitcoin/bitcoin#35680: private broadcast: bound rebroadcast attempts to 1,000 d411bb02ff83 Merge bitcoin/bitcoin#35993: guix: build glibc with `--enable-kernel=3.17.0` fada80192bdd test: Print os exit code on failure 381c3312191b Merge bitcoin/bitcoin#36007: http: Make HTTPRequest::m_client a weak_ptr 82b3bfe38c09 Merge bitcoin/bitcoin#35797: psbt: support output metadata updates before inputs are added 681b429393e3 Merge bitcoin/bitcoin#35986: p2p: reconsider orphans when missing inputs are mined 16f4bd15bc9f Merge bitcoin/bitcoin#35954: qa: Disable Qt's glib event dispatcher for GUI tests on OpenBSD 1fdd208c1ce3 miniscript: remove unused context argument from ParseHexStr 4ca07c2fb3d0 Merge bitcoin/bitcoin#35963: doc : update cjdns docs to discourage using onlynet option 4b4ae6e37c54 Merge bitcoin/bitcoin#35995: doc: fix outdated URL in hash_tests.cpp a23df4bfa874 Merge bitcoin/bitcoin#35946: rpc: Improve some type specs for openrpc 20ad7c9eab8f Merge bitcoin/bitcoin#35955: wallet: remove orphaned GetAffectedKeys and LegacyScriptPubKeyMan declarations 979a42ec1736 http: Make HTTPRequest::m_client a weak_ptr cf36df070b4d Wallet: Check crypter return values 777aee77d120 refactor: deduplicate keypath element parsing 7d8fddfba258 refactor: define BIP32_HARDENED and BIP32_UNHARDENED constants e4d80e7001e9 test: close the loop after the network thread has completed 29fba5ddbb9e test: close the listeners before terminating the event loop bd4b1524eabf init: do not count file descriptors for HTTPServer if -server=0 b08662060db7 init: account for maximum file descriptors needed by HTTP 158efbc723d3 doc: fix outdated URL in hash_tests.cpp 9cacf677a918 rpc: add fee_rate_estimator option to estimatesmartfee ba6c61bbdd32 fees: add FeeRateEstimatorManager class 2cb6b831e030 fees: add EstimateFeeRate and MaximumTarget to CBlockPolicyEstimator 5adb2ab08433 refactor: test block policy estimator directly 9c8309a89097 test: rename policy estimator tests to block policy estimator tests e3d5ef1b5fb2 fees: move StringForBlockPolicyEstimateReason to block policy estimator 74245c20e05e fees: split wallet and estimator fee reasons ec5d19665b89 wallet: WalletBatch->WriteVersion respect argument. cc2acebefb04 http: configure simultaneous connection limit with -rpcmaxconnections b3d6d2d1a7ef http: limit connected clients to 16 86651d81971b scripted-diff: Rename nUserBind, nBind, nMaxConnections to snake_case 5548818115c0 guix: build glibc with --enable-kernel=3.17.0 f72537037d33 Merge bitcoin/bitcoin#35972: fuzz: Fix assertion in `txorphan` 4800cb7aea01 Merge bitcoin/bitcoin#35735: Add state to HTTPRequest e0992599a638 Merge bitcoin/bitcoin#35846: test: Use throwing config parser getters without fallback e5977f0b9e5b Merge bitcoin/bitcoin#35982: Update minisketch subtree to latest master fe7dbde52c9e Merge bitcoin/bitcoin#35976: test: Speedup fee estimation functional test with batching 9cc7dc50bdc9 p2p: reconsider orphans when missing inputs are mined c90c23d388f6 Merge bitcoin/bitcoin#35531: txindex: hash keys and pack positions to reduce disk usage 2dcb2c6df20b Update minisketch subtree to latest master 461e3be8d3d1 Squashed 'src/minisketch/' changes from d1bd01e189..4a179c61e3 05c36d9fadcc Merge bitcoin-core/gui#957: fix: add .dat file extension automatically when exporting watchonly 75a4e6c67881 gui: fix allow restore wallets without .dat file extension a8b582ec1d25 Merge bitcoin/bitcoin#32784: wallet: derivehdkey RPC to get xpub at arbitrary path 465bca734ebf contrib: reject divergent verify-commits history b3d1dca33882 contrib: fail on verify-commits ancestry errors d837bb38a44d contrib/init: fix unused variables in openrc script fe7d475d450b private broadcast: bound broadcast attempts per tx to 1k b3d77ea0275e test: Speedup fee estimation functional test with batching 683e05a265c8 Merge bitcoin/bitcoin#35889: rpc: avoid quadratic `gettxspendingprevout` work and preserve order 230185a5ee74 Merge bitcoin/bitcoin#35971: net_processing: remove unused code ae36e2ef798f rpc: avoid quadratic prevout resolution da1eaeb35075 rpc: preserve `gettxspendingprevout` order f98753e76210 refactor: identify prevouts by request index 221a3fe5cfbe test: cover mixed `gettxspendingprevout` order 02de12b1e614 wallet: remove remaining LegacyScriptPubKeyMan references d194be69d601 wallet: remove orphaned GetAffectedKeys declaration 01dde6b20578 fuzz: Fix assertion in txorphan dec68f997e7c Merge bitcoin/bitcoin#35852: scripted-diff: Use inline const(expr) over static constexpr in headers e95bab98f03c Merge bitcoin/bitcoin#35960: common: remove `::runtime_error` from `RunCommandParseJSON` aad830ac4a65 Merge bitcoin/bitcoin#35847: test: move more tests to `baseindex_tests` and run them for all indexes b76afff27490 Wallet: Use unsigned KDF iteration count e07d826e0ebd rpc: Fix type in ApplyTypeStrOverride 0cff3cc51879 net_processing: Remove redundant porphanTx in ProcessOrphanTx c7eacbd45b08 net_processing: remove Peer& from UpdatePeerStateForReceivedHeaders 8454fb2bd74c test: sync funding block before isolating nodes 8b5da677d7b0 common: remove ::runtime_error from RunCommandParseJSON 25bed560bed3 test: add forward-compat functional test for txindex 703304ed8c19 doc: add release notes for txindex disk usage and downgrading 8e5320a2d246 tests: cover txindex hash prefix collisions and legacy fallback b75efa19ba80 txindex: skip bloom filters and legacy lookups for new databases 004d7c098cad txindex: hash key prefixes and pack block positions 5a255970fd1b refactor: move txindex db constants and legacy key to txindex_key.h 327660134cb1 txindex: pass the full block to DB::WriteTxs 42771e79980c txindex: use a new block locator for downgrade safety 4b08baed72c4 txindex: return optional tx and block hash from FindTx fc0dcf950f97 kernel: keep range iterators tied to their owner 0936c55f626c test: characterize kernel range iterators ef501a63d9d6 consensus: document merkle mutation root invariant 11090c8bb359 Merge bitcoin/bitcoin#35951: doc: release note about I2P ElGamal sunset beefda21be3f doc : update cjdns docs to discourage using onlynet option b2c45888fde0 Merge bitcoin/bitcoin#35866: test: Verify unwelcome RPC clients are rejected before reading their requests c0792889673d psbt: update output metadata without inputs 4f5712476a3c test: characterize P2WSH miniscript output e24e8fa2a689 test: characterize PSBT output metadata 625f951ba2fc Merge bitcoin/bitcoin#35959: Update secp256k1 subtree to latest master e9ed5e83a392 Merge bitcoin/bitcoin#35605: wallet: rpc: Deprecate `removeprunedfunds` RPC 800ad9c3c0c4 doc: release note I2P ElGamal sunset 2f72123f613f Merge bitcoin/bitcoin#35867: test: classify SOCKS5 peers via getpeerinfo addrbind f464f6cd67e5 Update secp256k1 subtree to lastest master 09cc345c3e32 Squashed 'src/secp256k1/' changes from d2d04864ef..687155df6b c94074fa1b13 rpc: Surface OBJ_USER_KEYS description for openrpc c020c21d543a rpc: Handle skip type args for openrpc e33410d88841 fuzz: document arbitrary mocktimes 4c045f1a0323 Merge bitcoin/bitcoin#35945: depends, qt: Add patch for missing headers b0615672352f Merge bitcoin/bitcoin#35947: build, msvc: Update vcpkg manifest baseline 1f5c46f7ce25 Merge bitcoin/bitcoin#35931: ci: Check DLL imports of cross-built `bitcoind.exe` b42f7fade0cd descriptor: don't prepend key origins twice 7b15e2cb442c descriptor: fix duplicate check for hardened keys 1bec7fa22c9f Merge bitcoin/bitcoin#35496: kernel: add `btck_set_mock_time` for testing time-dependent paths c1967c4453b1 Merge bitcoin/bitcoin#35950: Update leveldb subtree to latest master 512dc9af1b13 Merge bitcoin/bitcoin#35930: wallet: post-#35501 cleanups in CWalletTx b970bb34d0c5 Merge bitcoin/bitcoin#33585: cmake: Use builtin support for .manifest files de2adc308a42 qa: Disable Qt's glib event dispatcher for GUI tests on OpenBSD aa0e0f793fed Merge bitcoin/bitcoin#35729: refactor: test: Unroll `&&` conditions in macros 3e76d22de258 Update leveldb subtree to latest master 9f10ef5e96d1 Squashed 'src/leveldb/' changes from a7f9bdc611..13da2d6758 2c01832f7beb Merge bitcoin/bitcoin#35493: wallet, descriptor: Fix MuSig private key completeness checks on `importdescriptors` b80cee036199 Merge bitcoin/bitcoin#35924: Wallet, refactor: Remove orphaned EraseWatchOnly function 5d051c05629d Merge bitcoin/bitcoin#35943: doc: fix dead link in txrequest.h 4ca182ca4028 doc: clarify alternate_wtxids is empty when only one witness variant fa48b5d28eb5 test: assert listsinceblock "removed" reports current canonical wtxid 9b96ee12881e wallet, test: add unit test for variant txid validation in CWalletTx deserializer 9de6543cb55f wallet: post-#35501 cleanup in CWalletTx e2bf51543ad9 build, msvc: Disable default features of the `sqlite3` package a31425610af3 build, msvc: Update vcpkg manifest baseline 757aa573c458 Merge bitcoin/bitcoin#33186: wallet, test: Ancient Wallet Migration from v0.14.3 (no-HD and Single Chain) e8cc21c57f9e Merge bitcoin/bitcoin#35925: wallet, rpc: Exclude non-owned addresses from listreceivedby* e8500cbd19db depends, qt: Add patch for missing headers 9954aa77280e http: don't parse any new requests from a client if m_req_busy = true c7db3ae1f907 test: cover HTTPRequest state machine 90676e24ad1a Add state to HTTPRequest to avoid duplicate work over I/O cycles 99497b38f6c6 cmake: Unconditionally add .rc files to sources 654a4cf5e69c cmake: Use builtin support for .manifest files 8f695379f314 cmake: Unconditionally set WIN32_EXECUTABLE target property 507e528e8450 http: reuse HTTPHeaders to parse chunked trailer 902d8908c94d http: only read one HTTPRequest at a time per client a7b0b5084a4a doc: fix dead link in txrequest.h 1d386c250f22 Merge bitcoin/bitcoin#35941: doc: remove mention of `::wsystem` 57246934e712 doc: remove mention of wsystem 5973e0758820 Merge bitcoin/bitcoin#35937: test: Append print_suppressions=0 to LSAN_OPTIONS, and suppress bitcoin-qt b6bd573eb97a Merge bitcoin/bitcoin#34794: rest: add Cache-Control headers to REST responses d055a3ab1005 test: verify disallowed RPC clients are rejected upon `accept()` 128456b62d5e Merge bitcoin/bitcoin#35260: doc: clarify test placement guidance fad9ab714b55 test: Append print_suppressions=0 to LSAN_OPTIONS, and suppress bitcoin-qt 05a7c470d28c Merge bitcoin/bitcoin#35822: fuzz: reset SOCKS5 interrupt between inputs 73a94b45459a psbt: avoid aborting on invalid MuSig2 derivations e3d1e75a519a test: characterize MuSig2 derivation aborts 1be0b46297c6 Merge bitcoin/bitcoin#35898: rpc: fix mempool entry vsize docs 5f4d5626e7f0 Merge bitcoin/bitcoin#35908: doc: Update NetBSD Build Guide 8397e09e6baa Merge bitcoin/bitcoin#35928: doc: mention -DWITH_ZMQ=ON in macOS build guide 4b4e63f28231 Merge bitcoin/bitcoin#35704: windows: remove deprecated codecvt via UTF-8 narrow APIs 67fee5bf440c ci: Check DLL imports of cross-built `bitcoind.exe` 089c883c558e test: Add coverage for listreceivedby* excluding "send" addresses 873c0548059b wallet: Exclude non-owned addresses from listreceivedby* c3945bfd2bf8 doc: use derivehdkey in multisig tutorial 3662e3366978 test: use derivehdkey in M-of-N multisig demo d9570f083835 rpc: add derivehdkey 62da9f961450 wallet: add GetExtKey helper 222855ed1129 doc: mention -DWITH_ZMQ=ON in macOS build guide aaf1548475de wallet: generalize GetActiveHDPubKeys helper 3821452c4af1 refactor: add hardened derivation helper 0ab61caafd10 rpc: ParsePathBIP32 helper e36c4b76e198 util: reject out-of-range BIP32 keypath indices ba78c31a00c9 fuzz: check ParseHDKeypath/WriteHDKeypath round-trip 8cce969085db Have ParseHDKeypath handle h derivation marker fc5307776236 test: move parse_hd_keypath test to bip32_tests dab525eb7717 key: add DeriveExtKey() helper 71c06c5cbcd5 Merge bitcoin/bitcoin#35830: fees: Return false for incompatible fee estimates 55dfc244143a Merge bitcoin/bitcoin#35915: Release: Prepare "Open Transifex translations for `v32.0`" step f11dc6170ed8 Merge bitcoin/bitcoin#35482: fuzz: exercise the transaction-handling path in process_message(s) 6f906106d73d Merge bitcoin/bitcoin#35879: ci: Fix $BASE_ROOT_DIR installation d36bf709f7f8 Merge bitcoin/bitcoin#35914: test, fuzz: Remove unused variables ed2c59ab6547 Merge bitcoin/bitcoin#35896: refactor: Default uint256::operator==, add operator<=> fae7ba9abae8 ci: Fix $BASE_ROOT_DIR installation fabe100c2b33 test: Use throwing config parser getters without fallback fa8acd57cd1b test: Write true/false values in config.ini 6304789a18f9 Wallet, refactor: Remove orphaned EraseWatchOnly function 6b6d77cc84e4 windows: remove deprecated codecvt via UTF-8 narrow APIs b388674acf06 Merge bitcoin/bitcoin#35872: rpc: avoid descriptor range counter overflow c36ffd870e8b Merge bitcoin/bitcoin#35842: rpc: Properly make RPCResult::Type::ANY non-test-only 7cb9aaaee80c Merge bitcoin/bitcoin#35759: fuzz: check http_request body matches framing 5b008514dbe2 Merge bitcoin/bitcoin#35878: net_processing: process unique tx INVs only 3175d576288f test, refactor: Remove unused `error` in `wallet_tests.cpp` 422f1bd92f15 test, refactor: Remove unused `utxo_pool` in `coinselector_tests.cpp` e550945a3941 test, refactor: Remove unused `removed_refs` in `txgraph_tests.cpp` a061b011b786 Merge bitcoin/bitcoin#35912: doc: fix stale bitcoin_en.xlf reference 950b1c09225d Merge bitcoin/bitcoin#34927: test: Check that RPCs do not time out, even under load bd01e66f0a75 Merge bitcoin/bitcoin#35885: ci: switch to a sourceware mirror for riscv fa2e76d397a4 bench: Add base_blob compare bench via uint256 97abf95f48ab qt: Update the `src/qt/locale/bitcoin_en.ts` translation source file 81fcecfe4525 Revert "ci: Temporarily remove riscv32 config from GHA matrix" b283e1751cc4 ci: use mirror for riscv submodules fa7bc26d1276 test: Check that RPCs do not time out, even under load fa2bd96cc0d4 test: Map cli CalledProcessError on server error to JSONRPCException e50f422d25f9 test, refactor: Remove unused variables in `test/rbf_tests.cpp` b7ae50e2e27e fuzz, refactor: Remove unused `header` in `p2p_transport_serialization.cpp` 3df0d067ade9 fuzz, refactor: Remove unused `random_string` in `locale.cpp` fc28914de4e1 fuzz, refactor: Remove unused `linearization` in `cluster_linearize.cpp` da58e559865e test, refactor: Remove unused `warnings` in `wallet/test/util.cpp` 4df077d7cd32 Merge bitcoin/bitcoin#35910: refactor: Remove unused newFeeRate var in ReplacementChecks e98ffd4bd82d doc: fix stale bitcoin_en.xlf reference fa9a9a82acd4 refactor: Remove unused newFeeRate var in ReplacementChecks fa588e9e0f80 refactor: Mark assertion_fail as [[noreturn]] 1278a5970d5a net_processing: process unique tx INVs only 75f585192776 doc: add release note for REST cache-control headers bbe21ac29f55 doc: document REST cache-control defaults 862a17955631 http: add no-store to dispatcher-generated error responses f32685315c2e doc: Install `pkgconf` to find `capnproto` on NetBSD 5964c7229fc2 doc: Switch `pkg-config` package to modern `pkgconf` on NetBSD 9b85c9814d1d doc: Drop GCC upgrade instructions for NetBSD ea59f1722097 test: cover v0.14.3 wallet migration 18b8afd09333 test: support v0.14.x in dumb_sync_blocks faec059dfe8b refactor: Add uint256::operator<=>() b9d573e4a959 fees: Return false for incompatible fee estimates a3ebf8ab607f rpc: fix mempool entry vsize docs c4fbd3c72114 Merge bitcoin/bitcoin#35895: refactor: Enable clang-tidy rule to reject anon namespace in header 465196d0154c Merge bitcoin/bitcoin#35630: test: Add importdescriptors rpc error test coverage fa6df14c2360 refactor: uint256::operator==() = default c940fd75145d Merge bitcoin/bitcoin#35180: coins: group private cache helpers 3db96eb5fd7d Merge bitcoin/bitcoin#35582: rpc: reject null for optional parameters fa93132d6da5 refactor: Enable misc-definitions-in-headers fa5ca877b603 refactor: Enable clang-tidy rule to reject anon namespace in header fafe5042bd1b refactor: Use C++20 std::identity over IntIdentity 28257111acf2 Merge bitcoin/bitcoin#35737: test: Move cluster_linearize.h contents into cluster_linearize namespace fac4b06e997e refactor: Use CLIENT_NAME in buildOpenRPCDoc fa3aadbc32e0 refactor: Use self.Arg<bool> in getopenrpcinfo fa1871a52816 refactor: Remove stale NOLINTNEXTLINE above GetAddressInfoBaseFields fa2264791490 rpc: Properly make RPCResult::Type::ANY non-test-only fa1242dcc022 refactor: Use std::visit in ApplyArgFallback 27b6b5a458f5 Merge bitcoin/bitcoin#35836: rpc: Remove meaningless bool fallback in FundTransaction 3ac8b806a699 test: test the result order of a multiple import request is correct e4732bf01876 test: test invalid or missing timestamp throws importdescriptors 324c231efeaf Merge bitcoin/bitcoin#35881: iwyu: Fix warnings in `src/consensus` and treat them as errors 6ed7e05e20da gui: fix add .dat file extension automatically when exporting watchonly 75183f4464bf Merge bitcoin/bitcoin#35880: fuzz: don't connman.ReceiveMsgFrom oversized msg fab74a0e922c refactor: Use C++14 digit separator for large int literals fae759be7930 scripted-diff: Use inline constexpr over plain constexpr fa74f58a2620 scripted-diff: Use inline const over (static) const fab1a62c870e refactor: Use inline constexpr for string literals in headers fa08bbed8dd2 contrib: Adjust generate-seeds.py to write inline constexpr fad753611b5c scripted-diff: Use inline constexpr over (static) const faedb52583e1 refactor: Make CFeeRate(integral) ctor constexpr 5555d5dcb559 scripted-diff: Use inline constexpr over static constexpr fa6e1a1e85e2 refactor: Remove static from constexpr functions in headers e2ab8ae55142 wallet: spkm: Only notify CanGetAddressesChanged on change 0892f16f911d refactor: moveonly: Pair CanGetAddressesChanged notifications with desc range. e6adae3db242 wallet: `NotifyCanGetAddressesChanged` when advancing `next_index` acf45c44c013 rest: add Cache-Control headers to REST responses d3cfd02bd7f8 Merge bitcoin/bitcoin#35501: wallet: store all witness variants of a transaction 0b8ffd01cde8 Merge bitcoin/bitcoin#35790: fuzz: populate wallet TXO index in wallet_create_transaction 2f52c2e8c062 Merge bitcoin/bitcoin#35886: refactor: Remove unused #include in common/system fa7304f3a5b8 refactor: Remove unused #include in common/system e7eb159a868f Merge bitcoin/bitcoin#35773: test: Suppress implicit-unsigned-integer-truncation:SaltedCoinsCacheHasher::operator() c6ef42d7dbcf Merge bitcoin/bitcoin#35205: kernel,node: add `dbcache` setter and clarify defaults f280f5eb4749 wallet: rpc: deprecate removeprunedfunds 4e8c4bc794c0 test: classify SOCKS5 peers via getpeerinfo addrbind 17c5e33e9c54 Merge bitcoin/bitcoin#35216: qa: Improve functional test support on illumos and *BSD 13b53f8bf674 iwyu: Fix warnings in `src/consensus` and treat them as errors bb19f1da19c1 fuzz: don't connman.ReceiveMsgFrom oversized msg 8a4bab8e9753 Merge bitcoin/bitcoin#35863: test: fix wrong transaction in GetP2SHSigOpCount assertion 975a314667ed Merge bitcoin/bitcoin#35832: p2p: avoid block disk reads on unnecessary requests d24610fa2c7e Merge bitcoin/bitcoin#35870: guix: move `python-minimal` to Linux GUI build b33a5b5767ef Merge bitcoin/bitcoin#35871: refactor: Annotate `MakeAndPushFeature` with `[[maybe_unused]]` 4b322989ac2d Merge bitcoin/bitcoin#34995: iwyu: Fix warnings in `src/common` and treat them as errors 75f024a84e0a Merge bitcoin/bitcoin#35875: ci: Fix NetBSD SDK download failure, Temp. remove riscv32 from GHA fa06ea42448d ci: Temporarily remove riscv32 config from GHA matrix 873550bea381 ci: verify cross-build SDK archives 2c87337efe82 ci: update NetBSD cross-build SDK 6a2de55a0d8b test: require `TryGetTotalRam()` detection cd086c16dd77 node, qt: inline `DEFAULT_DB_CACHE` 8bd9f46082df kernel: allow setting chainstate `dbcache` 8aa21e119b02 kernel, node: colocate dbcache bounds 7cfa21d60a58 scripted-diff: use `MIN_DBCACHE_BYTES` ab6343257681 common: cache total RAM as `uint64_t` 031fa402c8a2 scripted-diff: use `TryGetTotalRam` 264555af3cc2 rpc: avoid descriptor range counter overflow 143a13fb2bd1 test: characterize descriptor range endpoint 41c44f558852 node, qt: use `1_MiB` for dbcache conversions 0238aebf6190 refactor: Annotate `MakeAndPushFeature` with `[[maybe_unused]]` 1ed14c61222e Merge bitcoin-core/gui#872: Menu action to export a watchonly wallet b75eb938a041 guix: move python-minimal to GUI build 101400b28f77 guix: remove -Werror=dev e27c179db2fd Merge bitcoin/bitcoin#35869: lint: (re-)add contrib/guix for Python linting 50145f62c923 ci, iwyu: Enforce warning-free `src/common` 30f6b05857fb Merge bitcoin/bitcoin#35860: fuzz: Rework rpc fuzz target dcc2ed52b840 Merge bitcoin/bitcoin#35856: fuzz: cover the mempool interface for transaction announcement 8221d714c788 lint: document CI lief version requirement 594a02c3ae05 lint: re-add guix scripts to mypy linting e8691056c014 test: Unroll `&&` conditions in macros ddddffda3af4 doc: Add doc/release-notes-35836.md 756afe14b5c1 test: give each ValidateInputsStandardness case its own scope 5559fa464b34 test: fix wrong transaction in GetP2SHSigOpCount assertion 556988790a7f Merge bitcoin/bitcoin#35592: http: check rpcallowip immediately after accepting connection fa895bb77a8a fuzz: Rework rpc fuzz target 28641fd195db p2p: reject empty getblocktxn requests dd2561003dd2 fuzz: cover the mempool interface for transaction announcement 9871fb726cb5 p2p: reject filtered block inv early when bloom is disabled aaf941202667 refactor: split p2p_getdata.py in sub-cases 34c03075a5a0 test: run generic baseindex tests against every index type 11b3e251c488 test: make baseindex flush test chain-length agnostic 8b959f4c6ab6 test: move unclean_shutdown test to baseindex_tests 2232d6afbe21 test: move index_reorg_crash to baseindex_tests a3597e268376 test: move BuildChain helper into test mining util 954985e6a380 test: simplify blockfilter test's BuildChain helper 67efced1fc83 Merge bitcoin/bitcoin#35838: qa: Enable `interface_gui.py` on macOS 45f5609f2ed9 qa: Enable `interface_gui.py` on macOS fa7fe798c611 wallet: Remove meaningless bool fallback in FundTransaction 9611a356035b Merge bitcoin/bitcoin#35828: util: Make LineReader consistently use string_view 6e2962e48cb5 Merge bitcoin/bitcoin#35753: kernel: handle null mempool on chainstate deletion 87bc4c74c4df Merge bitcoin/bitcoin#35787: init, rpc: ignore empty addnode values 67998e15c8dd Merge bitcoin/bitcoin#35553: test: Add missing test case for getdata requests from blocks-only peers 9b38d077f894 Merge bitcoin-core/gui#953: Adds option to not load the wallet after migration 146988ef6c53 Merge bitcoin/bitcoin#35551: test: add interface_gui.py to test bitcoin-qt startup 7e5952b0aa04 Merge bitcoin/bitcoin#35821: guix: followups to #35537 683ae4c520b1 guix: consolidate config flags 665f11d04ac0 guix: consolidate gcc toolchain setup 288f76ed0fcb guix: consolidate mingw-w64 toolchain setup cc9b0f2266d9 guix: consolidate LLVM toolchain setup b12a70f330d0 guix: turn linux/win linker warnings into errors fd7d4f29704c Merge bitcoin/bitcoin#35795: build: set CMAKE_VISIBILITY_INLINES_HIDDEN in REDUCE_EXPORTS 8ecbe270f0de Merge bitcoin/bitcoin#35606: script: qa: Improve `Key::Fingerprint` type safety a9d181f2d353 Merge bitcoin/bitcoin#35084: ipc: Add nonunix platform support 6573196e63bf doc: Release note for export watchonly wallet gui action cb51f97f6c59 gui: Menu action for exporting a watchonly wallet 4cea59573c83 add release notes 492a715d7841 gui: Adds option to not load the wallet after migration dff44e4c8f30 util: LineReader - Drop support for raw std::byte spans 5d5cdcd79d4c util: Make LineReader consistently use string_views e8eaa80ce295 util: LineReader - Don't include newline and acknowledge single-char \r 5907a5c7dc22 gui: Add ExceptionSafeConnect that takes a lambda 7dea464d6b51 Merge bitcoin/bitcoin#35692: addrman: remove unreachable tried-collision branch a2aab6df97d9 Merge bitcoin/bitcoin#35810: guix: Drop unused `(guix licenses)` import from `manifest_build.scm` 77440814bf2c fuzz: reset SOCKS5 interrupt between inputs 90ce21e21d09 rpc: reject empty node argument in addnode 69465de4470d init: ignore empty addnode values e75b76b12c5d Merge bitcoin/bitcoin#35261: guix: disable LTO in GCC a92e93429ee3 guix: Drop unused `(guix licenses)` import from `manifest_build.scm` 5be248341a8e bugfix: compare real chunk weight against block weight limit fc9879086990 test: `TestChunkBlockLimits` uses incorrect weight for comparison e34b8d5a7dcd Merge bitcoin/bitcoin#35794: doc: Discourage adding AI agents as commit (co)-authors b33a7fcd7bd8 Merge bitcoin/bitcoin#34628: p2p: Replace per-peer transaction rate-limiting with global rate limits 6b059d9dbdbd Merge bitcoin/bitcoin#32800: rpc: Distinguish between vsize and sigop adjusted mempool vsize 11ebbd907217 Merge bitcoin/bitcoin#28463: p2p: Increase inbound capacity for block-relay only connections 3f313a774bec build: set CMAKE_VISIBILITY_INLINES_HIDDEN in REDUCE_EXPORTS 3a2c52f9d70d Merge bitcoin/bitcoin#35792: refactor: Make all `const static` class members `constexpr` f5d7cc66ecba doc: Discourage adding AI agents as commit authors 05c35c402cc5 refactor: Make all `const static` class members `constexpr` c11508406e6e doc: Update docs that refer to -maxconnections 69ce0dba2ae4 test: add test that EvictTxPeerIfFull only evicts tx-relaying peers 3ed7f064180f p2p: trigger possible eviction if we support bloom filters and change a peer to tx relay 0bd3d3dfa562 init: make inbound tx relay percentage configurable cc59aee196e2 test: add functional test for inbound maxconnection limits 1b76e0473647 net: increase inbound capacity for block-relay-only connections baa5a2ce43a8 guix: pass --disable-tm-clone-registry to base GCC 9c2589630f05 guix: mirror some arguments from linux-gcc to mingw-w64-gcc e0b8fbde8973 guix: disable-nls in *-base-gcc 7dc87f8e1e29 guix: disable-lto in *-base-gcc 9ed3d6ef2a2a guix: modernise style in *-base-gcc 1eac6a728bfc fuzz: populate wallet TXO index in wallet_create_transaction 610dd320d1a8 Merge bitcoin/bitcoin#35783: chainparams: remove my testnet3 seed afa5e46bbc6d Merge bitcoin/bitcoin#35076: doc: clarify pruning impact on wallet sync 26b730cdbf2c Merge bitcoin/bitcoin#35320: key: validate BIP32 seed length in CExtKey::SetSeed edf4b807f051 Merge bitcoin/bitcoin#35781: Update secp256k1 subtree to latest master 774d11c58f22 Merge bitcoin/bitcoin#35664: test: add CLTV and CHECK(MULTI)SIGVERIFY failure-path vectors to script_tests.json 526673487cee Merge bitcoin/bitcoin#34683: rpc: support a formal description of our JSON-RPC interface 290cb2f17ef6 Merge bitcoin/bitcoin#35775: scripted-diff: Use C.UTF-8 locale in Guix scripts d472a7798ac1 Merge bitcoin/bitcoin#32764: guix: Build for macOS using LLVM toolchain only 9755d33390d8 Merge bitcoin/bitcoin#34808: cmake, translation: Use native Qt TS file as source for translations on Transifex 51143291a6c5 Merge bitcoin/bitcoin#35782: doc: fix outdated i2p URLs in comments 2cb3bfa8df7c scripted-diff: Use long form of shell options in Guix scripts 711eb10f08bc guix: Add copyright headers to Guix scripts 7295b8be704a chainparams: remove my testnet3 seed 419f7427eee2 doc: fix outdated i2p URLs in comments a33f240524da Squashed 'src/secp256k1/' changes from bd0287d650..d2d04864ef c26d4e2d6f03 Update secp256k1 subtree to latest master 22a03ca69443 Merge bitcoin/bitcoin#35694: clusterlin: minor SFL optimizations 7b6f9ba7bad1 Merge bitcoin/bitcoin#34672: mining: add reason/debug to `submitSolution` and unify with `submitBlock` 5311b15727f2 Merge bitcoin/bitcoin#33014: rpc: Fix internal bug in descriptorprocesspsbt when encountering invalid signatures c9cedebfffbc coins: group private cache helpers 8a90c7cd9739 guix: Build for macOS using LLVM toolchain only db74d3390a39 doc: clarify test placement guidance d3d74e701f76 ipc, refactor: Update mp::g_thread_context references 80f831494e53 guix: Fix `glibc` version in comment 8916f7967e10 scripted-diff: Use C.UTF-8 locale in Guix scripts a2e074d66ac1 Merge bitcoin-core/gui#951: test: Nudge toward QT_STYLE_OVERRIDE=fusion on macOS 6ced9ad782b8 Merge bitcoin/bitcoin#35770: net: Simplify `AddressPosition` comparitor b8844d3df759 Merge bitcoin/bitcoin#35766: p2p: Assume v2transport for addresses from seeds fa7f55378179 test: Suppress implicit-unsigned-integer-truncation:SaltedCoinsCacheHasher::operator() 075e7f421876 net: Simplify `AddressPosition` comparitor fa0c8337a8d4 test: Nudge toward QT_STYLE_OVERRIDE=fusion on macOS faa50c08b17b refactor: Run clang-format on qt test_main.cpp bc49bd154a31 Merge bitcoin/bitcoin#35709: depends: Update Qt to 6.8.4 efa1800a885c Merge bitcoin/bitcoin#35769: depends, zeromq: Apply upstream patch fc4ceda8b610 Merge bitcoin-core/gui#949: Fix `-Wsfinae-incomplete` warnings when building with GCC 16.x 559d042ba256 Merge bitcoin/bitcoin#35736: bitcoin-util: replace netmagic command with getchainparams command 8f2ed31f7023 Merge bitcoin/bitcoin#35767: fuzz: Avoid dangling prevoutfetch threads after AFL fork a31c30290d4c Merge bitcoin/bitcoin#35746: ci: Test build directory path with spaces e446ea09c4d3 depends, zeromq: Apply upstream patch 87b080fe2b66 fuzz: reset the reused mempool in process_message(s) d522fd319636 fuzz: prepare deterministic mempool rebuilds b11456386b26 fuzz: let the test input toggle IBD in the p2p fuzz targets 2a29cee68438 test: add helper to reset chainman and mempool 2a4ef42d34ed fuzz: share a single FakeNodeClock in the chainman-resetting fuzz targets 32eb52100296 Merge bitcoin/bitcoin#35215: coins: use SipHash-1-3-UJ for CCoinsMap keys 883ef1d85d74 Merge bitcoin/bitcoin#35727: blockencodings: fix extra transaction count f3f302150b5f ci: Put space and non-ASCII char in `BASE_BUILD_DIR` a7e980af31b9 build: Quote host paths in NSIS installer template faada35f9c09 fuzz: [refactor] Use 100'000 digit separator in __AFL_LOOP cf0f2aeae009 p2p: Assume v2transport for addresses from seeds fae067ec4a40 fuzz: Avoid dangling prevoutfetch threads after AFL fork 7e1a750d45d9 guix, refactor: Use `target` variable instead of hardcoded value de9b436ba365 depends: Switch from multilib to platform-specific toolchains d673ca765a5a Merge bitcoin/bitcoin#35537: guix: split builds into Linux, Linux GUI and macOS/Windows b36c2d78a3ad Merge bitcoin/bitcoin#35490: test: cover unused mempool space in coins cache limit 7502b9ddba74 fuzz: check http_request body matches framing d1d85263f8eb Merge bitcoin/bitcoin#35681: test: cover disconnect on private broadcast peer with relay=false 4906594a3844 Merge bitcoin-core/gui#950: qt, test: Run GUI tests on macOS with `minimal` QPA plugin e0c196f9c11c Merge bitcoin/bitcoin#35721: lint: drop most remaining default Ruff rule ignores fd59d68c2629 qt, test: Enable tests on macOS with `minimal` QPA plugin c8b2aeb2263c qt: Avoid implicit `NSApplication` instantiation 006f8f7d49a3 Merge bitcoin/bitcoin#35090: fuzz: add p2p_private_broadcast harness 51d36dfd076a qt: Fix `-Wsfinae-incomplete` warnings when building with GCC 16.x 0b0785daa00b guix: split macOS and win builds 008a3e29c884 guix: split builds into Linux(gui) and macOS/Windows a99b27f19209 validation: handle null mempool on delete a3b5dc057236 cmake: Add `GenerateWindowsInstaller` script 3bfdcbd7ee49 coins: reuse cache hasher for txid set 2beab94896a3 coins: use SipHash-1-3-UJ for `CCoinsMap` 7ff55cc6500e bench: add fixed-width SipHash benchmarks 3aea85411f61 test: add SipHash-1-3-UJ coverage a0ccd4ad1715 crypto: add fixed-width SipHash-1-3-UJ c2d7931b5c8b crypto: add generic SipHash-1-3-UJ 25bfca06d669 refactor: simplify adding SipHash-1-3-UJ af50ba8500a8 test: add shared SipHash vectors fa5cbb890971 uint256: Workaround GCC-14 stringop-overread bug in Compare 18c05d93016b Merge bitcoin/bitcoin#35590: test: wallet: BnB incomplete result on attempt-limit success 21b4b790e488 test: Move cluster_linearize.h contents into cluster_linearize namespace b56b66fc64be Merge bitcoin/bitcoin#35679: fuzz: Remove unused `DeserializeFromFuzzingInput` params overload 6ee05c4b188c test: wallet: BnB incomplete result on attempt-limit success 6aa5d8d9481f blockencodings: fix extra transaction count be4e64d9e405 test: characterize extra transaction miscount 2d3f72fd3fa4 ipc, refactor: Update mp::SpawnProcess call 7298281ba8df bitcoin-util: replace netmagic command with getchainparams command 9d6ba4b3b572 Merge bitcoin/bitcoin#34514: refactor: remove unnecessary `std::move` for a few trivially copyable types ca9ffb8e1238 rpc: add OpenRPC discovery alias 6c9d76d58942 doc: release note for alternate_wtxids in gettransaction 99bdcb064c2d test: compat, ensure downgrade preserves tx witness variants ef2afc6a0a3c test: Test for wallet txs with alternate wtxids 2d55c7a74dde wallet: Show alternate wtxids in gettransaction 0b1af01bd442 wallet: Replace CWalletTx::SetTx with Update 56cf27db4dc0 wallet: Store all witness variants of a transaction 798ba6d04faa wallet: Make CWalletTx::tx private and use CWalletTx::GetTx to access 72ebdd6364c7 wallet: Remove unused CWalletTx CopyFrom and copy constructor 19af439bdf36 wallet: Deserialize directly in CWalletTx's ctor afab8d4225c7 fuzz, refactor: Remove `Serialize` overload efa7f8c14376 fuzz: Remove unused `DeserializeFromFuzzingInput` params overload 6eca11175be6 lint: remove E731 Ruff ignore b52454538b08 lint: remove E712 Ruff ignore e9f19815caa3 ipc, refactor: Add Stream type alias and use it 3859805f05e6 ipc, refactor: Add SocketId type alias and use it 2ee9b69c7a1f ipc, refactor: Add ProcessId type alias and use it 344979714189 ipc: Avoid 'unistd.h' error with MSVC dbcc192dce61 ipc, refactor: fix include order 7c86d4834ed2 ipc, refactor: use native path separators in test 00287b9a3404 ipc, refactor: Change Protocol class field order 33d37f3c35ef ipc, refactor: Drop connect/listen/serve exe_name parameters 794940469e77 ipc, moveonly: combine ipc_test.cpp and ipc_tests.cpp efb4eae33861 clusterlin: avoid recomputing intersections in MergeChunks 4b91ad149f00 clusterlin: reserve the suboptimal-chunk queue up front e6ca996255bb clusterlin: avoid heap allocations in GetLinearization 226e6388b7fd depends: Update Qt to 6.8.4 fef99e6563ae qt: fix out-of-bounds read in RPCParseCommandLine on empty command 349c72ee00a0 net_processing: Drop unnecessary txid arg from InitiateTxBroadcastToAll 12b0dc33c4af doc: Add release note for -txsendrate etc 5cde66341a66 tests: basic functional test for tx rate limiting 4842903ac122 rpc: report -txsendrate and bucket info via getnetworkinfo 74a47a520713 init: add -txsendrate configuration parameter 6307bd034bfb net_processing: Provide a 30bpm heartbeat log while inv backlog is in use df31ee57aaf5 net_processing: add a global delay queue for sending txs 7927650e56d2 util/tokenbucket.h: Provide a generic TokenBucket class 749bb447f819 txmempool: Drop CompareMiningScoreWithTopology e1b7490fbc91 net_processing: Replace CompareInvMempoolOrder 6cfc65d2103e txmempool: Add ExtractBestByMiningScoreWithTopology 026f70e05f96 net_processing: Remove per-peer rate-limiting 46c8c471dcf5 net_processing: bump last_inv_sequence for bip35 messages explicitly 5d57f2cefee2 test: cover unused mempool space in coins cache 1fc9277a1c13 test: cover disconnect on private broadcast peer with relay=false bc7d9050467f addrman: remove unreachable tried-collision branch 0390338692a7 test: check MuSig import private key warnings 5e62fbf09c01 wallet: check descriptor private key completeness on import cd8d01bf47a2 descriptors: require complete MuSig private keys 55d3cd51a48d doc: add release note describing change for forbidden clients d1ed2a6e25d7 http: check rpcallowip immediately after accepting connection d24d3cbad010 fuzz: add p2p_private_broadcast harness c4068cf37b66 test: add negative zero CSV failure script test vector 37edf0e2338e test: add CHECKLOCKTIMEVERIFY failure-path script test vectors 29b124416e42 doc: add release notes for 32800 5d25a0c28d19 rpc: add `vsize_adjusted` field to getrawtransaction output for mempool transactions eaef8d31118d rpc: add `vsize_adjusted` and `vsize_bip141` field to mempool-related RPCs 6d387af562fc psbt: remove write-only global xpub tracking set 3b7051c7e338 test: check combinepsbt with conflicting global xpub origins 7c632c0e2a2e psbt: avoid duplicate global xpub keys when merging a86a96d17b37 test: add CHECKSIGVERIFY/CHECKMULTISIGVERIFY failure script test vectors 07fb58b9ef25 test: Test a locked wallet rejects an empty importdescriptors request aeca0610865e rpc: reject null for optional parameters f4a6d079c42b qa: Support `get_bind_addrs` and `feature_bind_extra` on illumos 5e96a8fd5acf doc: Add `lsof` to Test Suite Dependencies on NetBSD 5d01aa4772a4 qa: Ignore `lsof` warnings on NetBSD 70352fda0385 qa: Strip prefix length from NetBSD `ifconfig` output 1c1735567e2a doc: Add `lsof` to Test Suite Dependencies on FreeBSD 4cb7f39c2ceb qa: Drop OpenBSD from supported platforms in `get_bind_addrs` function 8a982eea8540 qa: Add `skip_if_no_lsof_on_nonlinux` helper and use it where needed 7e973cce52ca depends: Make tarball creation from local directory reproducible e5b7785447fc test: wallet: resend: avoid internal behavior via removeprunedfunds c9a70f933872 script: qa: Improve Key::Fingerprint type safety aa01721c8994 test: add interface_gui.py to test bitcoin-gui startup via RPC ef0676f40077 rpc: factor getaddressinfo embedded field docs 1fb6b6056093 test: add functional test for getopenrpcinfo 672dd42d1402 rpc: add getopenrpcinfo command d5e64b01e1bf doc: note -blocknotify is not run during IBD/reindex in help text f5116c587f7a rpc: add placeholder annotation for deprecated params 26c221a980dd rpc: expose RPC metadata for introspection 6a1a66c180cb rpc: render Type::ANY in help text instead of aborting 06de34a0333e rpc: erase empty map entry in removeCommand d4d64ae73938 rpc: add missing string_view include to server.h 278710a88d8f test: Add missing test case for getdata requests from blocks-only peers 156f2c6c49d6 kernel: add `btck_set_mock_time` for testing time-dependent paths 75929b11edb4 doc: add release note for submitSolution IPC changes ed75d70fdb82 refactor: centralize SubmitBlock result handling cbaa1696f374 mining: add reason and debug output to submitSolution 83f3bc002d08 mining: clarify SubmitBlock result handling 87bca1c2adba net: add options to AttemptToEvictConnection 2cf9d79d84cb key: validate BIP32 seed length in CExtKey::SetSeed 3e8e21b2efce txgraph: avoid moving primitive members d9f94aa882ae rpc: avoid moving RPC enum types b67baed4e7e4 coins: avoid moving `COutPoint` values 7e19ce200b2e rpc: Fix descriptorprocesspsbt internal bug on invalid signatures 51ee8ca1683c doc: clarify pruning impact on wallet sync 6cca38e2b929 refactor: remove unused PSBTError::Ok 3660678b953c refactor: SignPSBTInput now uses util:Expected ec61a1af6214 depends: Hash included makefiles in package checksums a434d6602509 cmake, translation: Specify English as target language explicitly 4097d6d968e8 cmake, translation: Sort messages within contexts alphabetically 312ab8ab0a8e cmake, translation: Skip source locations in TS files 4f553bd0da25 cmake, translation: Remove TS to XLIFF conversion 8c30055458b4 translation: Switch to Qt TS source file git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: e8a8daf3fad1043b082d4728886c481b658147d3
…acer Declare the btck_script_trace_* and btck_script_eval_stack_* API added in bitcoin/bitcoin#35641, which invokes a globally registered callback on entry to script evaluation, once per decoded opcode and on exit. The three new opaque handles (btck_ScriptTraceFrame, btck_ScriptEvalStack and btck_ScriptEvalStack_item) are all views owned by the kernel, so none need a destroy function. btck_ScriptTraceCallback is declared as a bare function pointer rather than an Option, matching btck_LogCallback, since the parameter is marked BITCOINKERNEL_ARG_NONNULL(1).
Bitcoin core gates the script tracer behind ENABLE_SCRIPT_TRACE, which defaults to OFF. Add a script-trace cargo feature that passes -DENABLE_SCRIPT_TRACE=ON to the cmake configure step so consumers can opt into the trace hooks without patching the build. Off by default, matching upstream.
Wrap the btck_script_trace_* and btck_script_eval_stack_* API in a ScriptTracer RAII handle that unregisters on drop. Frames arrive as ScriptTraceFrameRef and are valid only during the callback. The extern "C" shim catches unwinds, and a static rejects a second registration, which the kernel would otherwise accept silently. Gated behind the script-trace feature, which builds the kernel with -DENABLE_SCRIPT_TRACE=ON; without the hooks the API would compile but do nothing.
Move verify_test out of tests/test.rs into tests/common so it can be shared and add tests/script_trace.rs which registers a trace callback, verifies a P2PKH spend and asserts the epxected frames are captured. Gated behind the script-trace feature.
Register a tracer over two P2PKH verifications, one valid and one with a corrupted pubkey hash, printing the opcode, stack and altstack at each step. The failing case ends with SCRIPT_ERR_EQUALVERIFY.
…8aedda9e983 38aedda9e983 test: add kernel tapscript v2 evaluation coverage 7d10a1c7a3c2 kernel: expose tapscript v2 script evaluation 4d9d46470a04 script: extract tapscript v2 witness execution 16c0ca94bf8f kernel: add varops to ScriptTraceFrame in Kernel API 599682f1815f kernel: add varops to script tracer 01d61cb08ebd script: extend trace hooks to tapscript v2 evaluation 231b0b2c80d7 kernel: Add script tracer 82cfa2cd9c47 bench: add BIP 440 varops calibration tool a87b56a1fdae fuzz: add tapscript v2 and Val64 targets b45d72f04a78 rpc: report script restoration deployment 9afee38c25c0 test: add tapscript v2 functional coverage 133151204f20 test: add BIP 440/441 unit coverage a5a612b4bb3a script: support tapscript v2 in signing and utilities 0575a794c6b7 script: implement tapscript v2 evaluation 7be8cda33f5d consensus: add BIP 441 script restoration deployment ecf3a0eb3e49 script: copy EvalScript for tapscript v2 004f8a6fc936 script: plumb transaction-wide varops budgets cf43ac7d1f77 script: define tapscript v2 limits and opcode classification ecd26db635fe script: add size-accounting stack for tapscript v2 ecc7779e4f74 test: add Val64 unit coverage 5c526ff67219 script: add Val64 for BIP 441 arithmetic b6f80778126e script: define varops budgets and costs ced4c6e6ab47 Merge bitcoin/bitcoin#36321: net: cast vector size to avoid overflow, truncation, sign change e7a18350967f Merge bitcoin/bitcoin#36235: ci: fail iwyu job on compiler errors instead of silently logging them 05bc2f53ce0c Merge bitcoin/bitcoin#36024: ci: Make `test_bitcoin-qt.exe` output visible ed7dd7cf4e15 Merge bitcoin/bitcoin#34371: wallet: allow importprunedfunds for spending transactions f80aaf4bd7c6 Merge bitcoin/bitcoin#29278: Wallet: Add `maxfeerate` wallet startup option e19f83e944e9 Merge bitcoin/bitcoin#35984: sign: skip signing SIGHASH_SINGLE inputs with no corresponding output ab8033566757 Merge bitcoin/bitcoin#36135: fuzz: test HTTPRequest state machine in http_request 65e075f89fdd Merge bitcoin/bitcoin#35696: i2p: update leaseset encryption types d26f19c77c7b Merge bitcoin/bitcoin#35948: init: correct first-run disk space estimate 90374132737e Merge bitcoin/bitcoin#36335: Remove my key from SECURITY.md f6b19b190b2e Merge bitcoin/bitcoin#36322: init: fee estimates can lag behind the chain after restart 5820537e1b4b Remove my key from SECURITY.md da03790dbb11 Merge bitcoin/bitcoin#36324: test: Fixup MAX_BODY_SIZE http throttling test 37969fc15211 Merge bitcoin/bitcoin#36312: net: don't discourage private broadcast peers e8e7e91a1144 Merge bitcoin/bitcoin#36284: wallet: don't double discard output groups with avoidpartialspends 8c27c3852641 init: drain callbacks before saving fee estimates 08729e6ef9c9 test: characterize fee callback loss at shutdown 308cd670195d net: cast vector size to avoid overflow, truncation, sign change bfdcd9797cd1 Merge bitcoin/bitcoin#35890: doc: use overwrite (>) instead of append (>>) for one-shot PSBT files in offline-signing-tutorial.md de9f42c497df Merge bitcoin/bitcoin#36316: ci: use POSIX threads for Nix Windows builds fa2c62036b1d test: Fixup MAX_BODY_SIZE http throttling test 5c726f2058a4 Merge bitcoin/bitcoin#35675: mining: add block template manager 26241482e530 Merge bitcoin/bitcoin#35923: mempool: count unbroadcast txids in memory usage a632d4f697f3 Merge bitcoin/bitcoin#35177: test: use MiniWallet for getblockstats test data generation be5d0b5503fa Merge bitcoin/bitcoin#35301: Silent Payments: Implement bip352 (take 2) b3f846ec3e5c Merge bitcoin/bitcoin#35440: wallet: check descriptor cache xpub length before decoding dc3cd1969ed3 Merge bitcoin/bitcoin#35809: contrib: add deterministic fuzz coverage mode 81e2de897dbc Merge bitcoin/bitcoin#35893: test: cover submitpackage other-wtxid for same-txid-diff-witness eab6630addc3 net: don't discourage private broadcast peers 31754523cd81 Merge bitcoin/bitcoin#36309: private broadcast: clarify claims, mark as experimental 9fd18aedb088 ci: print Windows cross compiler thread model 1d59d5ad2550 ci: use POSIX threads in Nix Windows cross shell e3ee0ebd89e9 tests: add BIP352 test vectors as unit tests f133d1373af6 common: add bip352.{h,cpp} secp256k1 module 96d487c11e8f ci: raise BuildKit step log limit 44997c391afc Add "sp" HRP 356c91f6ae51 crypto: add KeyPair::GetSecpKeypair 2b95b45a9abd Merge bitcoin/bitcoin#35813: wallet, rpc: Add listrawtransactions RPC 71c30b608382 Merge bitcoin/bitcoin#27052: test: rpc: add last block announcement time to getpeerinfo result d36f4a1788da Merge bitcoin/bitcoin#36155: doc: remove json quoting from gettxoutsetinfo and getblockstats cli examples b7211ba80cde Merge bitcoin/bitcoin#34717: p2p: remove m_getaddr_sent 7ee3d622e5fa Merge bitcoin/bitcoin#35752: wallet: make encryption state updates atomic f41372998377 private broadcast: mark feature as experimental 2630d8e6c9d6 doc: scope claims about private broadcast feature 248ce46faf70 Merge bitcoin/bitcoin#35619: test: ExtendedPrivateKey follow-ups 995da8678a02 Merge bitcoin/bitcoin#36302: ci: simplify macOS codesign check db7ec4fb9762 refactor: (de)serialize CExtKey/CExtPubKey through streams cb69853fc160 wallet: check descriptor cache xpub length before decoding f86cbf53eb3e Merge bitcoin/bitcoin#36310: rpc: clarify that `getaddrmaninfo` counts unique addresses bbc40ede1ba6 Merge bitcoin/bitcoin#36261: test: cover PSBT unknown field merging f839ee1afb0f Merge bitcoin/bitcoin#35887: ipc: use std::optional for checkSpawned(), add tests and rename arg -ipcfd to -ipcchild dac53c585b6a Merge bitcoin/bitcoin#31888: contrib: Support re-writing linearize-data dumps 0d34b6e9287f rpc: clarify that getaddrmaninfo counts unique addresses 4ecbc82d412f Merge bitcoin/bitcoin#36278: Update minisketch subtree to latest master 622817f097d6 ci, iwyu: fail job on compiler errors instead of ignoring them 5ca3773414df Merge bitcoin/bitcoin#36298: Update crc32c subtree to latest master 5945cb83ddcf contrib: add deterministic fuzz coverage mode 69ad2a67f26c Merge bitcoin/bitcoin#36283: kernel: expose transaction version 716e8605e5c8 ci: simplify macOS codesign check bb5296576e8f Merge bitcoin/bitcoin#36206: build: drop use of `OBJC_OLD_DISPATCH_PROTOTYPES` 170d37983c7a Merge bitcoin/bitcoin#36198: http: Add missing LIFETIMEBOUND annotations c08489fb2741 Merge bitcoin/bitcoin#36288: build: Revert remove `cmake/script/CoverageFuzz.cmake`" 4a583f38ef2f Merge bitcoin/bitcoin#36230: wallet: Improve `HasWalletDescriptor` performance and other canonical descriptor string followups 5f05d8c5f6dd Merge bitcoin/bitcoin#36297: rpc: Correct invalid OpenRPC defaults b7f740c594ba rpc: Correct OpenRPC default metadata 2c8372db1131 Update crc32c subtree to latest master 5181c61d734f Squashed 'src/crc32c/' changes from efb8ea04e4..60bcf13edf 83434f7683e4 kernel: expose transaction version 7c311f5c6c3e doc: Add release notes for listrawtransactions b377786df14e test: Add functional test for listrawtransactions 605c4fd3aee0 wallet, rpc: Add listrawtransactions RPC ba6c179ba07c wallet, rpc: allow omitting parent_descs from TransactionDescriptionString d48e76e689bb Merge bitcoin/bitcoin#36286: crypto: Fix MuHash3072 division by itself 719324977a41 test: Check that ineligible output groups are discarded only once 6d2414542b86 wallet: reuse unlock and passphrase change errors 593554622e2c wallet: return passphrase errors with Expected f949b3ba2ad7 wallet: publish descriptor keys after writes e3712b7d492f test: characterize descriptor insertion failure bd558107784c wallet: abort failed descriptor key erases 537e79191585 test: cover encrypted descriptor key insertion d8a6f5e48d6b wallet: abort failed descriptor key writes 14ce3fdb493a test: characterize descriptor key failures 5bc0be16fe4d wallet: reject failed passphrase changes ee6d45a07e3a test: characterize passphrase write failure 2daa2f94f4a2 wallet: restore lock state before re-encryption 8b23fa47737a wallet: abort failed encryption transactions e6c374d30201 test: characterize encryption transaction failures 70381010c0af refactor/test: add wallet failure injection 0e9018e8b656 Merge bitcoin/bitcoin#36249: net, rpc: Asmap version improvements/follow-ups 61edcf925325 test: Add 31.1 to wallet back compat ebf2f69ee819 test: Simplify miniscript descriptor check in wallet back compat f6cbcfd98a00 wallet: Document WalletDescriptor::UpdateFrom f0f6dce84963 descriptor, doc: Clarify miniscript CompatDescriptorHash 405b1d6055e7 descriptor: Explicitly handle use_apostrophe cases 64abb3e8d361 wallet: Compare descriptors by hash of canonical string bb5e8320d76f wallet: Make WalletDescriptor's descriptor const 4cc00f7bc04b wallet: Remove WalletDescriptor's default constructor dc3e2bc6df68 wallet, rpc: extract PushTxAmountAndFee/PushTxDecoded helpers b388f9bd0d2b crypto: Fix MuHash3072 division by itself 4f624bb82ddf Revert "build: Remove `cmake/script/CoverageFuzz.cmake`" ad97933af248 Merge bitcoin/bitcoin#36285: refactor: Use static const over inline const to work around ld64 bug a604a7647588 Merge bitcoin/bitcoin#36282: Update leveldb subtree to latest master fa8fefb29b6c refactor: Use static const over inline const to work around ld64 bug 2bbbeaa663ec Merge bitcoin/bitcoin#34861: wallet: Add importdescriptors interface 20307f0ac0e1 wallet: don't double count discarded output groups with avoidpartialspends 7528f799d99d Update leveldb subtree to latest master 4be88b9bce45 Squashed 'src/leveldb/' changes from 13da2d6758..53a1914e00 749bd10fdf01 Update minisketch subtree to latest master fcb2d832b2d9 Squashed 'src/minisketch/' changes from 4a179c61e3..a12f5de1c9 21e4ea8134d8 test: cover PSBT unknown field merging 59f7f3d07d95 build: drop use of OBJC_OLD_DISPATCH_PROTOTYPES b82158554372 Merge bitcoin/bitcoin#33593: guix: Use UCRT runtime for Windows release binaries 0b353a9e872e netgroup: Cache asmap version fb68c27002a7 Merge bitcoin/bitcoin#36260: torcontrol: Use reconnect backoff after dropped connections 7dedc4545a49 Merge bitcoin/bitcoin#36256: guix: Update osslsigncode to 2.14 a687188101af Merge bitcoin/bitcoin#36160: refactor: Minor improvements to HTTP unit tests 651e44f32797 Merge bitcoin/bitcoin#36194: kernel: expose block header Merkle root d32a515fb0bb Merge bitcoin/bitcoin#34566: feature: Use different datadirs for different signets 59a465ce3782 guix: Validate codesigned windows binaries 66eeac216ad5 guix: Use osslsigncode 2.14 4556ef626754 torcontrol: Apply reconnect backoff after dropped connections 57721f8074c2 Merge bitcoin/bitcoin#36253: fuzz: Use `LIMITED_WHILE` in `connect_block` dadca55f60ad Merge bitcoin/bitcoin#36251: rest: add `generated` and `height` to spenttxouts JSON de394ad3b739 Merge bitcoin/bitcoin#36207: kernel: add wtxid accessor f69e56bc1c43 [doc]: add release notes 40ab7aa90de5 [wallet]: warn when `-maxtxfee` conflicts with `-minrelaytxfee` df1feeb487dc [wallet]: enforce `-maxfeerate` on wallet transactions d2c832e9e79d [util]: add a new transaction error type 633c08d3f7af [node]: update `BroadcastTransaction` to check fee rate limit 7bfce65801bf [wallet]: add `maxfeerate` wallet startup option 607568f2b002 [wallet]: update `max_fee` to `max_tx_fee` 6b913b6224bd doc: add missing verb to make sentence readable a9c39696f4be scripted-diff: rename `m_default_max_tx_fee` to `m_max_tx_fee` 16278c28166b kernel: expose block header Merkle root 51ddab532cb3 Merge bitcoin/bitcoin#35819: test: add coverage for untested descriptor parse error paths 2c249dbdf5c9 wallet: Add an importDescriptors() interface for the wallet 3be5f401370e wallet: add CheckDescriptorRangeBounds 43bba1ed74f8 kernel: expose transaction witness presence 31224d068077 kernel: expose transaction wtxid a9cd985d0a54 wallet: Move ImportDescriptor and ProcessDescriptorsImport to imports.cpp c9650d8f0e2f wallet: rename ProcessDescriptorImport to ImportDescriptor and add ProcessDescriptorsImport a40ee4ec2659 wallet: rpc: refactor: ProcessDescriptorImport returns ImportDescriptorResult 48d3d717fb6e wallet, util: Add HandleWalletErrorCode 04c73a91d2cc wallet: Add ImportError struct and new WalletError codes 975215618505 wallet: rpc: refactor: Extract UniValue processing from ProcessDescriptorImport f1f61af35727 wallet: Add ImportDescriptorRequest structs 7375124f4c9a wallet: refactor: make is_ranged no longer an optional 90485103c67d wallet: lower the minimum timestamp to 0 380d3ae0deab wallet: rpc: Use std::optional in GetImportTimestamp e0229ca68515 fuzz: Use LIMITED_WHILE in connect_block 1566a4767afd rest: add generated and height to spenttxouts JSON cff00c547e74 Merge bitcoin/bitcoin#34743: p2p: don't disconnect manual peers for block stalling a09a81ebfce3 Merge bitcoin/bitcoin#35961: depends: Update `boost` package to 1.92.0 76343a09f802 Merge bitcoin/bitcoin#36186: test: return False for a too-short ECDSA signature 5551d39b202b doc: document manual peer stalling behavior 24628d3ae7dc test: cover manual peer block download cooldown 4c79f3a34d00 test: support manual connections in addconnection 698b5bbf3a0a p2p: pause stalling manual block downloads c38e0d20c3c0 Merge bitcoin/bitcoin#36093: test: ipc should reject invalid json a49fa1f6e698 Merge bitcoin/bitcoin#35849: init: don't suggest -reindex-chainstate for recovery on a pruned node dd3c62c55fdc Merge bitcoin/bitcoin#36083: test: cover getrawtransaction on a stale block via txindex 36c1b149fe37 Merge bitcoin/bitcoin#35472: test: add coverage for feebumper uncomputable cluster error path 7c4facb51bbe Merge bitcoin/bitcoin#36081: rpc: add bestblockhash to getmininginfo c1e9d15406fb doc: Describe how to verify the asmap in use 87ce88c1b53c rpc: Add asmap_version to getnetworkinfo dd5a8a63b223 test: Check embedded asmap version log and addrman re-bucketing d9d057841029 Merge bitcoin/bitcoin#34681: wallet: move rescan logic into ChainScanner and wallet/scan 2ca83ba2622a Merge bitcoin/bitcoin#35436: wallet: Add addHDkey interface 0bc87365cac1 init: Log asmap version from NetGroupManager fdfd196908e1 rpc: Reuse AsmapVersion in exportasmap adca0a97406d Merge bitcoin/bitcoin#36247: iwyu: Always keep `bitcoin-build-info.h` header 1aa500b6b7d8 iwyu: Always keep `bitcoin-build-info.h` header d25470d992b7 Merge bitcoin/bitcoin#35975: wallet: Fix `CWalletTx` malleated transaction metadata sync 2c6047df8746 test: Bumping a transaction prevents bumping malleations a44f9ad35058 test: Test rbf metadata sync of malleated tx 752fd437c7cf wallet: persist synced metadata and do not sync on load 31eedfc6fc8b wallet: simplify wtx metadata sync 6c16d76f790c wallet: sync tx replacement metadata to malleated txs 34533d5d22b6 wallet: Clarify IsEquivalentTo is actually checking malleation b973a355c4eb Replace CTransaction::operator== with Equals that has options 8df006f23383 wallet: skip signing SIGHASH_SINGLE inputs with no corresponding output 3d7d190b6995 ci: enforce iwyu for block template manager ffe3a631f38b node: remove NodeContext::mining and EnsureMining 6c71166bcfa4 test: create templates via BlockTemplateManager ec4f24ef181a rpc: wait for tips via BlockTemplateManager 8372721f20e2 rpc: build generation templates via BlockTemplateManager 38556f817e06 rpc: only copy the header in getblocktemplate 951fac807d37 rpc: do not copy template data in getblocktemplate 0998c0bbdfcc rpc: build getblocktemplate via BlockTemplateManager 011cbfbcd2e3 rpc: route getblocktemplate internals through node 400ac328c91b interfaces: create block template via BlockTemplateManager 037d3519f2ff node: move tip and wait helpers into BlockTemplateManager 07964c525d47 miner: move SubmitBlock into BlockTemplateManager bcdadf2b7111 node: move mining_args to BlockTemplateManager 482a5d27124c node: introduce BlockTemplateManager 2efaa6763bd2 wallet: simplify and restrict SyncMetaData to malleated txs fc718ade4fce test: Test that metadata is synced to malleated transactions 17817818da3c Merge bitcoin/bitcoin#36228: ci, iwyu: generate embedded ASMap header explicitly 1cbbf64ea810 ci, iwyu: generate embedded ASMap header explicitly 1afa0cd70a09 cmake: add raw data header generation target 0476444e33bd Merge bitcoin/bitcoin#35935: wallet: Avoid unnecessary wtxvariant rewrites feeb00af8cf3 cli: Add -signetchallenge info on RPC auth error c47ea370dc9f doc: Update documentation for signet datadir 6f8c43f9efc6 test: Add signet datadir tests 9b37d42b23be Use different datadirs for different signets 6bdcae3f768b refactor: Import signet constant and helper from kernel/signet.h f3fec67c3eeb Merge bitcoin/bitcoin#36227: Pre 32.x branching updates 9a48134aea11 docs: Update bips.md 57d3d0013054 build: Bump version to 32.99 4d463de80408 Merge bitcoin/bitcoin#36226: doc: Move release notes to wiki ahead of branch-off 5df082721cdb doc: Move release notes to wiki ahead of branch-off 8c64ff02425d Merge bitcoin/bitcoin#34914: contrib: replace deprecated --deep codesign flag, fix accidental --verify skip on ci 501ba4cad4b3 Merge bitcoin/bitcoin#36196: contrib, kernel: fixed seeds, chainparams, headerssync params, and assumeutxo updates pre-32.0 92986c736223 Merge bitcoin/bitcoin#36213: Release: 32.0 translations update 1a4e034ddbdc Merge bitcoin/bitcoin#36209: guix: cache GUI depends separately a6b330973e64 Merge bitcoin/bitcoin#36150: indexes: set prune lock to genesis before first block fed50258f8f0 kernel: add recent assumeutxo snapshot 7eb4cec1a983 kernel: Update headerssync params 9b2299514028 indexes: set prune lock to genesis before first block fc6923cec5b4 Merge bitcoin/bitcoin#36215: asmap: Make version match externally computed hashes 2c2667eaa902 qt: 32.0 translations update 51b540c59aae Merge bitcoin/bitcoin#36218: build: avoid `pipe2` on Darwin (for now) a42da819a96c Merge bitcoin/bitcoin#36174: http: throttle send buffer when client stops draining da7d7dbc7c00 contrib: remove deprecated --deep codesign flag 9c7748315d31 build: avoid pipe2 on Darwin (for now) 1fe87c250547 guix: cache GUI depends separately 7ee94bf4b023 asmap: Make outputted ASMap version match externally computed hashes 4a15e0b6f9c5 Merge bitcoin/bitcoin#36195: test: `get_previous_releases.py` use `PREVIOUS_RELEASES_DIR` b5ef74b248cd Merge bitcoin/bitcoin#36211: doc: Fix PR reference in productivity guide 5a5b1ed7471f Merge bitcoin/bitcoin#36201: Update embedded asmap to 1788801420 b3a9b84b37c0 doc: Correct upstream-pull reference fc4f35fdce4d Merge bitcoin/bitcoin#35513: rpc: help metadata fixes af83bacdf9d6 Merge bitcoin/bitcoin#36202: doc: add rel note about potential CJDNS removal ecdf9db906b4 test: get_previous_releases.py use `PREVIOUS_RELEASES_DIR` 28b69e298884 http: stop processing requests from a client when send buffer is full ad4eeaf859c4 ci: avoid modifying GOAL in 03_test_script.sh 7e75b3b922f9 Merge bitcoin/bitcoin#36116: iwyu: Fix warnings in `src/rpc` and treat them as errors 9d4325f40316 Merge bitcoin/bitcoin#36203: Update secp256k1 subtree to latest master 3c91db262b74 net: Update embedded asmap to 1788801420 ffe6aa57fef1 Merge bitcoin/bitcoin#36199: net: treat RFC 9637 new IPv6 documentation range as invalid 00d0c5107b92 test: return False for a too-short ECDSA signature ba9050ac9b35 Update secp256k1 subtree to latest master da3401e50fc1 Squashed 'src/secp256k1/' changes from 687155df6b..a7f264373e 7d54a88b4453 iwyu: Fix warnings in `src/rpc` and treat them as errors 462ff18d79bd iwyu, refactor: Fix includes in some source files 2285d1931aa8 Merge bitcoin/bitcoin#35468: ci, iwyu: Request IPC file generation explicitly b48a27691ded fuzz: assert invalid addresses are not routable e6c775c6d63a net: treat RFC 9637 new IPv6 documentation range as invalid 005ea9f42e50 Merge bitcoin/bitcoin#35778: scripted-diff: Use C.UTF-8 locale in all shell scripts 064122af269b Merge bitcoin/bitcoin#36181: ci: Upgrade IWYU to 0.27 compatible with Clang 23 99f81fe0296b Merge bitcoin/bitcoin#35303: policy: fix negative CFeeRate::ToString() formatting 46654094beef lint: Use C.UTF-8 locale only in shell scripts d6a2341632a0 doc: add rel note about potential CJDNS removal fb26bc9cfefe Merge bitcoin/bitcoin#35445: wallet, descriptor: Revert `StringType::COMPAT` for Miniscript expressions and drop the concept of a Descriptor ID that can be validated 494300f4cc92 Merge bitcoin/bitcoin#35796: depends: fix IPC listeners on macOS dying when accepting a dead socket 42d93d40de35 kernel: update chainTxData a25511dfbcd3 kernel: update defaultAssumeValid and minimumChainWork 67726a63a41f kernel: update assumed blockchain and chainstate sizes fcfc1df041b8 contrib: Update fixed seeds 6385aa1df8ab contrib: Update makeseeds for 30.3 and 31.x 0ae3b40c274a test: characterize startup with newly added prune and index 4c9d55a6125a Merge bitcoin/bitcoin#36076: psbt: preserve sighash type when merging inputs 59fd053dac83 Merge bitcoin/bitcoin#34931: validation: abort on DB unreadable coins instead of treating them as missing 33a363ea2508 Merge bitcoin/bitcoin#36168: PSBT: Make input/output `Merge()` methods return void 0b46fc9c5935 http: Add missing LIFETIMEBOUND annotations ea785a31f783 psbt: preserve sighash type when merging inputs 013b0b2de481 Merge bitcoin/bitcoin#36176: wallet: avoid a crash when creating a wallet with -nosettings 2ed4be47213f Merge bitcoin/bitcoin#36113: psbt: fix rendering for invalid long sighash type field 19b0ff2fa050 Merge bitcoin/bitcoin#36136: rpc: remove stale "canonical form" claim from getdescriptorinfo help 0c6f2af97b5c Merge bitcoin/bitcoin#36127: wallet: remove unused code 3b944f194fdd iwyu: Switch to generated Clang intrinsics mapping file 1b5ee3be5948 ci: Upgrade IWYU to 0.27 compatible with Clang 23 6ed7c535adb0 iwyu: Prefer canonical headers 35104a8654f8 Merge bitcoin/bitcoin#35949: miner: Enforce Murch-Zawy rule (BIP54) 51db0e7696ed Merge bitcoin/bitcoin#36096: rpc: avoid quadratic JSON construction when keys are unique 161a9add8e02 Merge bitcoin/bitcoin#35164: test: cover P2SH sigop counting in test_witness_sigops a174dd4017cf Merge bitcoin/bitcoin#36161: build: Remove `cmake/script/CoverageFuzz.cmake` b557fb2728e9 Merge bitcoin/bitcoin#36164: util: diagnose dangling views of temporary strings 5f0daa0eae80 Merge bitcoin/bitcoin#36169: http: Use SO_EXCLUSIVEADDRUSE on Windows a34fc8b11a42 wallet: handle disabled startup settings b7113e6f42c2 test: characterize disabled wallet settings f0c839ace5a2 Merge bitcoin/bitcoin#36123: http: throttle per-connection reads while a request is in flight 0f206eed51e2 Merge bitcoin/bitcoin#36130: test: add tests in transaction_tests.cpp covering live mutants 0b43dea121fc Merge bitcoin/bitcoin#36163: test: Add coverage for unsatisfiable locktime combination in PSBT `ComputeTimeLock()` 3596658af5eb Merge bitcoin/bitcoin#36166: validation: refactor: encapsulate Chainstate::m_target_blockhash f32bfb25934f Merge bitcoin/bitcoin#35738: coins: parallel input prevout fetching followups bcb09b3f4aec qa: Verify HTTP listen port exclusivity af65069fd15b windows: Use SO_EXCLUSIVEADDRUSE over SO_REUSEADDR 82deb69111f1 PSBT: Make input/output `Merge()` methods return void f04b0c31627a refactor(test): Make test method use Uppercase, shorten enum values 6eea8e313cce refactor(test): Simplify HTTP response check 852f201e09cb validation: refactor: encapsulate Chainstate::m_target_blockhash fca8fef8f903 fuzz: assert HTTP framing is independent of stream segmentation b57b0dbebd56 util: annotate `Split` input lifetime 34c5dc0583dd util: annotate string view input lifetimes c368de3eec9c fuzz: exercise the HTTPRequest state machine 00a5f9b7375e build: Remove `cmake/script/CoverageFuzz.cmake` 69a640e05ec0 test: Add coverage for unsatisfiable locktime combination in PSBT ComputeTimeLock 5ce3a0b4aab5 test: cover legacy sigops count CHECKMULTISIG inaccurately a5fc82e2b140 test: cover enforce BIP68 to tx versions higher than 2 bba1d4150ee8 test: cover IsFinalTx requires every input to be SEQUENCE_FINAL 4519933391dd Merge bitcoin/bitcoin#36137: validation: use unused SetTargetBlockHash 4ec6ff022a4b Merge bitcoin/bitcoin#36100: ci: use LLVM 23 in *san, fuzz, *cross jobs 7f0c4020e8d3 Merge bitcoin/bitcoin#36118: test: tolerate race condition in interface_http.py 455080105835 validation: use unused SetTargetBlockHash 5ba9af6b6922 ci: pass LIBCXX_INCLUDE_TESTS=OFF to LLVM build feb3bd46e4c8 clang-tidy: remove some performance-* options b4bd12d3d5d6 ci: use LLVM 23 in *san, fuzz, *cross jobs d840adb9da54 Merge bitcoin/bitcoin#36144: rpc: detail x-bitcoin-unit in openrpc help f41b917f47cd Merge bitcoin/bitcoin#36145: qa: Use IP_PORTRANGE_HIGH on OpenBSD for dynamic port allocation d5fbe61f55b2 Merge bitcoin/bitcoin#35958: net: align v2 message type validation with v1 range 64ab0a06979e Merge bitcoin/bitcoin#36148: test: Avoid unsafe memory race in index_reorg_crash shutdown 57a79c69627d doc: remove json quoting from gettxoutsetinfo and getblockstats cli examples a51df9b0ecf6 test: tolerate race condition in interface_http.py fab80e82c108 test: Avoid unsafe memory race in baseindex_no_commit_ahead_of_flush b811aeabad94 Merge bitcoin/bitcoin#36048: util: keep wallet names literal in notification commands fa0f14ef5e76 test: Avoid unsafe memory race in index_reorg_crash shutdown faf9c8e8a12c test: Clarify index.GetSummary().synced state in index_reorg_crash a34861d280b3 test: unify how to avoid the creation of the default wallet in nodes 3458837a0b76 test: use ExtendedPrivateKey in wallet_importdescriptors.py 59ebf558f345 qa: Use IP_PORTRANGE_HIGH on OpenBSD for dynamic port allocation 6f6b2bbde244 Merge bitcoin/bitcoin#35808: fuzz: reset connman state in p2p targets e85e27976bfb rpc: detail x-bitcoin-unit in openrpc help 3d1004cb9b8f http: throttle per-connection reads while a request is in flight db39de560109 doc: add `-walletnotify` security note 1f9dfabef641 refactor: use string views in `ReplaceAll` 469b0e59a29a util: make `ReplaceAll` literal 604d7e8fdd95 test: characterize walletnotify shell injection 4efaa6763a7e test: simplify `ReplaceAll` coverage 793e22eed586 test: cover getrawtransaction on a stale block via txindex a84fbf9dfd2c test: name the getrawtransaction test nodes 74ddf1c0a0ef refactor: use structured bindings for map entries 21d5d5cb7390 rpc: append unique container keys directly 23e512a58e69 rpc: avoid quadratic prioritised transaction JSON 9f0543d69a13 wallet: remove unused DatabaseOptions members dc0395c5858a Merge bitcoin/bitcoin#36112: ci: Exclude subtrees from iwyu 37c57bc5c297 Merge bitcoin/bitcoin#36065: test: refactor: Remove confusing ignore_errors=True 8157964e66ce Merge bitcoin/bitcoin#36134: doc: Correct comment about which subsystem detects lagging clocks 259553c6628a Merge bitcoin/bitcoin#36131: rpc: Improve two field's OpenRPC types 1dad06eff3d5 remove stale canonical form claim from getdescriptorinfo help 55390d1827c7 doc: Correct comment about which subsystem detects lagging clocks fe3c92cfe0da Merge bitcoin/bitcoin#36102: util: Replace !ContainsNoNUL() with ContainsNUL() d23b53e0cfbc fuzz: allow http_request inputs to reach MAX_HEADERS_SIZE 58dfcf29f6da Merge bitcoin/bitcoin#35351: net: Disallow invalid HeadersSyncState due to lagging clock c0ed327845be Merge bitcoin/bitcoin#36103: validation: remove unused code 78e691ea10a1 rpc: Change listunspent's ancestorfees type to NUM 73fb9ced563c rpc: Fix private key type in signrawtransactionwithkey 128e5c6805a0 Merge bitcoin/bitcoin#35477: test: exercise Schnorr signature cache in txvalidationcache_tests.cpp bbed824a64f0 wallet: remove unused warnings parameter from CreateFromDump 2f6aa41d3d19 wallet: remove unused WalletDatabase::m_refcount f64b3fa70f6a wallet: remove unused CHDChain keypool index members 4afc7bc40d4f wallet: remove unused COutput::ToString a0e9aac42802 wallet: remove unused DescriptorScriptPubKeyMan::AddDescriptorKey 56af5e072a0d fuzz: extract http_request parse and framing check into helpers d2e24e951de4 Merge bitcoin/bitcoin#36054: test: add script_tests cases covering interpreter mutants 75f64e50c67d test: exercise node abort on UTXO deserialization failure 4652cd0d828a txdb: detect UTXO deserialization errors via CDBWrapper::TryRead() 5dfbb91b6cc5 dbwrapper: add TryRead() to distinguish errors from valid outcomes ca7162cde58e Merge bitcoin/bitcoin#35868: rpc, wallet: fix invalid JSON in HelpExampleRpc curl examples d0e777baf5e2 Merge bitcoin/bitcoin#36111: rpc: bound memory for overlong Bech32 errors fa3971011d1e ci: Exclude subtrees from iwyu fa8566152a05 refactor: Bump old copyright header in univalue 05e49b342faa Merge bitcoin/bitcoin#36107: iwyu: Fix warnings in `src/init` and treat them as errors 1fca81960abc psbt: fix rendering for invalid long sighash type field f14569f97d08 test: ipc should reject invalid json 858814146dd2 test: refactor Cap'n Proto exception assertions 7fcaccd9d0b7 bech32: bound overlength error locations 1bb5820b4411 wallet: Add addhdkey interface 1ad864127832 iwyu: Fix warnings in `src/init` and treat them as errors 82867073d6c3 wallet: Use WalletError for AddHDKey failures f8769fc0b124 wallet: Move addhdkey logic into CWallet e1a2b25d6c3b test: expand addhdkey coverage for locked wallet and bad key 21d4e0ba759b rpc, wallet, test: fix invalid JSON in HelpExampleRpc curl examples 15630c7b852c validation: remove unused m_chainparams from ATMPArgs fa7be0a8df9d test: refactor: Remove confusing ignore_errors=True 84c5290149a3 validation: remove unused args from PolicyScriptChecks a9d5cf7f9901 validation: remove unused args from ConsensusScriptChecks d26dc09ee33e validation: remove unused total_vsize arg from PackageRBFChecks 2cb6c156e18b validation: remove unused PackageMempoolAcceptResult constructor 8d930981e9e1 refactor: Replace !ContainsNoNUL() with ContainsNUL() f78834fac916 test: add missing coverage for CDBWrapper::Read() errors 1548d15de618 walletdb: Rename WriteTx to WriteFullTx 9a0628d9320d wallet: Write tx to database during CWalletTx::Update 74e1cd38f2a3 rpc: add bestblockhash to getmininginfo ec2adf3c51ca test: Check miniscript descriptor h and apostrophe equivalence a2d001b57c5f test: Enforce descriptor reimport is an update e2b2f1c5c6f7 descriptor: Rename DescriptorID to CompatDescriptorHash 6ad31c062c70 test: Add 31.0 to wallet backwards compatibility test 2a6c53371be7 wallet, spkm: Treat Descriptor ID as an opaque SPKM ID 62e826fa7617 wallet: Update WalletDescriptor from another one instead of overwriting 1113f7590ed0 wallet, export: Include descriptor cache when exporting descriptors 9fc7b2618b6a spkm: Remove DescriptorSPKM constructor that doesn't take a descriptor 770ff64bd7fd test: Add v30.2 and Miniscript to wallet backwards compatibility test 35d6a60dbf5a descriptor: Add ToCanonicalString 1d87af26ce14 descriptors: Remove default StringType from PubkeyProvider::ToString() 1c7f9aaf758f miniscript: Don't use StringType::COMPAT e07224f2d554 depends: fix IPC listeners on macOS dying when accepting a dead socket b07810544f15 Remove MSVCRT-specific workarounds 7c86a370c8a2 doc: Update Windows build docs to reflect migration from MSVCRT to UCRT f5910d1a3aaa ci: Remove Windows + MSVCRT jobs for cross-compiling and native testing 55f86ab1624a guix: Use UCRT runtime for Windows release binaries 4a12773f2697 test: cover DERSIG rejects a non-compound signature type 86c7fb910d67 test: cover OP_16 does not count towards the opcode limit 331bf798819c test: cover OP_WITHIN must pop all 3 elements 3bb87bc61b48 test: cover OP_FROMALTSTACK must pop the altstack 70701de7c555 ci: Make `test_bitcoin-qt.exe` output visible ff3e2e4ebdce net: Trigger process abort when behind start block MTP 1883cecb4d05 test: Characterize lagging-clock headers presync 05e7d5731840 ipc, test: add checkSpawned() unit tests 42215b85811a init: correct first-run disk space estimate e014e5bb61c1 miner: Enforce murch-zawy rule (BIP54) d29b22d07897 fuzz: reset connman state in p2p targets 4200f8163a55 policy: fix negative CFeeRate::ToString() formatting 94cb65945738 depends: Update `boost` package to 1.92.0 cc577de95467 net: align v2 message type validation with v1 range 9054f7cde43a test: cover submitpackage other-wtxid for same-txid-diff-witness 1c557a380288 wallet: Add WriteTxMetadata to write just the tx record e67f75cf7d3e wallet/scan: extract progress tracking helpers from `ChainScanner::Scan` 062aa3ce56d7 wallet/scan: extract QueueNextBlock 3655beb8f153 wallet/scan: extract block scanning logic to ScanBlock 4535dc0c7885 wallet/scan: extract block filter matching to ShouldFetchBlock 72a37031d325 wallet/scan: move WalletRescanReserver to scan files 0274e80130af wallet/scan: move RescanFromTime to ChainScanner as ScanFromTime db9185a44464 wallet: introduce ChainScanner as a CWallet member 525163c2413e wallet/tests: pin rescan behavior d180b891a290 test: add mixed P2SH/witness sigop accounting c2da52d3660f wallet: allow importprunedfunds for spending transactions db21e03c9d50 mempool: include unbroadcast txid memory 8d5c4a9290b0 test: characterize unbroadcast memory accounting be30864ed1a6 doc: use overwrite (>) instead of append (>>) for one-shot PSBT files in offline-signing-tutorial.md 8bca7555f832 ipc, refactor: rename arg -ipcfd to -ipcchild bd3a38f10ab7 ipc, refactor: return std::optional<mp::SocketId> from checkSpawned() a31eb8bfa412 ci, iwyu: Request IPC file generation explicitly 0b3bb071036a test: add coverage for untested descriptor parse error paths 8e4b7ab7258a fuzz: use per-level fetch scopes in coinscache_sim 5292386b785a doc: improve CoinsViewOverlay documentation d552c52b081c coins: log error reason when prevout fetch submission fails 2ffaa6e6a7db coins: delete Sync and SetBackend on CoinsViewOverlay 330022993fb9 coins: filter coinbase txid from parallel input fetching adbff4d44286 init: don't suggest -reindex-chainstate for recovery on a pruned node 8976ba50a2b9 rpc: require connman in getnetworkinfo 975229580f74 rpc: Fix inaccuracies in RPC help docs 47632ab2a387 test: add coverage for feebumper uncomputable cluster error path 982ee649381f lint: Skip `libmultiprocess` subtree in `lint-shell-locale.py` 1194918a5d9c scripted-diff: Use C.UTF-8 locale in all shell scripts 13ce46ba1a79 doc: add release note for 27052 5d5397d84108 test: add functional test for block announcement time tracking 7d3d04e925c7 rpc: add last_block_announcement to the getpeerinfo output 26a25162a48a net: add m_last_block_announcement to CNodeStateStats bb8bca630a8a change m_last_block_announcement type from int64_t to NodeClock::time_point 6e60c362bc1e test: add P2SH sigop counting coverage 412540e18d87 i2p: update leaseset encryption types 3ba1bbfa3f85 test: exercise Schnorr signature cache in txvalidationcache_tests.cpp 198b36bc85d5 test: respect "TAPROOT requires WITNESS" rule in `ValidateCheckInputsForAllFlags` e78a2a0d00cf test: refactor: simplify tx vin/vout creation in txvalidationcache_tests.cpp b7cbd804284b test: use MiniWallet for getblockstats test data generation c8ee319fffa1 net: remove m_getaddr_sent a1ecda260996 test: delete redundant addr relay assertion e9dc16194b47 correct the linearize-data script (minor) REVERT: e8a8daf3fad1 kernel: Add script tracer git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: 38aedda9e983f6dd1df7f3ec7bc5f1d0782e9459
alexanderwiederin
force-pushed
the
varops_kernel_script_tracer
branch
6 times, most recently
from
October 7, 2026 12:55
c1e2f7c to
ea334e7
Compare
Bind btck_tapscript_v2_eval and the owned btck_ScriptStack it takes its initial stack from, along with the status codes, the spend context struct and the sentinel for running unmetered. btck_ScriptStack is a separate type from btck_ScriptEvalStack: the latter is a borrowed view into a live evaluation handed to a trace callback, this one is created and destroyed by the caller.
Add eval_tapscript_v2, which runs a tapscript v2 (BIP 440/441) leaf script against a caller-supplied ScriptStack. Evaluating one previously meant building a whole taproot spend around it; this is the short path for when the script itself is the thing under test, and pairs with ScriptTracer for stepping through it. Setup failures and evaluation failures stay on separate channels: Err mean the evaluation could not run, while a script that ran and was not staisfied comes back as Ok(TapscriptV2Result::Invalid) with the interpreter's script error and the unspent varops budget.
alexanderwiederin
force-pushed
the
varops_kernel_script_tracer
branch
from
October 9, 2026 08:48
ea334e7 to
3405ed8
Compare
alexanderwiederin
force-pushed
the
varops_kernel_script_tracer
branch
from
October 13, 2026 13:53
3405ed8 to
5340fc7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This Draft implements BIP 440/441 and exposes an
eval_tapscript_v2method in the API.It is a Work in Progress and opened as a tracker of the latest developments.
Test errors should be fixed with #229