diff --git a/src/Script/Interpreter/Interpreter.php b/src/Script/Interpreter/Interpreter.php index 4e552fe95..2323a21d7 100644 --- a/src/Script/Interpreter/Interpreter.php +++ b/src/Script/Interpreter/Interpreter.php @@ -564,6 +564,7 @@ public function evaluate(ScriptInterface $script, Stack $mainStack, int $sigVers } $hashStartPos = 0; $opCount = 0; + $opCodePos = 0; $zero = gmp_init(0, 10); $altStack = new Stack(); $vfStack = new Stack(); @@ -1072,6 +1073,7 @@ public function evaluate(ScriptInterface $script, Stack $mainStack, int $sigVers case Opcodes::OP_CODESEPARATOR: $hashStartPos = $parser->getPosition(); + $execContext->setCodeSeparatorPosition($opCodePos); break; case Opcodes::OP_CHECKSIGADD: @@ -1231,6 +1233,8 @@ public function evaluate(ScriptInterface $script, Stack $mainStack, int $sigVers if (count($mainStack) + count($altStack) > self::MAX_STACK_SIZE) { throw new \RuntimeException('Invalid stack size, exceeds 1000'); } + + $opCodePos++; } }