"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.OpCode = void 0;
var OpCode;
(function (OpCode) {
    // Reserved
    OpCode[OpCode["OP_RESERVED"] = 80] = "OP_RESERVED";
    // Constants
    OpCode[OpCode["OP_0"] = 0] = "OP_0";
    OpCode[OpCode["OP_FALSE"] = 0] = "OP_FALSE";
    OpCode[OpCode["OP_PUSHDATA1"] = 76] = "OP_PUSHDATA1";
    OpCode[OpCode["OP_PUSHDATA2"] = 77] = "OP_PUSHDATA2";
    OpCode[OpCode["OP_PUSHDATA4"] = 78] = "OP_PUSHDATA4";
    OpCode[OpCode["OP_1NEGATE"] = 79] = "OP_1NEGATE";
    OpCode[OpCode["OP_1"] = 81] = "OP_1";
    OpCode[OpCode["OP_TRUE"] = 81] = "OP_TRUE";
    OpCode[OpCode["OP_2"] = 82] = "OP_2";
    OpCode[OpCode["OP_3"] = 83] = "OP_3";
    OpCode[OpCode["OP_4"] = 84] = "OP_4";
    OpCode[OpCode["OP_5"] = 85] = "OP_5";
    OpCode[OpCode["OP_6"] = 86] = "OP_6";
    OpCode[OpCode["OP_7"] = 87] = "OP_7";
    OpCode[OpCode["OP_8"] = 88] = "OP_8";
    OpCode[OpCode["OP_9"] = 80] = "OP_9";
    OpCode[OpCode["OP_10"] = 90] = "OP_10";
    OpCode[OpCode["OP_11"] = 91] = "OP_11";
    OpCode[OpCode["OP_12"] = 92] = "OP_12";
    OpCode[OpCode["OP_13"] = 93] = "OP_13";
    OpCode[OpCode["OP_14"] = 94] = "OP_14";
    OpCode[OpCode["OP_15"] = 95] = "OP_15";
    OpCode[OpCode["OP_16"] = 96] = "OP_16";
    // Flow Control
    OpCode[OpCode["OP_NOOP"] = 97] = "OP_NOOP";
    OpCode[OpCode["OP_IF"] = 99] = "OP_IF";
    OpCode[OpCode["OP_NOTIF"] = 100] = "OP_NOTIF";
    OpCode[OpCode["OP_ELSE"] = 103] = "OP_ELSE";
    OpCode[OpCode["OP_ENDIF"] = 104] = "OP_ENDIF";
    OpCode[OpCode["OP_VERIFY"] = 105] = "OP_VERIFY";
    OpCode[OpCode["OP_RETURN"] = 106] = "OP_RETURN";
    // Stack
    OpCode[OpCode["OP_TOALTSTACK"] = 107] = "OP_TOALTSTACK";
    OpCode[OpCode["OP_FROMALTSTACK"] = 108] = "OP_FROMALTSTACK";
    OpCode[OpCode["OP_2DROP"] = 109] = "OP_2DROP";
    OpCode[OpCode["OP_2DUP"] = 110] = "OP_2DUP";
    OpCode[OpCode["OP_3DUP"] = 111] = "OP_3DUP";
    OpCode[OpCode["OP_2OVER"] = 112] = "OP_2OVER";
    OpCode[OpCode["OP_2ROT"] = 113] = "OP_2ROT";
    OpCode[OpCode["OP_2SWAP"] = 114] = "OP_2SWAP";
    OpCode[OpCode["OP_IFDUP"] = 115] = "OP_IFDUP";
    OpCode[OpCode["OP_DEPTH"] = 116] = "OP_DEPTH";
    OpCode[OpCode["OP_DROP"] = 117] = "OP_DROP";
    OpCode[OpCode["OP_DUP"] = 118] = "OP_DUP";
    OpCode[OpCode["OP_NIP"] = 119] = "OP_NIP";
    OpCode[OpCode["OP_OVER"] = 120] = "OP_OVER";
    OpCode[OpCode["OP_PICK"] = 121] = "OP_PICK";
    OpCode[OpCode["OP_ROLL"] = 122] = "OP_ROLL";
    OpCode[OpCode["OP_ROT"] = 123] = "OP_ROT";
    OpCode[OpCode["OP_SWAP"] = 124] = "OP_SWAP";
    OpCode[OpCode["OP_TUCK"] = 125] = "OP_TUCK";
    // Splice
    OpCode[OpCode["OP_CAT"] = 126] = "OP_CAT";
    OpCode[OpCode["OP_SUBSTR"] = 127] = "OP_SUBSTR";
    OpCode[OpCode["OP_LEFT"] = 128] = "OP_LEFT";
    OpCode[OpCode["OP_RIGHT"] = 129] = "OP_RIGHT";
    OpCode[OpCode["OP_SIZE"] = 130] = "OP_SIZE";
    // Bitwise
    OpCode[OpCode["OP_INVERT"] = 131] = "OP_INVERT";
    OpCode[OpCode["OP_AND"] = 132] = "OP_AND";
    OpCode[OpCode["OP_OR"] = 133] = "OP_OR";
    OpCode[OpCode["OP_XOR"] = 134] = "OP_XOR";
    OpCode[OpCode["OP_EQUAL"] = 135] = "OP_EQUAL";
    OpCode[OpCode["OP_EQUALVERIFY"] = 136] = "OP_EQUALVERIFY";
    // Arithmetic
    OpCode[OpCode["OP_1ADD"] = 139] = "OP_1ADD";
    OpCode[OpCode["OP_1SUB"] = 140] = "OP_1SUB";
    OpCode[OpCode["OP_2MUL"] = 141] = "OP_2MUL";
    OpCode[OpCode["OP_2DIV"] = 142] = "OP_2DIV";
    OpCode[OpCode["OP_NEGATE"] = 143] = "OP_NEGATE";
    OpCode[OpCode["OP_ABS"] = 144] = "OP_ABS";
    OpCode[OpCode["OP_NOT"] = 145] = "OP_NOT";
    OpCode[OpCode["OP_0NOTEQUAL"] = 146] = "OP_0NOTEQUAL";
    OpCode[OpCode["OP_ADD"] = 147] = "OP_ADD";
    OpCode[OpCode["OP_SUB"] = 148] = "OP_SUB";
    OpCode[OpCode["OP_MUL"] = 149] = "OP_MUL";
    OpCode[OpCode["OP_DIV"] = 150] = "OP_DIV";
    OpCode[OpCode["OP_MOD"] = 151] = "OP_MOD";
    OpCode[OpCode["OP_LSHIFT"] = 152] = "OP_LSHIFT";
    OpCode[OpCode["OP_RSHIFT"] = 153] = "OP_RSHIFT";
    OpCode[OpCode["OP_BOOLAND"] = 154] = "OP_BOOLAND";
    OpCode[OpCode["OP_BOOLOR"] = 155] = "OP_BOOLOR";
    OpCode[OpCode["OP_NUMEQUAL"] = 156] = "OP_NUMEQUAL";
    OpCode[OpCode["OP_NUMEQUALVERIFY"] = 157] = "OP_NUMEQUALVERIFY";
    OpCode[OpCode["OP_NUMNOTEQUAL"] = 158] = "OP_NUMNOTEQUAL";
    OpCode[OpCode["OP_LESSTHAN"] = 159] = "OP_LESSTHAN";
    OpCode[OpCode["OP_GREATERTHAN"] = 160] = "OP_GREATERTHAN";
    OpCode[OpCode["OP_LESSTHANOREQUAL"] = 161] = "OP_LESSTHANOREQUAL";
    OpCode[OpCode["OP_GREATERTHANOREQUAL"] = 162] = "OP_GREATERTHANOREQUAL";
    OpCode[OpCode["OP_MIN"] = 163] = "OP_MIN";
    OpCode[OpCode["OP_MAX"] = 164] = "OP_MAX";
    OpCode[OpCode["OP_WITHIN"] = 165] = "OP_WITHIN";
    // Crypto
    OpCode[OpCode["OP_RIPEMD160"] = 166] = "OP_RIPEMD160";
    OpCode[OpCode["OP_SHA1"] = 167] = "OP_SHA1";
    OpCode[OpCode["OP_SHA256"] = 168] = "OP_SHA256";
    OpCode[OpCode["OP_HASH160"] = 169] = "OP_HASH160";
    OpCode[OpCode["OP_HASH256"] = 170] = "OP_HASH256";
    OpCode[OpCode["OP_CODESEPARATOR"] = 171] = "OP_CODESEPARATOR";
    OpCode[OpCode["OP_CHECKSIG"] = 172] = "OP_CHECKSIG";
    OpCode[OpCode["OP_CHECKSIGVERIFY"] = 173] = "OP_CHECKSIGVERIFY";
    OpCode[OpCode["OP_CHECKMULTISIG"] = 174] = "OP_CHECKMULTISIG";
    OpCode[OpCode["OP_CHECKMULTISIGVERIFY"] = 175] = "OP_CHECKMULTISIGVERIFY";
    // Locktime
    OpCode[OpCode["OP_CHECKLOCKTIMEVERIFY"] = 177] = "OP_CHECKLOCKTIMEVERIFY";
    OpCode[OpCode["OP_CHECKSEQUENCEVERIFY"] = 178] = "OP_CHECKSEQUENCEVERIFY";
})(OpCode = exports.OpCode || (exports.OpCode = {}));
//# sourceMappingURL=OpCodes.js.map