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
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
|
{
"schemaVersion": "2.0.0",
"contractName": "ERC20Token",
"compilerOutput": {
"abi": [
{
"constant": false,
"inputs": [
{
"name": "_spender",
"type": "address"
},
{
"name": "_value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_from",
"type": "address"
},
{
"name": "_to",
"type": "address"
},
{
"name": "_value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_owner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_to",
"type": "address"
},
{
"name": "_value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_owner",
"type": "address"
},
{
"name": "_spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_from",
"type": "address"
},
{
"indexed": true,
"name": "_to",
"type": "address"
},
{
"indexed": false,
"name": "_value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_owner",
"type": "address"
},
{
"indexed": true,
"name": "_spender",
"type": "address"
},
{
"indexed": false,
"name": "_value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
}
],
"evm": {
"bytecode": {
"linkReferences": {},
"object": "0x608060405234801561001057600080fd5b506108aa806100206000396000f3006080604052600436106100775763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663095ea7b3811461007c57806318160ddd146100b257806323b872dd146100d457806370a08231146100f4578063a9059cbb14610114578063dd62ed3e14610134575b600080fd5b34801561008857600080fd5b5061009c610097366004610749565b610154565b6040516100a991906107c6565b60405180910390f35b3480156100be57600080fd5b506100c76101cc565b6040516100a991906107e5565b3480156100e057600080fd5b5061009c6100ef3660046106fc565b6101d2565b34801561010057600080fd5b506100c761010f36600461069c565b61046e565b34801561012057600080fd5b5061009c61012f366004610749565b610496565b34801561014057600080fd5b506100c761014f3660046106c2565b610645565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906101ba9086906107e5565b60405180910390a35060015b92915050565b60025481565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320548151808301909252601a82527f45524332305f494e53554646494349454e545f42414c414e43450000000000009282019290925290831115610271576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026891906107d4565b60405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338452825291829020548251808401909352601c83527f45524332305f494e53554646494349454e545f414c4c4f57414e43450000000091830191909152831115610312576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026891906107d4565b5073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604091829020548251606081018452602581527f5472616e7366657220776f756c6420726573756c7420696e20616e206f766572928101929092527f666c6f772e000000000000000000000000000000000000000000000000000000928201929092529083810110156103d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026891906107d4565b5073ffffffffffffffffffffffffffffffffffffffff8084166000818152602081815260408083208054880190559388168083528483208054889003905560018252848320338452909152908390208054869003905591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061045c9086906107e5565b60405180910390a35060019392505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b33600090815260208181526040808320548151808301909252601a82527f45524332305f494e53554646494349454e545f42414c414e43450000000000009282019290925290831115610516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026891906107d4565b5073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604091829020548251606081018452602581527f5472616e7366657220776f756c6420726573756c7420696e20616e206f766572928101929092527f666c6f772e000000000000000000000000000000000000000000000000000000928201929092529083810110156105d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026891906107d4565b50336000818152602081905260408082208054869003905573ffffffffffffffffffffffffffffffffffffffff861680835291819020805486019055519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906101ba9086906107e5565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600061068982356107ff565b9392505050565b600061068982356107fc565b6000602082840312156106ae57600080fd5b60006106ba848461067d565b949350505050565b600080604083850312156106d557600080fd5b60006106e1858561067d565b92505060206106f28582860161067d565b9150509250929050565b60008060006060848603121561071157600080fd5b600061071d868661067d565b935050602061072e8682870161067d565b925050604061073f86828701610690565b9150509250925092565b6000806040838503121561075c57600080fd5b6000610768858561067d565b92505060206106f285828601610690565b610782816107f7565b82525050565b6000610793826107f3565b8084526107a7816020860160208601610818565b6107b081610848565b9093016020019392505050565b610782816107fc565b602081016101c68284610779565b602080825281016106898184610788565b602081016101c682846107bd565b5190565b151590565b90565b73ffffffffffffffffffffffffffffffffffffffff1690565b60005b8381101561083357818101518382015260200161081b565b83811115610842576000848401525b50505050565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016905600a265627a7a72305820f6f770d9f6fbd388c5e5757ed24d436ce3757811b06fc2e0e47f7ff554d37d0c6c6578706572696d656e74616cf50037",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8AA DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x77 JUMPI PUSH4 0xFFFFFFFF PUSH29 0x100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 CALLDATALOAD DIV AND PUSH4 0x95EA7B3 DUP2 EQ PUSH2 0x7C JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xB2 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0xF4 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x114 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x134 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x88 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9C PUSH2 0x97 CALLDATASIZE PUSH1 0x4 PUSH2 0x749 JUMP JUMPDEST PUSH2 0x154 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA9 SWAP2 SWAP1 PUSH2 0x7C6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC7 PUSH2 0x1CC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA9 SWAP2 SWAP1 PUSH2 0x7E5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9C PUSH2 0xEF CALLDATASIZE PUSH1 0x4 PUSH2 0x6FC JUMP JUMPDEST PUSH2 0x1D2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x100 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC7 PUSH2 0x10F CALLDATASIZE PUSH1 0x4 PUSH2 0x69C JUMP JUMPDEST PUSH2 0x46E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x120 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9C PUSH2 0x12F CALLDATASIZE PUSH1 0x4 PUSH2 0x749 JUMP JUMPDEST PUSH2 0x496 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC7 PUSH2 0x14F CALLDATASIZE PUSH1 0x4 PUSH2 0x6C2 JUMP JUMPDEST PUSH2 0x645 JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE MLOAD SWAP2 SWAP3 SWAP1 SWAP2 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP1 PUSH2 0x1BA SWAP1 DUP7 SWAP1 PUSH2 0x7E5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP PUSH1 0x1 JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD DUP2 MLOAD DUP1 DUP4 ADD SWAP1 SWAP3 MSTORE PUSH1 0x1A DUP3 MSTORE PUSH32 0x45524332305F494E53554646494349454E545F42414C414E4345000000000000 SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP1 DUP4 GT ISZERO PUSH2 0x271 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x268 SWAP2 SWAP1 PUSH2 0x7D4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 SLOAD DUP3 MLOAD DUP1 DUP5 ADD SWAP1 SWAP4 MSTORE PUSH1 0x1C DUP4 MSTORE PUSH32 0x45524332305F494E53554646494349454E545F414C4C4F57414E434500000000 SWAP2 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP4 GT ISZERO PUSH2 0x312 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x268 SWAP2 SWAP1 PUSH2 0x7D4 JUMP JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 SLOAD DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE PUSH1 0x25 DUP2 MSTORE PUSH32 0x5472616E7366657220776F756C6420726573756C7420696E20616E206F766572 SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH32 0x666C6F772E000000000000000000000000000000000000000000000000000000 SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP1 DUP4 DUP2 ADD LT ISZERO PUSH2 0x3D4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x268 SWAP2 SWAP1 PUSH2 0x7D4 JUMP JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP9 ADD SWAP1 SSTORE SWAP4 DUP9 AND DUP1 DUP4 MSTORE DUP5 DUP4 KECCAK256 DUP1 SLOAD DUP9 SWAP1 SUB SWAP1 SSTORE PUSH1 0x1 DUP3 MSTORE DUP5 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 DUP4 SWAP1 KECCAK256 DUP1 SLOAD DUP7 SWAP1 SUB SWAP1 SSTORE SWAP2 MLOAD SWAP1 SWAP2 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH2 0x45C SWAP1 DUP7 SWAP1 PUSH2 0x7E5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD DUP2 MLOAD DUP1 DUP4 ADD SWAP1 SWAP3 MSTORE PUSH1 0x1A DUP3 MSTORE PUSH32 0x45524332305F494E53554646494349454E545F42414C414E4345000000000000 SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP1 DUP4 GT ISZERO PUSH2 0x516 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x268 SWAP2 SWAP1 PUSH2 0x7D4 JUMP JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 SLOAD DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE PUSH1 0x25 DUP2 MSTORE PUSH32 0x5472616E7366657220776F756C6420726573756C7420696E20616E206F766572 SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH32 0x666C6F772E000000000000000000000000000000000000000000000000000000 SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP1 DUP4 DUP2 ADD LT ISZERO PUSH2 0x5D8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x268 SWAP2 SWAP1 PUSH2 0x7D4 JUMP JUMPDEST POP CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD DUP7 SWAP1 SUB SWAP1 SSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP7 AND DUP1 DUP4 MSTORE SWAP2 DUP2 SWAP1 KECCAK256 DUP1 SLOAD DUP7 ADD SWAP1 SSTORE MLOAD SWAP1 SWAP2 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH2 0x1BA SWAP1 DUP7 SWAP1 PUSH2 0x7E5 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x689 DUP3 CALLDATALOAD PUSH2 0x7FF JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x689 DUP3 CALLDATALOAD PUSH2 0x7FC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x6BA DUP5 DUP5 PUSH2 0x67D JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x6D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x6E1 DUP6 DUP6 PUSH2 0x67D JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x6F2 DUP6 DUP3 DUP7 ADD PUSH2 0x67D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x711 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x71D DUP7 DUP7 PUSH2 0x67D JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x72E DUP7 DUP3 DUP8 ADD PUSH2 0x67D JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x73F DUP7 DUP3 DUP8 ADD PUSH2 0x690 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x75C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x768 DUP6 DUP6 PUSH2 0x67D JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x6F2 DUP6 DUP3 DUP7 ADD PUSH2 0x690 JUMP JUMPDEST PUSH2 0x782 DUP2 PUSH2 0x7F7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x793 DUP3 PUSH2 0x7F3 JUMP JUMPDEST DUP1 DUP5 MSTORE PUSH2 0x7A7 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x818 JUMP JUMPDEST PUSH2 0x7B0 DUP2 PUSH2 0x848 JUMP JUMPDEST SWAP1 SWAP4 ADD PUSH1 0x20 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x782 DUP2 PUSH2 0x7FC JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x1C6 DUP3 DUP5 PUSH2 0x779 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 ADD PUSH2 0x689 DUP2 DUP5 PUSH2 0x788 JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x1C6 DUP3 DUP5 PUSH2 0x7BD JUMP JUMPDEST MLOAD SWAP1 JUMP JUMPDEST ISZERO ISZERO SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x833 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x81B JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x842 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND SWAP1 JUMP STOP LOG2 PUSH6 0x627A7A723058 KECCAK256 0xf6 0xf7 PUSH17 0xD9F6FBD388C5E5757ED24D436CE3757811 0xb0 PUSH16 0xC2E0E47F7FF554D37D0C6C6578706572 PUSH10 0x6D656E74616CF5003700 ",
"sourceMap": "669:1991:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;669:1991:0;;;;;;;"
},
"deployedBytecode": {
"linkReferences": {},
"object": "0x6080604052600436106100775763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663095ea7b3811461007c57806318160ddd146100b257806323b872dd146100d457806370a08231146100f4578063a9059cbb14610114578063dd62ed3e14610134575b600080fd5b34801561008857600080fd5b5061009c610097366004610749565b610154565b6040516100a991906107c6565b60405180910390f35b3480156100be57600080fd5b506100c76101cc565b6040516100a991906107e5565b3480156100e057600080fd5b5061009c6100ef3660046106fc565b6101d2565b34801561010057600080fd5b506100c761010f36600461069c565b61046e565b34801561012057600080fd5b5061009c61012f366004610749565b610496565b34801561014057600080fd5b506100c761014f3660046106c2565b610645565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906101ba9086906107e5565b60405180910390a35060015b92915050565b60025481565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208181526040808320548151808301909252601a82527f45524332305f494e53554646494349454e545f42414c414e43450000000000009282019290925290831115610271576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026891906107d4565b60405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338452825291829020548251808401909352601c83527f45524332305f494e53554646494349454e545f414c4c4f57414e43450000000091830191909152831115610312576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026891906107d4565b5073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604091829020548251606081018452602581527f5472616e7366657220776f756c6420726573756c7420696e20616e206f766572928101929092527f666c6f772e000000000000000000000000000000000000000000000000000000928201929092529083810110156103d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026891906107d4565b5073ffffffffffffffffffffffffffffffffffffffff8084166000818152602081815260408083208054880190559388168083528483208054889003905560018252848320338452909152908390208054869003905591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061045c9086906107e5565b60405180910390a35060019392505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b33600090815260208181526040808320548151808301909252601a82527f45524332305f494e53554646494349454e545f42414c414e43450000000000009282019290925290831115610516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026891906107d4565b5073ffffffffffffffffffffffffffffffffffffffff831660009081526020818152604091829020548251606081018452602581527f5472616e7366657220776f756c6420726573756c7420696e20616e206f766572928101929092527f666c6f772e000000000000000000000000000000000000000000000000000000928201929092529083810110156105d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026891906107d4565b50336000818152602081905260408082208054869003905573ffffffffffffffffffffffffffffffffffffffff861680835291819020805486019055519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906101ba9086906107e5565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600061068982356107ff565b9392505050565b600061068982356107fc565b6000602082840312156106ae57600080fd5b60006106ba848461067d565b949350505050565b600080604083850312156106d557600080fd5b60006106e1858561067d565b92505060206106f28582860161067d565b9150509250929050565b60008060006060848603121561071157600080fd5b600061071d868661067d565b935050602061072e8682870161067d565b925050604061073f86828701610690565b9150509250925092565b6000806040838503121561075c57600080fd5b6000610768858561067d565b92505060206106f285828601610690565b610782816107f7565b82525050565b6000610793826107f3565b8084526107a7816020860160208601610818565b6107b081610848565b9093016020019392505050565b610782816107fc565b602081016101c68284610779565b602080825281016106898184610788565b602081016101c682846107bd565b5190565b151590565b90565b73ffffffffffffffffffffffffffffffffffffffff1690565b60005b8381101561083357818101518382015260200161081b565b83811115610842576000848401525b50505050565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016905600a265627a7a72305820f6f770d9f6fbd388c5e5757ed24d436ce3757811b06fc2e0e47f7ff554d37d0c6c6578706572696d656e74616cf50037",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x77 JUMPI PUSH4 0xFFFFFFFF PUSH29 0x100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 CALLDATALOAD DIV AND PUSH4 0x95EA7B3 DUP2 EQ PUSH2 0x7C JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xB2 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0xF4 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x114 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x134 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x88 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9C PUSH2 0x97 CALLDATASIZE PUSH1 0x4 PUSH2 0x749 JUMP JUMPDEST PUSH2 0x154 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA9 SWAP2 SWAP1 PUSH2 0x7C6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC7 PUSH2 0x1CC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA9 SWAP2 SWAP1 PUSH2 0x7E5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9C PUSH2 0xEF CALLDATASIZE PUSH1 0x4 PUSH2 0x6FC JUMP JUMPDEST PUSH2 0x1D2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x100 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC7 PUSH2 0x10F CALLDATASIZE PUSH1 0x4 PUSH2 0x69C JUMP JUMPDEST PUSH2 0x46E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x120 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9C PUSH2 0x12F CALLDATASIZE PUSH1 0x4 PUSH2 0x749 JUMP JUMPDEST PUSH2 0x496 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC7 PUSH2 0x14F CALLDATASIZE PUSH1 0x4 PUSH2 0x6C2 JUMP JUMPDEST PUSH2 0x645 JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP8 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP6 SWAP1 SSTORE MLOAD SWAP2 SWAP3 SWAP1 SWAP2 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP1 PUSH2 0x1BA SWAP1 DUP7 SWAP1 PUSH2 0x7E5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP PUSH1 0x1 JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD DUP2 MLOAD DUP1 DUP4 ADD SWAP1 SWAP3 MSTORE PUSH1 0x1A DUP3 MSTORE PUSH32 0x45524332305F494E53554646494349454E545F42414C414E4345000000000000 SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP1 DUP4 GT ISZERO PUSH2 0x271 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x268 SWAP2 SWAP1 PUSH2 0x7D4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 SLOAD DUP3 MLOAD DUP1 DUP5 ADD SWAP1 SWAP4 MSTORE PUSH1 0x1C DUP4 MSTORE PUSH32 0x45524332305F494E53554646494349454E545F414C4C4F57414E434500000000 SWAP2 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP4 GT ISZERO PUSH2 0x312 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x268 SWAP2 SWAP1 PUSH2 0x7D4 JUMP JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 SLOAD DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE PUSH1 0x25 DUP2 MSTORE PUSH32 0x5472616E7366657220776F756C6420726573756C7420696E20616E206F766572 SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH32 0x666C6F772E000000000000000000000000000000000000000000000000000000 SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP1 DUP4 DUP2 ADD LT ISZERO PUSH2 0x3D4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x268 SWAP2 SWAP1 PUSH2 0x7D4 JUMP JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP9 ADD SWAP1 SSTORE SWAP4 DUP9 AND DUP1 DUP4 MSTORE DUP5 DUP4 KECCAK256 DUP1 SLOAD DUP9 SWAP1 SUB SWAP1 SSTORE PUSH1 0x1 DUP3 MSTORE DUP5 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 DUP4 SWAP1 KECCAK256 DUP1 SLOAD DUP7 SWAP1 SUB SWAP1 SSTORE SWAP2 MLOAD SWAP1 SWAP2 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH2 0x45C SWAP1 DUP7 SWAP1 PUSH2 0x7E5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SLOAD DUP2 MLOAD DUP1 DUP4 ADD SWAP1 SWAP3 MSTORE PUSH1 0x1A DUP3 MSTORE PUSH32 0x45524332305F494E53554646494349454E545F42414C414E4345000000000000 SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP1 DUP4 GT ISZERO PUSH2 0x516 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x268 SWAP2 SWAP1 PUSH2 0x7D4 JUMP JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 SLOAD DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE PUSH1 0x25 DUP2 MSTORE PUSH32 0x5472616E7366657220776F756C6420726573756C7420696E20616E206F766572 SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH32 0x666C6F772E000000000000000000000000000000000000000000000000000000 SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP1 DUP4 DUP2 ADD LT ISZERO PUSH2 0x5D8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x268 SWAP2 SWAP1 PUSH2 0x7D4 JUMP JUMPDEST POP CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD DUP7 SWAP1 SUB SWAP1 SSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP7 AND DUP1 DUP4 MSTORE SWAP2 DUP2 SWAP1 KECCAK256 DUP1 SLOAD DUP7 ADD SWAP1 SSTORE MLOAD SWAP1 SWAP2 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH2 0x1BA SWAP1 DUP7 SWAP1 PUSH2 0x7E5 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x689 DUP3 CALLDATALOAD PUSH2 0x7FF JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x689 DUP3 CALLDATALOAD PUSH2 0x7FC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x6BA DUP5 DUP5 PUSH2 0x67D JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x6D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x6E1 DUP6 DUP6 PUSH2 0x67D JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x6F2 DUP6 DUP3 DUP7 ADD PUSH2 0x67D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x711 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x71D DUP7 DUP7 PUSH2 0x67D JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x72E DUP7 DUP3 DUP8 ADD PUSH2 0x67D JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x73F DUP7 DUP3 DUP8 ADD PUSH2 0x690 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x75C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x768 DUP6 DUP6 PUSH2 0x67D JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x6F2 DUP6 DUP3 DUP7 ADD PUSH2 0x690 JUMP JUMPDEST PUSH2 0x782 DUP2 PUSH2 0x7F7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x793 DUP3 PUSH2 0x7F3 JUMP JUMPDEST DUP1 DUP5 MSTORE PUSH2 0x7A7 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x818 JUMP JUMPDEST PUSH2 0x7B0 DUP2 PUSH2 0x848 JUMP JUMPDEST SWAP1 SWAP4 ADD PUSH1 0x20 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x782 DUP2 PUSH2 0x7FC JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x1C6 DUP3 DUP5 PUSH2 0x779 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 ADD PUSH2 0x689 DUP2 DUP5 PUSH2 0x788 JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x1C6 DUP3 DUP5 PUSH2 0x7BD JUMP JUMPDEST MLOAD SWAP1 JUMP JUMPDEST ISZERO ISZERO SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x833 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x81B JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x842 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND SWAP1 JUMP STOP LOG2 PUSH6 0x627A7A723058 KECCAK256 0xf6 0xf7 PUSH17 0xD9F6FBD388C5E5757ED24D436CE3757811 0xb0 PUSH16 0xC2E0E47F7FF554D37D0C6C6578706572 PUSH10 0x6D656E74616CF5003700 ",
"sourceMap": "669:1991:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2139:222;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2139:222:0;;;;;;;;;;;;;;;;;;;;;;;;;1041:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1041:26:0;;;;;;;;;;;;1525:608;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1525:608:0;;;;;;;;;2367:125;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2367:125:0;;;;;;;;;1074:445;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1074:445:0;;;;;;;;;2498:160;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2498:160:0;;;;;;;;;2139:222;2250:10;2222:4;2242:19;;;:7;:19;;;;;;;;;:29;;;;;;;;;;:38;;;2295;2222:4;;2242:29;;2295:38;;;;2274:6;;2295:38;;;;;;;;;;-1:-1:-1;2350:4:0;2139:222;;;;;:::o;1041:26::-;;;;:::o;1525:608::-;1664:15;;;1623:4;1664:15;;;;;;;;;;;;1703:20;;;;;;;;;;;;;;;;;;;;1664:25;-1:-1:-1;1664:25:0;1643:90;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1764:14:0;;;;;;;:7;:14;;;;;;;;1779:10;1764:26;;;;;;;;;1814:22;;;;;;;;;;;;;;;;;;;1764:36;-1:-1:-1;1764:36:0;1743:103;;;;;;;;;;;;;;;-1:-1:-1;1903:13:0;;;:8;:13;;;;;;;;;;;;;1930:8;;;;;;;;;;;;;;;;;;;;;;;;;;;1877:22;;;:39;;1856:92;;;;;;;;;;;;;;;-1:-1:-1;1958:13:0;;;;:8;:13;;;;;;;;;;;:23;;;;;;1991:15;;;;;;;;;:25;;;;;;;-1:-1:-1;2026:14:0;;;;;2041:10;2026:26;;;;;;;;;:36;;;;;;;2077:28;;1958:13;;1991:15;2077:28;;;;1975:6;;2077:28;;;;;;;;;;-1:-1:-1;2122:4:0;1525:608;;;;;:::o;2367:125::-;2469:16;;2439:7;2469:16;;;;;;;;;;;;2367:125::o;1074:445::-;1203:10;1153:4;1194:20;;;;;;;;;;;;1238;;;;;;;;;;;;;;;;;;;;1194:30;-1:-1:-1;1194:30:0;1173:95;;;;;;;;;;;;;;;-1:-1:-1;1325:13:0;;;:8;:13;;;;;;;;;;;;;1352:8;;;;;;;;;;;;;;;;;;;;;;;;;;;1299:22;;;:39;;1278:92;;;;;;;;;;;;;;;-1:-1:-1;1389:10:0;1380:8;:20;;;;;;;;;;;:30;;;;;;;:20;1420:13;;;;;;;;;:23;;;;;;1458:33;1420:13;;1389:10;1458:33;;;;1404:6;;1458:33;;2498:160;2626:15;;;;2596:7;2626:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;2498:160::o;5:118:-1:-;;72:46;110:6;97:20;72:46;;;63:55;57:66;-1:-1;;;57:66;130:118;;197:46;235:6;222:20;197:46;;255:241;;359:2;347:9;338:7;334:23;330:32;327:2;;;375:1;372;365:12;327:2;410:1;427:53;472:7;452:9;427:53;;;417:63;321:175;-1:-1;;;;321:175;503:366;;;624:2;612:9;603:7;599:23;595:32;592:2;;;640:1;637;630:12;592:2;675:1;692:53;737:7;717:9;692:53;;;682:63;;654:97;782:2;800:53;845:7;836:6;825:9;821:22;800:53;;;790:63;;761:98;586:283;;;;;;876:491;;;;1014:2;1002:9;993:7;989:23;985:32;982:2;;;1030:1;1027;1020:12;982:2;1065:1;1082:53;1127:7;1107:9;1082:53;;;1072:63;;1044:97;1172:2;1190:53;1235:7;1226:6;1215:9;1211:22;1190:53;;;1180:63;;1151:98;1280:2;1298:53;1343:7;1334:6;1323:9;1319:22;1298:53;;;1288:63;;1259:98;976:391;;;;;;1374:366;;;1495:2;1483:9;1474:7;1470:23;1466:32;1463:2;;;1511:1;1508;1501:12;1463:2;1546:1;1563:53;1608:7;1588:9;1563:53;;;1553:63;;1525:97;1653:2;1671:53;1716:7;1707:6;1696:9;1692:22;1671:53;;1747:101;1814:28;1836:5;1814:28;;;1809:3;1802:41;1796:52;;;1855:292;;1953:35;1982:5;1953:35;;;2005:6;2000:3;1993:19;2017:63;2073:6;2066:4;2061:3;2057:14;2050:4;2043:5;2039:16;2017:63;;;2112:29;2134:6;2112:29;;;2092:50;;;2105:4;2092:50;;1933:214;-1:-1;;;1933:214;2154:110;2227:31;2252:5;2227:31;;2271:181;2373:2;2358:18;;2387:55;2362:9;2415:6;2387:55;;2459:273;2583:2;2597:47;;;2568:18;;2658:64;2568:18;2708:6;2658:64;;2739:193;2847:2;2832:18;;2861:61;2836:9;2895:6;2861:61;;2939:88;3010:12;;2994:33;3034:92;3107:13;3100:21;;3083:43;3133:79;3202:5;3185:27;3219:128;3299:42;3288:54;;3271:76;3441:268;3506:1;3513:101;3527:6;3524:1;3521:13;3513:101;;;3594:11;;;3588:18;3575:11;;;3568:39;3549:2;3542:10;3513:101;;;3629:6;3626:1;3623:13;3620:2;;;3694:1;3685:6;3680:3;3676:16;3669:27;3620:2;3490:219;;;;;3717:97;3805:2;3785:14;3801:7;3781:28;;3765:49"
}
}
},
"sources": {
"current/tokens/ERC20Token/ERC20Token.sol": {
"id": 0
},
"current/tokens/ERC20Token/IERC20Token.sol": {
"id": 1
}
},
"sourceCodes": {
"current/tokens/ERC20Token/ERC20Token.sol": "/*\n\n Copyright 2018 ZeroEx Intl.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n*/\n\npragma solidity ^0.4.24;\npragma experimental ABIEncoderV2;\n\nimport \"./IERC20Token.sol\";\n\ncontract ERC20Token is IERC20Token {\n\n string constant INSUFFICIENT_BALANCE = \"ERC20_INSUFFICIENT_BALANCE\";\n string constant INSUFFICIENT_ALLOWANCE = \"ERC20_INSUFFICIENT_ALLOWANCE\";\n string constant OVERFLOW = \"Transfer would result in an overflow.\";\n\n mapping (address => uint256) balances;\n mapping (address => mapping (address => uint256)) allowed;\n\n uint256 public totalSupply;\n\n function transfer(address _to, uint256 _value)\n public\n returns (bool)\n {\n require(\n balances[msg.sender] >= _value,\n INSUFFICIENT_BALANCE\n );\n require(\n balances[_to] + _value >= balances[_to],\n OVERFLOW\n );\n balances[msg.sender] -= _value;\n balances[_to] += _value;\n emit Transfer(msg.sender, _to, _value);\n return true;\n }\n\n function transferFrom(address _from, address _to, uint256 _value)\n public\n returns (bool)\n {\n require(\n balances[_from] >= _value,\n INSUFFICIENT_BALANCE\n );\n require(\n allowed[_from][msg.sender] >= _value,\n INSUFFICIENT_ALLOWANCE\n );\n require(\n balances[_to] + _value >= balances[_to],\n OVERFLOW\n );\n balances[_to] += _value;\n balances[_from] -= _value;\n allowed[_from][msg.sender] -= _value;\n emit Transfer(_from, _to, _value);\n return true;\n }\n\n function approve(address _spender, uint256 _value)\n public\n returns (bool)\n {\n allowed[msg.sender][_spender] = _value;\n emit Approval(msg.sender, _spender, _value);\n return true;\n }\n\n function balanceOf(address _owner)\n public view\n returns (uint256)\n {\n return balances[_owner];\n }\n\n function allowance(address _owner, address _spender)\n public\n view\n returns (uint256)\n {\n return allowed[_owner][_spender];\n }\n}\n",
"current/tokens/ERC20Token/IERC20Token.sol": "/*\n\n Copyright 2018 ZeroEx Intl.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n*/\n\npragma solidity ^0.4.24;\npragma experimental ABIEncoderV2;\n\ncontract IERC20Token {\n\n /// @notice send `value` token to `to` from `msg.sender`\n /// @param _to The address of the recipient\n /// @param _value The amount of token to be transferred\n /// @return Whether the transfer was successful or not\n function transfer(address _to, uint256 _value)\n public\n returns (bool);\n\n /// @notice send `value` token to `to` from `from` on the condition it is approved by `from`\n /// @param _from The address of the sender\n /// @param _to The address of the recipient\n /// @param _value The amount of token to be transferred\n /// @return Whether the transfer was successful or not\n function transferFrom(address _from, address _to, uint256 _value)\n public\n returns (bool);\n \n /// @notice `msg.sender` approves `_spender` to spend `_value` tokens\n /// @param _spender The address of the account able to transfer the tokens\n /// @param _value The amount of wei to be approved for transfer\n /// @return Whether the approval was successful or not\n function approve(address _spender, uint256 _value)\n public\n returns (bool);\n\n /// @param _owner The address from which the balance will be retrieved\n /// @return The balance\n function balanceOf(address _owner)\n public view\n returns (uint256);\n\n /// @param _owner The address of the account owning tokens\n /// @param _spender The address of the account able to transfer the tokens\n /// @return Amount of remaining tokens allowed to spent\n function allowance(address _owner, address _spender)\n public view\n returns (uint256);\n\n event Transfer(\n address indexed _from,\n address indexed _to,\n uint256 _value\n );\n \n event Approval(\n address indexed _owner,\n address indexed _spender,\n uint256 _value\n );\n}\n"
},
"sourceTreeHashHex": "0xbbc0f26f0cc809896dfd6cda74cde0e3be6b9420374970cc780ba4597c949a7d",
"compiler": {
"name": "solc",
"version": "soljson-v0.4.24+commit.e67f0147.js",
"settings": {
"optimizer": {
"enabled": true,
"runs": 1000000
},
"outputSelection": {
"*": {
"*": [
"abi",
"evm.bytecode.object",
"evm.bytecode.sourceMap",
"evm.deployedBytecode.object",
"evm.deployedBytecode.sourceMap"
]
}
}
}
},
"networks": {}
}
|