Changeset View
Changeset View
Standalone View
Standalone View
src/script/interpreter.cpp
Show First 20 Lines • Show All 326 Lines • ▼ Show 20 Lines | try { | ||||
return set_error(serror, SCRIPT_ERR_PUSH_SIZE); | return set_error(serror, SCRIPT_ERR_PUSH_SIZE); | ||||
} | } | ||||
// Note how OP_RESERVED does not count towards the opcode limit. | // Note how OP_RESERVED does not count towards the opcode limit. | ||||
if (opcode > OP_16 && ++nOpCount > MAX_OPS_PER_SCRIPT) { | if (opcode > OP_16 && ++nOpCount > MAX_OPS_PER_SCRIPT) { | ||||
return set_error(serror, SCRIPT_ERR_OP_COUNT); | return set_error(serror, SCRIPT_ERR_OP_COUNT); | ||||
} | } | ||||
if (opcode == OP_CAT || opcode == OP_SUBSTR || opcode == OP_LEFT || | if (opcode == OP_CAT || opcode == OP_SPLIT || | ||||
opcode == OP_RIGHT || opcode == OP_INVERT || opcode == OP_AND || | opcode == OP_NUM2BIN || opcode == OP_BIN2NUM || | ||||
opcode == OP_OR || opcode == OP_XOR || opcode == OP_2MUL || | opcode == OP_INVERT || opcode == OP_AND || opcode == OP_OR || | ||||
opcode == OP_2DIV || opcode == OP_MUL || opcode == OP_DIV || | opcode == OP_XOR || opcode == OP_2MUL || opcode == OP_2DIV || | ||||
opcode == OP_MOD || opcode == OP_LSHIFT || | opcode == OP_MUL || opcode == OP_DIV || opcode == OP_MOD || | ||||
opcode == OP_RSHIFT) { | opcode == OP_LSHIFT || opcode == OP_RSHIFT) { | ||||
// Disabled opcodes. | // Disabled opcodes. | ||||
return set_error(serror, SCRIPT_ERR_DISABLED_OPCODE); | return set_error(serror, SCRIPT_ERR_DISABLED_OPCODE); | ||||
} | } | ||||
if (fExec && 0 <= opcode && opcode <= OP_PUSHDATA4) { | if (fExec && 0 <= opcode && opcode <= OP_PUSHDATA4) { | ||||
if (fRequireMinimal && | if (fRequireMinimal && | ||||
!CheckMinimalPush(vchPushValue, opcode)) { | !CheckMinimalPush(vchPushValue, opcode)) { | ||||
return set_error(serror, SCRIPT_ERR_MINIMALDATA); | return set_error(serror, SCRIPT_ERR_MINIMALDATA); | ||||
▲ Show 20 Lines • Show All 1,283 Lines • Show Last 20 Lines |