bitcoin/src/script
Andrew Chow e078ee9d9d
Merge bitcoin/bitcoin#25664: refactor: Redefine IsSolvable() using descriptors
b16f93cadd script/sign: remove needless IsSolvable() utility (Antoine Poinsot)
c232ef20c0 outputtype: remove redundant check for uncompressed keys in AddAndGetDestinationForScript (Antoine Poinsot)

Pull request description:

  Now that we have descriptors there is no need to try to sign for a scriptPubKey using dummy signatures, and using a mocked verification of this witness against the interpreter, just to make sure we know how to spend such a Script. Just try to infer a solvable descriptor: any scriptPubKey that we can sign for can be inferred as such.

  This came up in #24149 but i think it's worth it on its own.

ACKs for top commit:
  instagibbs:
    ACK b16f93cadd
  achow101:
    re-ACK b16f93cadd
  furszy:
    ACK b16f93ca, only change is the `IsSolvable` helper function removal.

Tree-SHA512: 137068157ce90210b710b1bf9ac3c400e2ff5af1112f892094b69875ea473d6a899f52adb51e5030cb907dee517602059cd1661107808558efa5de842ba12b41
2022-08-11 13:41:47 -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 Merge bitcoin/bitcoin#25642: Don't wrap around when deriving an extended key at a too large depth 2022-08-10 14:25:43 -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#25664: refactor: Redefine IsSolvable() using descriptors 2022-08-11 13:41:47 -04:00
sign.h script/sign: remove needless IsSolvable() utility 2022-08-11 15:43:40 +02: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