Skip to content

Commit

Permalink
change opcodes from enum to constants
Browse files Browse the repository at this point in the history
  • Loading branch information
lana-shanghai committed Sep 3, 2024
1 parent 60a1610 commit 2c23833
Showing 1 changed file with 127 additions and 130 deletions.
257 changes: 127 additions & 130 deletions src/core/script/opcodes.zig
Original file line number Diff line number Diff line change
@@ -1,141 +1,138 @@
pub const Opcodes = enum([]u8) {

// push value
OP_0 = 0x00,
OP_FALSE = 0x00,
OP_PUSHDATA1 = 0x4c,
OP_PUSHDATA2 = 0x4d,
OP_PUSHDATA4 = 0x4e,
OP_1NEGATE = 0x4f,
OP_RESERVED = 0x50,
OP_1 = 0x51,
OP_TRUE= 0x51,
OP_2 = 0x52,
OP_3 = 0x53,
OP_4 = 0x54,
OP_5 = 0x55,
OP_6 = 0x56,
OP_7 = 0x57,
OP_8 = 0x58,
OP_9 = 0x59,
OP_10 = 0x5a,
OP_11 = 0x5b,
OP_12 = 0x5c,
OP_13 = 0x5d,
OP_14 = 0x5e,
OP_15 = 0x5f,
OP_16 = 0x60,

// control
OP_NOP = 0x61,
OP_VER = 0x62,
OP_IF = 0x63,
OP_NOTIF = 0x64,
OP_VERIF = 0x65,
OP_VERNOTIF = 0x66,
OP_ELSE = 0x67,
OP_ENDIF = 0x68,
OP_VERIFY = 0x69,
OP_RETURN = 0x6a,
// push value
const OP_0 = 0x00;
const OP_FALSE = 0x00;
const OP_PUSHDATA1 = 0x4c;
const OP_PUSHDATA2 = 0x4d;
const OP_PUSHDATA4 = 0x4e;
const OP_1NEGATE = 0x4f;
const OP_RESERVED = 0x50;
const OP_1 = 0x51;
const OP_TRUE= 0x51;
const OP_2 = 0x52;
const OP_3 = 0x53;
const OP_4 = 0x54;
const OP_5 = 0x55;
const OP_6 = 0x56;
const OP_7 = 0x57;
const OP_8 = 0x58;
const OP_9 = 0x59;
const OP_10 = 0x5a;
const OP_11 = 0x5b;
const OP_12 = 0x5c;
const OP_13 = 0x5d;
const OP_14 = 0x5e;
const OP_15 = 0x5f;
const OP_16 = 0x60;

// stack ops
OP_TOALTSTACK = 0x6b,
OP_FROMALTSTACK = 0x6c,
OP_2DROP = 0x6d,
OP_2DUP = 0x6e,
OP_3DUP = 0x6f,
OP_2OVER = 0x70,
OP_2ROT = 0x71,
OP_2SWAP = 0x72,
OP_IFDUP = 0x73,
OP_DEPTH = 0x74,
OP_DROP = 0x75,
OP_DUP = 0x76,
OP_NIP = 0x77,
OP_OVER = 0x78,
OP_PICK = 0x79,
OP_ROLL = 0x7a,
OP_ROT = 0x7b,
OP_SWAP = 0x7c,
OP_TUCK = 0x7d,
// control
const OP_NOP = 0x61;
const OP_VER = 0x62;
const OP_IF = 0x63;
const OP_NOTIF = 0x64;
const OP_VERIF = 0x65;
const OP_VERNOTIF = 0x66;
const OP_ELSE = 0x67;
const OP_ENDIF = 0x68;
const OP_VERIFY = 0x69;
const OP_RETURN = 0x6a;

// splice ops
OP_CAT = 0x7e,
OP_SUBSTR = 0x7f,
OP_LEFT = 0x80,
OP_RIGHT = 0x81,
OP_SIZE = 0x82,
// stack ops
const OP_TOALTSTACK = 0x6b;
const OP_FROMALTSTACK = 0x6c;
const OP_2DROP = 0x6d;
const OP_2DUP = 0x6e;
const OP_3DUP = 0x6f;
const OP_2OVER = 0x70;
const OP_2ROT = 0x71;
const OP_2SWAP = 0x72;
const OP_IFDUP = 0x73;
const OP_DEPTH = 0x74;
const OP_DROP = 0x75;
const OP_DUP = 0x76;
const OP_NIP = 0x77;
const OP_OVER = 0x78;
const OP_PICK = 0x79;
const OP_ROLL = 0x7a;
const OP_ROT = 0x7b;
const OP_SWAP = 0x7c;
const OP_TUCK = 0x7d;

// bit logic
OP_INVERT = 0x83,
OP_AND = 0x84,
OP_OR = 0x85,
OP_XOR = 0x86,
OP_EQUAL = 0x87,
OP_EQUALVERIFY = 0x88,
OP_RESERVED1 = 0x89,
OP_RESERVED2 = 0x8a,
// splice ops
const OP_CAT = 0x7e;
const OP_SUBSTR = 0x7f;
const OP_LEFT = 0x80;
const OP_RIGHT = 0x81;
const OP_SIZE = 0x82;

// numeric
OP_1ADD = 0x8b,
OP_1SUB = 0x8c,
OP_2MUL = 0x8d,
OP_2DIV = 0x8e,
OP_NEGATE = 0x8f,
OP_ABS = 0x90,
OP_NOT = 0x91,
OP_0NOTEQUAL = 0x92,
// bit logic
const OP_INVERT = 0x83;
const OP_AND = 0x84;
const OP_OR = 0x85;
const OP_XOR = 0x86;
const OP_EQUAL = 0x87;
const OP_EQUALVERIFY = 0x88;
const OP_RESERVED1 = 0x89;
const OP_RESERVED2 = 0x8a;

OP_ADD = 0x93,
OP_SUB = 0x94,
OP_MUL = 0x95,
OP_DIV = 0x96,
OP_MOD = 0x97,
OP_LSHIFT = 0x98,
OP_RSHIFT = 0x99,
// numeric
const OP_1ADD = 0x8b;
const OP_1SUB = 0x8c;
const OP_2MUL = 0x8d;
const OP_2DIV = 0x8e;
const OP_NEGATE = 0x8f;
const OP_ABS = 0x90;
const OP_NOT = 0x91;
const OP_0NOTEQUAL = 0x92;

OP_BOOLAND = 0x9a,
OP_BOOLOR = 0x9b,
OP_NUMEQUAL = 0x9c,
OP_NUMEQUALVERIFY = 0x9d,
OP_NUMNOTEQUAL = 0x9e,
OP_LESSTHAN = 0x9f,
OP_GREATERTHAN = 0xa0,
OP_LESSTHANOREQUAL = 0xa1,
OP_GREATERTHANOREQUAL = 0xa2,
OP_MIN = 0xa3,
OP_MAX = 0xa4,
const OP_ADD = 0x93;
const OP_SUB = 0x94;
const OP_MUL = 0x95;
const OP_DIV = 0x96;
const OP_MOD = 0x97;
const OP_LSHIFT = 0x98;
const OP_RSHIFT = 0x99;

OP_WITHIN = 0xa5,
const OP_BOOLAND = 0x9a;
const OP_BOOLOR = 0x9b;
const OP_NUMEQUAL = 0x9c;
const OP_NUMEQUALVERIFY = 0x9d;
const OP_NUMNOTEQUAL = 0x9e;
const OP_LESSTHAN = 0x9f;
const OP_GREATERTHAN = 0xa0;
const OP_LESSTHANOREQUAL = 0xa1;
const OP_GREATERTHANOREQUAL = 0xa2;
const OP_MIN = 0xa3;
const OP_MAX = 0xa4;

// crypto
OP_RIPEMD160 = 0xa6,
OP_SHA1 = 0xa7,
OP_SHA256 = 0xa8,
OP_HASH160 = 0xa9,
OP_HASH256 = 0xaa,
OP_CODESEPARATOR = 0xab,
OP_CHECKSIG = 0xac,
OP_CHECKSIGVERIFY = 0xad,
OP_CHECKMULTISIG = 0xae,
OP_CHECKMULTISIGVERIFY = 0xaf,
const OP_WITHIN = 0xa5;

// expansion
OP_NOP1 = 0xb0,
OP_CHECKLOCKTIMEVERIFY = 0xb1,
OP_NOP2 = 0xb1,
OP_CHECKSEQUENCEVERIFY = 0xb2,
OP_NOP3 = 0xb2,
OP_NOP4 = 0xb3,
OP_NOP5 = 0xb4,
OP_NOP6 = 0xb5,
OP_NOP7 = 0xb6,
OP_NOP8 = 0xb7,
OP_NOP9 = 0xb8,
OP_NOP10 = 0xb9,
// crypto
const OP_RIPEMD160 = 0xa6;
const OP_SHA1 = 0xa7;
const OP_SHA256 = 0xa8;
const OP_HASH160 = 0xa9;
const OP_HASH256 = 0xaa;
const OP_CODESEPARATOR = 0xab;
const OP_CHECKSIG = 0xac;
const OP_CHECKSIGVERIFY = 0xad;
const OP_CHECKMULTISIG = 0xae;
const OP_CHECKMULTISIGVERIFY = 0xaf;

// Opcode added by BIP 342 (Tapscript)
OP_CHECKSIGADD = 0xba,
// expansion
const OP_NOP1 = 0xb0;
const OP_CHECKLOCKTIMEVERIFY = 0xb1;
const OP_NOP2 = 0xb1;
const OP_CHECKSEQUENCEVERIFY = 0xb2;
const OP_NOP3 = 0xb2;
const OP_NOP4 = 0xb3;
const OP_NOP5 = 0xb4;
const OP_NOP6 = 0xb5;
const OP_NOP7 = 0xb6;
const OP_NOP8 = 0xb7;
const OP_NOP9 = 0xb8;
const OP_NOP10 = 0xb9;

OP_INVALIDOPCODE = 0xff,
};
// Opcode added by BIP 342 (Tapscript)
const OP_CHECKSIGADD = 0xba;

const OP_INVALIDOPCODE = 0xff;

0 comments on commit 2c23833

Please sign in to comment.