bitcoin/src/script
merge-script f9032a4abb
Some checks are pending
CI / macOS 14 native, arm64, fuzz (push) Waiting to run
CI / Win64 native, VS 2022 (push) Waiting to run
CI / Win64 native fuzz, VS 2022 (push) Waiting to run
CI / ASan + LSan + UBSan + integer, no depends, USDT (push) Waiting to run
CI / test each commit (push) Waiting to run
CI / macOS 14 native, arm64, no depends, sqlite only, gui (push) Waiting to run
Merge bitcoin/bitcoin#31242: wallet, desc spkm: Return SigningProvider only if we have the privkey
f6a6d91205 test: add check for getting SigningProvider for a CPubKey (Sebastian Falbesoner)
62a95f5af9 test: refactor: move `CreateDescriptor` helper to wallet test util module (Sebastian Falbesoner)
493656763f desc spkm: Return SigningProvider only if we have the privkey (Ava Chow)

Pull request description:

  If we know about a pubkey that's in our descriptor, but we don't have the private key, don't return a SigningProvider for that pubkey.

  This is specifically an issue for Taproot outputs that use the H point as the resulting PSBTs may end up containing irrelevant information because the H point was detected as a pubkey each unrelated descriptor knew about.

  Split from #29675

ACKs for top commit:
  fjahr:
    ACK f6a6d91205
  theStack:
    re-ACK f6a6d91205
  furszy:
    utACK f6a6d91205. Only reviewed the actual change in detail, not the test commit.

Tree-SHA512: 30a196e611a0c5d9ebe5baf6d896caaa6af66f1615463dbb0c31e52604d53cf342922bb9967b3c697b47083d76b0485c77a5f545bd6381247c8bc44321c70f97
2025-01-16 17:30:36 +00:00
..
descriptor.cpp descriptor: Assume ParseScript is not being called with a P2WPKH context 2024-12-24 11:01:47 -03:00
descriptor.h descriptors: Change Parse to return vector of descriptors 2024-08-08 12:47:22 -04:00
interpreter.cpp Fix unsigned integer overflows in interpreter 2024-10-01 10:45:44 +02:00
interpreter.h interpreter: Use the same type for SignatureHash in the definition 2024-11-25 15:36:05 +01:00
keyorigin.h Implement operator< for KeyOriginInfo and CExtPubKey 2021-12-10 08:29:47 -05:00
miniscript.cpp refactor: Drop deprecated space in operator""_mst 2024-11-11 12:14:08 +01:00
miniscript.h refactor: Avoid passing span iterators when data pointers are expected 2024-12-19 14:39:55 +01:00
parsing.cpp util: move spanparsing.h to script/parsing.h 2024-05-16 10:16:08 -05:00
parsing.h util: move spanparsing.h to script/parsing.h 2024-05-16 10:16:08 -05:00
script.cpp policy: Add OP_1 <0x4e73> as a standard output type 2024-07-30 14:06:58 -04:00
script.h Allow CScript's operator<< to accept spans, not just vectors 2024-09-11 17:41:27 +02:00
script_error.cpp Implement Tapscript script validation rules (BIP 342) 2020-10-12 17:18:24 -07:00
script_error.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
sigcache.cpp kernel: De-globalize signature cache 2024-07-05 09:03:04 +02:00
sigcache.h kernel: De-globalize signature cache 2024-07-05 09:03:04 +02:00
sign.cpp refactor: move SignSignature helpers to test utils 2024-09-04 21:06:09 +02:00
sign.h refactor: move SignSignature helpers to test utils 2024-09-04 21:06:09 +02:00
signingprovider.cpp desc spkm: Return SigningProvider only if we have the privkey 2024-11-07 11:41:25 -05:00
signingprovider.h desc spkm: Return SigningProvider only if we have the privkey 2024-11-07 11:41:25 -05:00
solver.cpp policy: Add OP_1 <0x4e73> as a standard output type 2024-07-30 14:06:58 -04:00
solver.h refactor: Replace fwd-decl with proper include 2024-12-19 13:46:43 +01:00