@ -41,136 +41,136 @@ const char* GetTxnOutputType(txnouttype t);
enum opcodetype
enum opcodetype
{
{
// push value
// push value
OP_0 = 0 ,
OP_0 = 0x0 0 ,
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 ,