Add SCRIPT_VERIFY_CLEANSTACK (BIP62 rule 6)
Based on an earlier patch by Peter Todd, though the rules here are different (P2SH scripts should not have a CLEANSTACK check before the P2SH evaluation).
This commit is contained in:
@@ -67,8 +67,14 @@ enum
|
||||
// discouraged NOPs fails the script. This verification flag will never be
|
||||
// a mandatory flag applied to scripts in a block. NOPs that are not
|
||||
// executed, e.g. within an unexecuted IF ENDIF block, are *not* rejected.
|
||||
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS = (1U << 7)
|
||||
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS = (1U << 7),
|
||||
|
||||
// Require that only a single stack element remains after evaluation. This changes the success criterion from
|
||||
// "At least one stack element must remain, and when interpreted as a boolean, it must be true" to
|
||||
// "Exactly one stack element must remain, and when interpreted as a boolean, it must be true".
|
||||
// (softfork safe, BIP62 rule 6)
|
||||
// Note: CLEANSTACK should never be used without P2SH.
|
||||
SCRIPT_VERIFY_CLEANSTACK = (1U << 8),
|
||||
};
|
||||
|
||||
uint256 SignatureHash(const CScript &scriptCode, const CTransaction& txTo, unsigned int nIn, int nHashType);
|
||||
|
||||
Reference in New Issue
Block a user