summaryrefslogtreecommitdiff
path: root/bip-tapscript.mediawiki
diff options
context:
space:
mode:
authorPieter Wuille <pieter.wuille@gmail.com>2019-09-23 15:00:34 -0700
committerGitHub <noreply@github.com>2019-09-23 15:00:34 -0700
commitd51109a03fddd86a08daeb939c19c769b34101c4 (patch)
treea70b4fbe95542bac4b0576dcb4e67746bd25a0eb /bip-tapscript.mediawiki
parent05efb5de8433dbafcb12458af48dbd76ccdf4e5d (diff)
parent079ae4b048c8f58ee98cefd864f15051cfdf0ccf (diff)
Merge pull request #76 from sipa/201909_tapscript_resource_fixups
Fixups
Diffstat (limited to 'bip-tapscript.mediawiki')
-rw-r--r--bip-tapscript.mediawiki3
1 files changed, 1 insertions, 2 deletions
diff --git a/bip-tapscript.mediawiki b/bip-tapscript.mediawiki
index f4aaf34..a40cfc8 100644
--- a/bip-tapscript.mediawiki
+++ b/bip-tapscript.mediawiki
@@ -59,7 +59,6 @@ Validation of such inputs must be equivalent to performing the following steps i
* Given that <code>OP_SUCCESSx</code> even causes potentially unparseable scripts to pass, it can be used to introduce multi-byte opcodes, or even a completely new scripting language when prefixed with a specific <code>OP_SUCCESSx</code> opcode.</ref>.
## If any push opcode fails to decode because it would extend past the end of the tapscript, fail.
# If the size of any element in the '''initial stack''' as defined in bip-taproot (i.e., the witness stack after removing both the optional annex and the two last stack elements after that) is bigger than 520 bytes, fail.
-# If the tapscript is bigger than 10000 bytes, fail.
# The tapscript is executed according to the rules in the following section, with the initial stack as input.
## If execution fails for any reason, fail.
## If the execution results in anything but exactly one element on the stack which evaluates to true with <code>CastToBool()</code>, fail.
@@ -92,7 +91,7 @@ The following rules apply to <code>OP_CHECKSIG</code>, <code>OP_CHECKSIGVERIFY</
*** For <code>OP_CHECKSIGVERIFY</code>, the script MUST fail and terminate immediately.
*** For <code>OP_CHECKSIG</code>, an empty vector is pushed onto the stack, and execution continues with the next opcode.
*** For <code>OP_CHECKSIGADD</code>, a <code>CScriptNum</code> with value <code>n</code> is pushed onto the stack, and execution continues with the next opcode.
-** If the signature is not the empty vector, the <code>sigops_passed</code> counter is incremented (see further)
+** If the signature is not the empty vector, the opcode is counted towards the sigops budget (see further).
*** For <code>OP_CHECKSIGVERIFY</code>, execution continues without any further changes to the stack.
*** For <code>OP_CHECKSIG</code>, a 1-byte value <code>0x01</code> is pushed onto the stack.
*** For <code>OP_CHECKSIGADD</code>, a <code>CScriptNum</code> with value of <code>n + 1</code> is pushed onto the stack.