 |
PRCYCoin
2.0.0.7rc1
P2P Digital Currency
|
Go to the documentation of this file.
11 inline std::string ValueString(
const std::vector<unsigned char>& vch)
26 case OP_0 :
return "0";
32 case OP_1 :
return "1";
33 case OP_2 :
return "2";
34 case OP_3 :
return "3";
35 case OP_4 :
return "4";
36 case OP_5 :
return "5";
37 case OP_6 :
return "6";
38 case OP_7 :
return "7";
39 case OP_8 :
return "8";
40 case OP_9 :
return "9";
41 case OP_10 :
return "10";
42 case OP_11 :
return "11";
43 case OP_12 :
return "12";
44 case OP_13 :
return "13";
45 case OP_14 :
return "14";
46 case OP_15 :
return "15";
47 case OP_16 :
return "16";
50 case OP_NOP :
return "OP_NOP";
51 case OP_VER :
return "OP_VER";
52 case OP_IF :
return "OP_IF";
56 case OP_ELSE :
return "OP_ELSE";
65 case OP_2DUP :
return "OP_2DUP";
66 case OP_3DUP :
return "OP_3DUP";
68 case OP_2ROT :
return "OP_2ROT";
72 case OP_DROP :
return "OP_DROP";
73 case OP_DUP :
return "OP_DUP";
74 case OP_NIP :
return "OP_NIP";
75 case OP_OVER :
return "OP_OVER";
76 case OP_PICK :
return "OP_PICK";
77 case OP_ROLL :
return "OP_ROLL";
78 case OP_ROT :
return "OP_ROT";
79 case OP_SWAP :
return "OP_SWAP";
80 case OP_TUCK :
return "OP_TUCK";
83 case OP_CAT :
return "OP_CAT";
85 case OP_LEFT :
return "OP_LEFT";
87 case OP_SIZE :
return "OP_SIZE";
91 case OP_AND :
return "OP_AND";
92 case OP_OR :
return "OP_OR";
93 case OP_XOR :
return "OP_XOR";
100 case OP_1ADD :
return "OP_1ADD";
101 case OP_1SUB :
return "OP_1SUB";
102 case OP_2MUL :
return "OP_2MUL";
103 case OP_2DIV :
return "OP_2DIV";
105 case OP_ABS :
return "OP_ABS";
106 case OP_NOT :
return "OP_NOT";
108 case OP_ADD :
return "OP_ADD";
109 case OP_SUB :
return "OP_SUB";
110 case OP_MUL :
return "OP_MUL";
111 case OP_DIV :
return "OP_DIV";
112 case OP_MOD :
return "OP_MOD";
124 case OP_MIN :
return "OP_MIN";
125 case OP_MAX :
return "OP_MAX";
130 case OP_SHA1 :
return "OP_SHA1";
141 case OP_NOP1 :
return "OP_NOP1";
142 case OP_NOP2 :
return "OP_NOP2";
143 case OP_NOP3 :
return "OP_NOP3";
144 case OP_NOP4 :
return "OP_NOP4";
145 case OP_NOP5 :
return "OP_NOP5";
146 case OP_NOP6 :
return "OP_NOP6";
147 case OP_NOP7 :
return "OP_NOP7";
148 case OP_NOP8 :
return "OP_NOP8";
149 case OP_NOP9 :
return "OP_NOP9";
171 if (!
GetOp(pc, opcode))
177 if (fAccurate && lastOpcode >=
OP_1 && lastOpcode <=
OP_16)
196 std::vector<unsigned char>
data;
197 while (pc < scriptSig.
end())
213 if(this->
size() != 25)
return false;
223 if( i == 0 && opcode !=
OP_DUP)
return false;
224 else if(i == 1 && opcode !=
OP_HASH160)
return false;
226 else if(i == 4 && opcode !=
OP_CHECKSIG)
return false;
227 else if(i == 5)
return false;
238 return (this->
size() == 23 &&
240 (*
this)[1] == 0x14 &&
249 if (!
GetOp(pc, opcode))
270 std::vector<unsigned char> vch;
276 if (!
GetOp(pc, opcode, vch))
282 str += ValueString(vch);
const char * GetOpName(opcodetype opcode)
bool IsNormalPaymentScript() const
static int DecodeOP_N(opcodetype opcode)
Encode/decode small integers:
bool IsPayToScriptHash() const
bool GetOp(iterator &pc, opcodetype &opcodeRet, std::vector< unsigned char > &vchRet)
std::string HexStr(const T itbegin, const T itend, bool fSpaces=false)
Serialized script, used inside transaction inputs and outputs.
std::string ToString() const
unsigned int GetSigOpCount(bool fAccurate) const
Pre-version-0.6, Bitcoin always counted CHECKMULTISIGs as 20 sigops.
opcodetype
Script opcodes.