Add explicit numeric constant value for all opcodes

- Easier for debugging (what opcode was 0x... again?)
- Clarifies that the opcodes are set in stone in the protocol, and signals that it is impossible to insert opcodes in between.
This commit is contained in:
Wladimir J. van der Laan 2012-04-21 10:10:48 +02:00
parent 00b9c0f4b2
commit 7be8b2ff9c

View File

@ -41,136 +41,136 @@ const char* GetTxnOutputType(txnouttype t);
enum opcodetype enum opcodetype
{ {
// push value // push value
OP_0=0, OP_0 = 0x00,
OP_FALSE = OP_0, OP_FALSE = OP_0,
OP_PUSHDATA1=76, OP_PUSHDATA1 = 0x4c,
OP_PUSHDATA2, OP_PUSHDATA2 = 0x4d,
OP_PUSHDATA4, OP_PUSHDATA4 = 0x4e,
OP_1NEGATE, OP_1NEGATE = 0x4f,
OP_RESERVED, OP_RESERVED = 0x50,
OP_1, OP_1 = 0x51,
OP_TRUE=OP_1, OP_TRUE=OP_1,
OP_2, OP_2 = 0x52,
OP_3, OP_3 = 0x53,
OP_4, OP_4 = 0x54,
OP_5, OP_5 = 0x55,
OP_6, OP_6 = 0x56,
OP_7, OP_7 = 0x57,
OP_8, OP_8 = 0x58,
OP_9, OP_9 = 0x59,
OP_10, OP_10 = 0x5a,
OP_11, OP_11 = 0x5b,
OP_12, OP_12 = 0x5c,
OP_13, OP_13 = 0x5d,
OP_14, OP_14 = 0x5e,
OP_15, OP_15 = 0x5f,
OP_16, OP_16 = 0x60,
// control // control
OP_NOP, OP_NOP = 0x61,
OP_VER, OP_VER = 0x62,
OP_IF, OP_IF = 0x63,
OP_NOTIF, OP_NOTIF = 0x64,
OP_VERIF, OP_VERIF = 0x65,
OP_VERNOTIF, OP_VERNOTIF = 0x66,
OP_ELSE, OP_ELSE = 0x67,
OP_ENDIF, OP_ENDIF = 0x68,
OP_VERIFY, OP_VERIFY = 0x69,
OP_RETURN, OP_RETURN = 0x6a,
// stack ops // stack ops
OP_TOALTSTACK, OP_TOALTSTACK = 0x6b,
OP_FROMALTSTACK, OP_FROMALTSTACK = 0x6c,
OP_2DROP, OP_2DROP = 0x6d,
OP_2DUP, OP_2DUP = 0x6e,
OP_3DUP, OP_3DUP = 0x6f,
OP_2OVER, OP_2OVER = 0x70,
OP_2ROT, OP_2ROT = 0x71,
OP_2SWAP, OP_2SWAP = 0x72,
OP_IFDUP, OP_IFDUP = 0x73,
OP_DEPTH, OP_DEPTH = 0x74,
OP_DROP, OP_DROP = 0x75,
OP_DUP, OP_DUP = 0x76,
OP_NIP, OP_NIP = 0x77,
OP_OVER, OP_OVER = 0x78,
OP_PICK, OP_PICK = 0x79,
OP_ROLL, OP_ROLL = 0x7a,
OP_ROT, OP_ROT = 0x7b,
OP_SWAP, OP_SWAP = 0x7c,
OP_TUCK, OP_TUCK = 0x7d,
// splice ops // splice ops
OP_CAT, OP_CAT = 0x7e,
OP_SUBSTR, OP_SUBSTR = 0x7f,
OP_LEFT, OP_LEFT = 0x80,
OP_RIGHT, OP_RIGHT = 0x81,
OP_SIZE, OP_SIZE = 0x82,
// bit logic // bit logic
OP_INVERT, OP_INVERT = 0x83,
OP_AND, OP_AND = 0x84,
OP_OR, OP_OR = 0x85,
OP_XOR, OP_XOR = 0x86,
OP_EQUAL, OP_EQUAL = 0x87,
OP_EQUALVERIFY, OP_EQUALVERIFY = 0x88,
OP_RESERVED1, OP_RESERVED1 = 0x89,
OP_RESERVED2, OP_RESERVED2 = 0x8a,
// numeric // numeric
OP_1ADD, OP_1ADD = 0x8b,
OP_1SUB, OP_1SUB = 0x8c,
OP_2MUL, OP_2MUL = 0x8d,
OP_2DIV, OP_2DIV = 0x8e,
OP_NEGATE, OP_NEGATE = 0x8f,
OP_ABS, OP_ABS = 0x90,
OP_NOT, OP_NOT = 0x91,
OP_0NOTEQUAL, OP_0NOTEQUAL = 0x92,
OP_ADD, OP_ADD = 0x93,
OP_SUB, OP_SUB = 0x94,
OP_MUL, OP_MUL = 0x95,
OP_DIV, OP_DIV = 0x96,
OP_MOD, OP_MOD = 0x97,
OP_LSHIFT, OP_LSHIFT = 0x98,
OP_RSHIFT, OP_RSHIFT = 0x99,
OP_BOOLAND, OP_BOOLAND = 0x9a,
OP_BOOLOR, OP_BOOLOR = 0x9b,
OP_NUMEQUAL, OP_NUMEQUAL = 0x9c,
OP_NUMEQUALVERIFY, OP_NUMEQUALVERIFY = 0x9d,
OP_NUMNOTEQUAL, OP_NUMNOTEQUAL = 0x9e,
OP_LESSTHAN, OP_LESSTHAN = 0x9f,
OP_GREATERTHAN, OP_GREATERTHAN = 0xa0,
OP_LESSTHANOREQUAL, OP_LESSTHANOREQUAL = 0xa1,
OP_GREATERTHANOREQUAL, OP_GREATERTHANOREQUAL = 0xa2,
OP_MIN, OP_MIN = 0xa3,
OP_MAX, OP_MAX = 0xa4,
OP_WITHIN, OP_WITHIN = 0xa5,
// crypto // crypto
OP_RIPEMD160, OP_RIPEMD160 = 0xa6,
OP_SHA1, OP_SHA1 = 0xa7,
OP_SHA256, OP_SHA256 = 0xa8,
OP_HASH160, OP_HASH160 = 0xa9,
OP_HASH256, OP_HASH256 = 0xaa,
OP_CODESEPARATOR, OP_CODESEPARATOR = 0xab,
OP_CHECKSIG, OP_CHECKSIG = 0xac,
OP_CHECKSIGVERIFY, OP_CHECKSIGVERIFY = 0xad,
OP_CHECKMULTISIG, OP_CHECKMULTISIG = 0xae,
OP_CHECKMULTISIGVERIFY, OP_CHECKMULTISIGVERIFY = 0xaf,
// expansion // expansion
OP_NOP1, OP_NOP1 = 0xb0,
OP_NOP2, OP_NOP2 = 0xb1,
OP_NOP3, OP_NOP3 = 0xb2,
OP_NOP4, OP_NOP4 = 0xb3,
OP_NOP5, OP_NOP5 = 0xb4,
OP_NOP6, OP_NOP6 = 0xb5,
OP_NOP7, OP_NOP7 = 0xb6,
OP_NOP8, OP_NOP8 = 0xb7,
OP_NOP9, OP_NOP9 = 0xb8,
OP_NOP10, OP_NOP10 = 0xb9,