bitcoin/src/script
Andrew Chow ac59112a6a
Merge bitcoin/bitcoin#23480: Add rawtr() descriptor for P2TR with specified (tweaked) output key
544b4332f0 Add wallet tests for spending rawtr() (Pieter Wuille)
e1e3081200 If P2TR tweaked key is available, sign with it (Pieter Wuille)
8d9670ccb7 Add rawtr() descriptor for P2TR with unknown tweak (Pieter Wuille)

Pull request description:

  It may be useful to be able to represent P2TR outputs in descriptors whose script tree and/or internal key aren't known. This PR does that, by adding a `rawtr(KEY)` descriptor, where the KEY represents the output key directly. If the private key corresponding to that output key is known, it also permits signing with it.

  I'm not convinced this is desirable, but presumably "tr(KEY)" sounds more intended for direct use than "rawtr(KEY)".

ACKs for top commit:
  achow101:
    ACK 544b4332f0
  sanket1729:
    code review ACK 544b4332f0
  w0xlt:
    reACK 544b4332f0

Tree-SHA512: 0de08de517468bc22ab0c00db471ce33144f5dc211ebc2974c6ea95709f44e830532ec5cdb0128c572513d352120bd651c4559516d4500b5b0a3d257c4b45aca
2022-08-09 16:36:00 -04:00
..
bitcoinconsensus.cpp Use spans of std::byte in serialize 2022-01-02 11:40:31 +01:00
bitcoinconsensus.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
descriptor.cpp Add rawtr() descriptor for P2TR with unknown tweak 2022-07-19 17:36:08 -04:00
descriptor.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
interpreter.cpp Use HashWriter where possible 2022-07-20 15:34:36 +02:00
interpreter.h Use HashWriter where possible 2022-07-20 15:34:36 +02:00
keyorigin.h Implement operator< for KeyOriginInfo and CExtPubKey 2021-12-10 08:29:47 -05:00
miniscript.cpp miniscript: nit: don't return after assert(false) 2022-05-30 15:16:45 +02:00
miniscript.h miniscript: add a helper to find the first insane sub with no child 2022-07-14 12:03:49 +02:00
script.cpp script: move CheckMinimalPush from interpreter to script.h 2022-03-17 14:09:06 +01:00
script.h script: actually trigger the optimization in BuildScript 2022-07-26 13:02:48 +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 validationcaches: Use size_t for sizes 2022-08-03 12:03:28 -04:00
sigcache.h validationcaches: Use size_t for sizes 2022-08-03 12:03:28 -04:00
sign.cpp Merge bitcoin/bitcoin#23480: Add rawtr() descriptor for P2TR with specified (tweaked) output key 2022-08-09 16:36:00 -04:00
sign.h Fill PSBT Taproot output data to/from SignatureData 2022-06-27 16:47:48 -04:00
signingprovider.cpp Store TaprootBuilder in SigningProviders instead of TaprootSpendData 2022-06-27 16:47:48 -04:00
signingprovider.h Store TaprootBuilder in SigningProviders instead of TaprootSpendData 2022-06-27 16:47:48 -04:00
standard.cpp Remove ::g_max_datacarrier_bytes global 2022-08-02 15:29:16 +02:00
standard.h Remove ::g_max_datacarrier_bytes global 2022-08-02 15:29:16 +02:00