bitcoin/src/script
Antoine Poinsot 7417594187
miniscript: the 'd:' wrapper must not be 'u'
The value it leaves on the stack depends on the last element on the
stack. However, we can't make sure this element is OP_1 (which would
give us the 'u' property) without the MINIMALIF rule.
MINIMALIF is only policy for P2WSH, therefore giving 'd:' the 'u'
property breaks consensus soundness: it makes it possible (by consensus
but not policy) for instance to satisfy a thresh() without satisfying
at least k of its subs.

This bug was found and reported by Andrew Poelstra.
2022-04-18 16:03:29 +02: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#24462: For descriptor pubkey parse errors, include context information 2022-03-23 09:38:54 +01:00
descriptor.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
interpreter.cpp Merge bitcoin/bitcoin#24147: Miniscript integration 2022-04-05 13:22:09 +02:00
interpreter.h script: move CheckMinimalPush from interpreter to script.h 2022-03-17 14:09:06 +01:00
keyorigin.h Implement operator< for KeyOriginInfo and CExtPubKey 2021-12-10 08:29:47 -05:00
miniscript.cpp miniscript: the 'd:' wrapper must not be 'u' 2022-04-18 16:03:29 +02:00
miniscript.h doc: Convert remaining comments to clang-tidy format 2022-04-06 15:37:07 +02:00
script.cpp script: move CheckMinimalPush from interpreter to script.h 2022-03-17 14:09:06 +01:00
script.h script: expose getter for CScriptNum, add a BuildScript helper 2022-03-17 14:09:07 +01: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 scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
sigcache.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
sign.cpp refactor: fix clang-tidy named args usage 2022-04-04 09:01:19 +01:00
sign.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
signingprovider.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
signingprovider.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
standard.cpp script: make IsPushdataOp non-static 2022-03-17 14:09:06 +01:00
standard.h script: make IsPushdataOp non-static 2022-03-17 14:09:06 +01:00