aboutsummaryrefslogtreecommitdiff
path: root/src/script/interpreter.h
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2015-01-08 12:00:19 +0100
committerWladimir J. van der Laan <laanwj@gmail.com>2015-01-08 12:01:22 +0100
commit48e1765e2781541c0f8b0893b26d02f27eb5c444 (patch)
tree112a2d69a7b1bd0f60d088e90696e294a9a84861 /src/script/interpreter.h
parente3f5727590f5a2bb65f1fc7688305fe440ef404d (diff)
parentda918ac06e0d064e9584959ab3d241d03500e972 (diff)
downloadbitcoin-48e1765e2781541c0f8b0893b26d02f27eb5c444.tar.xz
Merge pull request #5143
da918ac Make SCRIPT_VERIFY_CLEANSTACK a standardness requirement (Pieter Wuille) b6e03cc Add SCRIPT_VERIFY_CLEANSTACK (BIP62 rule 6) (Pieter Wuille) ae4151b No semantic change: reuse stack variable in P2SH evaluation (Pieter Wuille)
Diffstat (limited to 'src/script/interpreter.h')
-rw-r--r--src/script/interpreter.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/script/interpreter.h b/src/script/interpreter.h
index 3c4e7d466a..8bf379ed89 100644
--- a/src/script/interpreter.h
+++ b/src/script/interpreter.h
@@ -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);