-
Notifications
You must be signed in to change notification settings - Fork 617
/
scriptEvalStackState.txt
166 lines (151 loc) · 7.05 KB
/
scriptEvalStackState.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
Testing ECDSA signing & verification -- arbitrary binary strings: *** PASSED ***
Testing ECDSA signing & verification -- two linked transactions:
OP_PUSHDATA : 30460221
OP_PUSHDATA : 30460221 0447d490
OP_DUP : 30460221 0447d490 0447d490
OP_HASH160 : 30460221 0447d490 02bf4b28
OP_PUSHDATA : 30460221 0447d490 02bf4b28 02bf4b28
OP_EQUALVERI: 30460221 0447d490
OP_CHECKSIG : *** PASSED ***
Created two addresses:
Address A: mp49ZevWbu1i9aCPwgDNZTeMjhJd6TBCUV
Address B: n3EBZajTESg6cUCpeJB2PhJmoDnFzBJzwZ
Creating transaction to send coins from A to B
Verifying the transaction we just created
OP_PUSHDATA : 30460221
OP_PUSHDATA : 30460221 046a04ab
OP_DUP : 30460221 046a04ab 046a04ab
OP_HASH160 : 30460221 046a04ab 5da74ed6
OP_PUSHDATA : 30460221 046a04ab 5da74ed6 5da74ed6
OP_EQUALVERI: 30460221 046a04ab
OP_CHECKSIG : *** PASSED ***
Verify tx from my fake blockchain (reorg unit-test):
OP_PUSHDATA : 30460221
OP_PUSHDATA : 30460221 04686807
OP_DUP : 30460221 04686807 04686807
OP_HASH160 : 30460221 04686807 ee26c56f
OP_PUSHDATA : 30460221 04686807 ee26c56f ee26c56f
OP_EQUALVERI: 30460221 04686807
OP_CHECKSIG : *** PASSED ***
Verify 2-of-2 tx from Testnet:
OP_PUSHDATA : 30450220
OP_PUSHDATA : 30450220 04e83c1d
OP_PUSHDATA : 30450220 04e83c1d 30460221
OP_PUSHDATA : 30450220 04e83c1d 30460221 047cf315
OP_2 : 30450220 04e83c1d 30460221 047cf315 2
OP_TOALTSTAC: 30450220 04e83c1d 30460221 047cf315
OP_0 : 30450220 04e83c1d 30460221 047cf315 0
OP_TOALTSTAC: 30450220 04e83c1d 30460221 047cf315
OP_TUCK : 30450220 04e83c1d 047cf315 30460221 047cf315
OP_CHECKSIG : 30450220 04e83c1d 047cf315 1
OP_SWAP : 30450220 04e83c1d 1 047cf315
OP_HASH160 : 30450220 04e83c1d 1 fc124397
OP_PUSHDATA : 30450220 04e83c1d 1 fc124397 fc124397
OP_EQUAL : 30450220 04e83c1d 1 1
OP_BOOLAND : 30450220 04e83c1d 1
OP_FROMALTST: 30450220 04e83c1d 1 0
OP_ADD : 30450220 04e83c1d 1
OP_TOALTSTAC: 30450220 04e83c1d
OP_TUCK : 04e83c1d 30450220 04e83c1d
OP_CHECKSIG : 04e83c1d 1
OP_SWAP : 1 04e83c1d
OP_HASH160 : 1 375dd72e
OP_PUSHDATA : 1 375dd72e 375dd72e
OP_EQUAL : 1 1
OP_BOOLAND : 1
OP_FROMALTST: 1 1
OP_ADD : 2
OP_TOALTSTAC:
OP_FROMALTST: 2
OP_FROMALTST: 2 2
OP_GREATERTH: *** PASSED ***
Verify 2-of-3 tx from Testnet :
OP_PUSHDATA : 30440220
OP_PUSHDATA : 30440220 0459fd82
OP_PUSHDATA : 30440220 0459fd82 30450221
OP_PUSHDATA : 30440220 0459fd82 30450221 04ce6242
OP_PUSHDATA : 30440220 0459fd82 30450221 04ce6242 30450220
OP_PUSHDATA : 30440220 0459fd82 30450221 04ce6242 30450220 04ce66c9
OP_2 : 30440220 0459fd82 30450221 04ce6242 30450220 04ce66c9 2
OP_TOALTSTAC: 30440220 0459fd82 30450221 04ce6242 30450220 04ce66c9
OP_0 : 30440220 0459fd82 30450221 04ce6242 30450220 04ce66c9 0
OP_TOALTSTAC: 30440220 0459fd82 30450221 04ce6242 30450220 04ce66c9
OP_TUCK : 30440220 0459fd82 30450221 04ce6242 04ce66c9 30450220 04ce66c9
OP_CHECKSIG : 30440220 0459fd82 30450221 04ce6242 04ce66c9 1
OP_SWAP : 30440220 0459fd82 30450221 04ce6242 1 04ce66c9
OP_HASH160 : 30440220 0459fd82 30450221 04ce6242 1 3cd1def4
OP_PUSHDATA : 30440220 0459fd82 30450221 04ce6242 1 3cd1def4 3cd1def4
OP_EQUAL : 30440220 0459fd82 30450221 04ce6242 1 1
OP_BOOLAND : 30440220 0459fd82 30450221 04ce6242 1
OP_FROMALTST: 30440220 0459fd82 30450221 04ce6242 1 0
OP_ADD : 30440220 0459fd82 30450221 04ce6242 1
OP_TOALTSTAC: 30440220 0459fd82 30450221 04ce6242
OP_TUCK : 30440220 0459fd82 04ce6242 30450221 04ce6242
OP_CHECKSIG : 30440220 0459fd82 04ce6242 1
OP_SWAP : 30440220 0459fd82 1 04ce6242
OP_HASH160 : 30440220 0459fd82 1 6a4e7d5f
OP_PUSHDATA : 30440220 0459fd82 1 6a4e7d5f 6a4e7d5f
OP_EQUAL : 30440220 0459fd82 1 1
OP_BOOLAND : 30440220 0459fd82 1
OP_FROMALTST: 30440220 0459fd82 1 1
OP_ADD : 30440220 0459fd82 2
OP_TOALTSTAC: 30440220 0459fd82
OP_TUCK : 0459fd82 30440220 0459fd82
OP_CHECKSIG : 0459fd82 1
OP_SWAP : 1 0459fd82
OP_HASH160 : 1 486efdd3
OP_PUSHDATA : 1 486efdd3 486efdd3
OP_EQUAL : 1 1
OP_BOOLAND : 1
OP_FROMALTST: 1 2
OP_ADD : 3
OP_TOALTSTAC:
OP_FROMALTST: 3
OP_FROMALTST: 3 2
OP_GREATERTH: *** PASSED ***
Verify OP_CHECKMULTISIG tx from Testnet:
OP_0 : 0
OP_PUSHDATA : 0 30460221
OP_PUSHDATA : 0 30460221 30440220
OP_2 : 0 30460221 30440220 2
OP_PUSHDATA : 0 30460221 30440220 2 048c006f
OP_PUSHDATA : 0 30460221 30440220 2 048c006f 04b68ef7
OP_0 : 0 30460221 30440220 2 048c006f 04b68ef7 0
OP_3 : 0 30460221 30440220 2 048c006f 04b68ef7 0 3
OP_ROLL : 0 30460221 30440220 048c006f 04b68ef7 0 2
OP_DUP : 0 30460221 30440220 048c006f 04b68ef7 0 2 2
OP_2 : 0 30460221 30440220 048c006f 04b68ef7 0 2 2 2
OP_GREATERTH: 0 30460221 30440220 048c006f 04b68ef7 0 2 1
OP_VERIFY : 0 30460221 30440220 048c006f 04b68ef7 0 2
OP_3 : 0 30460221 30440220 048c006f 04b68ef7 0 2 3
OP_ROLL : 0 30460221 30440220 04b68ef7 0 2 048c006f
OP_SIZE : 0 30460221 30440220 04b68ef7 0 2 048c006f 65
OP_NOT : 0 30460221 30440220 04b68ef7 0 2 048c006f 0
OP_OVER : 0 30460221 30440220 04b68ef7 0 2 048c006f 0 048c006f
OP_HASH160 : 0 30460221 30440220 04b68ef7 0 2 048c006f 0 80677c53
OP_PUSHDATA : 0 30460221 30440220 04b68ef7 0 2 048c006f 0 80677c53 80677c53
OP_EQUAL : 0 30460221 30440220 04b68ef7 0 2 048c006f 0 1
OP_BOOLOR : 0 30460221 30440220 04b68ef7 0 2 048c006f 1
OP_VERIFY : 0 30460221 30440220 04b68ef7 0 2 048c006f
OP_3 : 0 30460221 30440220 04b68ef7 0 2 048c006f 3
OP_ROLL : 0 30460221 30440220 0 2 048c006f 04b68ef7
OP_SIZE : 0 30460221 30440220 0 2 048c006f 04b68ef7 65
OP_NOT : 0 30460221 30440220 0 2 048c006f 04b68ef7 0
OP_OVER : 0 30460221 30440220 0 2 048c006f 04b68ef7 0 04b68ef7
OP_HASH160 : 0 30460221 30440220 0 2 048c006f 04b68ef7 0 02d7aa2e
OP_PUSHDATA : 0 30460221 30440220 0 2 048c006f 04b68ef7 0 02d7aa2e 02d7aa2e
OP_EQUAL : 0 30460221 30440220 0 2 048c006f 04b68ef7 0 1
OP_BOOLOR : 0 30460221 30440220 0 2 048c006f 04b68ef7 1
OP_VERIFY : 0 30460221 30440220 0 2 048c006f 04b68ef7
OP_3 : 0 30460221 30440220 0 2 048c006f 04b68ef7 3
OP_ROLL : 0 30460221 30440220 2 048c006f 04b68ef7 0
OP_SIZE : 0 30460221 30440220 2 048c006f 04b68ef7 0 0
OP_NOT : 0 30460221 30440220 2 048c006f 04b68ef7 0 1
OP_OVER : 0 30460221 30440220 2 048c006f 04b68ef7 0 1 0
OP_HASH160 : 0 30460221 30440220 2 048c006f 04b68ef7 0 1 b472a266
OP_PUSHDATA : 0 30460221 30440220 2 048c006f 04b68ef7 0 1 b472a266 10039ce4
OP_EQUAL : 0 30460221 30440220 2 048c006f 04b68ef7 0 1 0
OP_BOOLOR : 0 30460221 30440220 2 048c006f 04b68ef7 0 1
OP_VERIFY : 0 30460221 30440220 2 048c006f 04b68ef7 0
OP_3 : 0 30460221 30440220 2 048c006f 04b68ef7 0 3
OP_CHECKMULT: *** PASSED ***