UNPKG

651 kBJSONView Raw
1{
2 "contractName": "Ownable",
3 "abi": [
4 {
5 "constant": true,
6 "inputs": [],
7 "name": "owner",
8 "outputs": [
9 {
10 "name": "",
11 "type": "address"
12 }
13 ],
14 "payable": false,
15 "stateMutability": "view",
16 "type": "function"
17 },
18 {
19 "inputs": [],
20 "payable": false,
21 "stateMutability": "nonpayable",
22 "type": "constructor"
23 },
24 {
25 "anonymous": false,
26 "inputs": [
27 {
28 "indexed": true,
29 "name": "previousOwner",
30 "type": "address"
31 },
32 {
33 "indexed": true,
34 "name": "newOwner",
35 "type": "address"
36 }
37 ],
38 "name": "OwnershipTransferred",
39 "type": "event"
40 },
41 {
42 "constant": false,
43 "inputs": [
44 {
45 "name": "newOwner",
46 "type": "address"
47 }
48 ],
49 "name": "transferOwnership",
50 "outputs": [],
51 "payable": false,
52 "stateMutability": "nonpayable",
53 "type": "function"
54 }
55 ],
56 "bytecode": "0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610291806100606000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610051578063f2fde38b146100a8575b600080fd5b34801561005d57600080fd5b506100666100eb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100b457600080fd5b506100e9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610110565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561016b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156101a757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820b81327081f1e8298a6ddfbf39583e97822b2d59a9a52e4fdc0ee030c0f5cc9850029",
57 "deployedBytecode": "0x60806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610051578063f2fde38b146100a8575b600080fd5b34801561005d57600080fd5b506100666100eb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100b457600080fd5b506100e9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610110565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561016b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156101a757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820b81327081f1e8298a6ddfbf39583e97822b2d59a9a52e4fdc0ee030c0f5cc9850029",
58 "sourceMap": "2482:842:38:-;;;2744:56;8:9:-1;5:2;;;30:1;27;20:12;5:2;2744:56:38;2783:10;2775:5;;:18;;;;;;;;;;;;;;;;;;2482:842;;;;;;",
59 "deployedSourceMap": "2482:842:38:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2505:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2505:20:38;;;;;;;;;;;;;;;;;;;;;;;;;;;3134:188;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3134:188:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;2505:20;;;;;;;;;;;;;:::o;3134:188::-;2940:5;;;;;;;;;;;2926:19;;:10;:19;;;2918:28;;;;;;;;3234:1;3214:22;;:8;:22;;;;3206:31;;;;;;;;3280:8;3252:37;;3273:5;;;;;;;;;;;3252:37;;;;;;;;;;;;3307:8;3299:5;;:16;;;;;;;;;;;;;;;;;;3134:188;:::o",
60 "source": "pragma solidity ^0.4.24;\n\nlibrary SafeMath {\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 c = a * b;\n assert(a == 0 || c / a == b);\n return c;\n }\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n // assert(b > 0); // Solidity automatically throws when dividing by 0\n uint256 c = a / b;\n // assert(a == b * c + a % b); // There is no case in which this doesn't hold\n return c;\n }\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n assert(b <= a);\n return a - b;\n }\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 c = a + b;\n assert(c >= a);\n return c;\n }\n}\n\ncontract ERC20Basic {\n uint256 public totalSupply;\n function balanceOf(address who) public constant returns (uint256);\n function transfer(address to, uint256 value) public returns (bool);\n event Transfer(address indexed from, address indexed to, uint256 value);\n}\n\n/**\n * @title ERC20 interface\n * @dev see https://github.com/ethereum/EIPs/issues/20\n */\ncontract ERC20 is ERC20Basic {\n function allowance(address owner, address spender) public constant returns (uint256);\n function transferFrom(address from, address to, uint256 value) public returns (bool);\n function approve(address spender, uint256 value) public returns (bool);\n event Approval(address indexed owner, address indexed spender, uint256 value);\n}\n\ncontract BasicToken is ERC20Basic {\n using SafeMath for uint256;\n mapping(address => uint256) balances;\n /**\n * @dev transfer token for a specified address\n * @param _to The address to transfer to.\n * @param _value The amount to be transferred.\n */\n function transfer(address _to, uint256 _value) public returns (bool) {\n require(_to != address(0));\n // SafeMath.sub will throw if there is not enough balance.\n balances[msg.sender] = balances[msg.sender].sub(_value);\n balances[_to] = balances[_to].add(_value);\n emit Transfer(msg.sender, _to, _value);\n return true;\n }\n /**\n * @dev Gets the balance of the specified address.\n * @param _owner The address to query the the balance of.\n * @return An uint256 representing the amount owned by the passed address.\n */\n function balanceOf(address _owner) public constant returns (uint256 balance) {\n return balances[_owner];\n }\n}\n\ncontract Ownable {\n address public owner;\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n /**\n * @dev The Ownable constructor sets the original `owner` of the contract to the sender\n * account.\n */\n constructor() public {\n owner = msg.sender;\n }\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n require(msg.sender == owner);\n _;\n }\n /**\n * @dev Allows the current owner to transfer control of the contract to a newOwner.\n * @param newOwner The address to transfer ownership to.\n */\n function transferOwnership(address newOwner) onlyOwner public {\n require(newOwner != address(0));\n emit OwnershipTransferred(owner, newOwner);\n owner = newOwner;\n }\n}\n\ncontract StandardToken is ERC20, BasicToken {\n mapping (address => mapping (address => uint256)) allowed;\n /**\n * @dev Transfer tokens from one address to another\n * @param _from address The address which you want to send tokens from\n * @param _to address The address which you want to transfer to\n * @param _value uint256 the amount of tokens to be transferred\n */\n function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {\n require(_to != address(0));\n uint256 _allowance = allowed[_from][msg.sender];\n // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met\n // require (_value <= _allowance);\n balances[_from] = balances[_from].sub(_value);\n balances[_to] = balances[_to].add(_value);\n allowed[_from][msg.sender] = _allowance.sub(_value);\n emit Transfer(_from, _to, _value);\n return true;\n }\n /**\n * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\n *\n * Beware that changing an allowance with this method brings the risk that someone may use both the old\n * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this\n * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * @param _spender The address which will spend the funds.\n * @param _value The amount of tokens to be spent.\n */\n function approve(address _spender, uint256 _value) public returns (bool) {\n allowed[msg.sender][_spender] = _value;\n emit Approval(msg.sender, _spender, _value);\n return true;\n }\n /**\n * @dev Function to check the amount of tokens that an owner allowed to a spender.\n * @param _owner address The address which owns the funds.\n * @param _spender address The address which will spend the funds.\n * @return A uint256 specifying the amount of tokens still available for the spender.\n */\n function allowance(address _owner, address _spender) public constant returns (uint256 remaining) {\n return allowed[_owner][_spender];\n }\n /**\n * approve should be called when allowed[_spender] == 0. To increment\n * allowed value is better to use this function to avoid 2 calls (and wait until\n * the first transaction is mined)\n * From MonolithDAO Token.sol\n */\n function increaseApproval (address _spender, uint _addedValue) public\n returns (bool success) {\n allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);\n emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);\n return true;\n }\n function decreaseApproval (address _spender, uint _subtractedValue) public\n returns (bool success) {\n uint oldValue = allowed[msg.sender][_spender];\n if (_subtractedValue > oldValue) {\n allowed[msg.sender][_spender] = 0;\n } else {\n allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);\n }\n emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);\n return true;\n }\n}\n\ncontract MintableToken is StandardToken, Ownable {\n event Mint(address indexed to, uint256 amount);\n event MintFinished();\n bool public mintingFinished = false;\n modifier canMint() {\n require(!mintingFinished);\n _;\n }\n\n /**\n * @dev Function to mint tokens\n * @param _to The address that will receive the minted tokens.\n * @param _amount The amount of tokens to mint.\n * @return A boolean that indicates if the operation was successful.\n */\n function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) {\n totalSupply = totalSupply.add(_amount);\n balances[_to] = balances[_to].add(_amount);\n emit Mint(_to, _amount);\n emit Transfer(0x0, _to, _amount);\n return true;\n }\n\n /**\n * @dev Function to stop minting new tokens.\n * @return True if the operation was successful.\n */\n function finishMinting() onlyOwner public returns (bool) {\n mintingFinished = true;\n emit MintFinished();\n return true;\n }\n}\n\ncontract ZapToken is MintableToken {\n string public name = \"TEST TOKEN\";\n string public symbol = \"TEST\";\n uint256 public decimals = 18;\n\n function allocate(address to, uint amount) public{\n mint(to,amount);\n }\n}\n",
61 "sourcePath": "/home/xv702/2zap/zap-ethereum-api/contracts/token/ZapToken.sol",
62 "ast": {
63 "absolutePath": "/home/xv702/2zap/zap-ethereum-api/contracts/token/ZapToken.sol",
64 "exportedSymbols": {
65 "BasicToken": [
66 11684
67 ],
68 "ERC20": [
69 11611
70 ],
71 "ERC20Basic": [
72 11571
73 ],
74 "MintableToken": [
75 12052
76 ],
77 "Ownable": [
78 11738
79 ],
80 "SafeMath": [
81 11544
82 ],
83 "StandardToken": [
84 11965
85 ],
86 "ZapToken": [
87 12077
88 ]
89 },
90 "id": 12078,
91 "nodeType": "SourceUnit",
92 "nodes": [
93 {
94 "id": 11451,
95 "literals": [
96 "solidity",
97 "^",
98 "0.4",
99 ".24"
100 ],
101 "nodeType": "PragmaDirective",
102 "src": "0:24:38"
103 },
104 {
105 "baseContracts": [],
106 "contractDependencies": [],
107 "contractKind": "library",
108 "documentation": null,
109 "fullyImplemented": true,
110 "id": 11544,
111 "linearizedBaseContracts": [
112 11544
113 ],
114 "name": "SafeMath",
115 "nodeType": "ContractDefinition",
116 "nodes": [
117 {
118 "body": {
119 "id": 11480,
120 "nodeType": "Block",
121 "src": "116:90:38",
122 "statements": [
123 {
124 "assignments": [
125 11461
126 ],
127 "declarations": [
128 {
129 "constant": false,
130 "id": 11461,
131 "name": "c",
132 "nodeType": "VariableDeclaration",
133 "scope": 11481,
134 "src": "126:9:38",
135 "stateVariable": false,
136 "storageLocation": "default",
137 "typeDescriptions": {
138 "typeIdentifier": "t_uint256",
139 "typeString": "uint256"
140 },
141 "typeName": {
142 "id": 11460,
143 "name": "uint256",
144 "nodeType": "ElementaryTypeName",
145 "src": "126:7:38",
146 "typeDescriptions": {
147 "typeIdentifier": "t_uint256",
148 "typeString": "uint256"
149 }
150 },
151 "value": null,
152 "visibility": "internal"
153 }
154 ],
155 "id": 11465,
156 "initialValue": {
157 "argumentTypes": null,
158 "commonType": {
159 "typeIdentifier": "t_uint256",
160 "typeString": "uint256"
161 },
162 "id": 11464,
163 "isConstant": false,
164 "isLValue": false,
165 "isPure": false,
166 "lValueRequested": false,
167 "leftExpression": {
168 "argumentTypes": null,
169 "id": 11462,
170 "name": "a",
171 "nodeType": "Identifier",
172 "overloadedDeclarations": [],
173 "referencedDeclaration": 11453,
174 "src": "138:1:38",
175 "typeDescriptions": {
176 "typeIdentifier": "t_uint256",
177 "typeString": "uint256"
178 }
179 },
180 "nodeType": "BinaryOperation",
181 "operator": "*",
182 "rightExpression": {
183 "argumentTypes": null,
184 "id": 11463,
185 "name": "b",
186 "nodeType": "Identifier",
187 "overloadedDeclarations": [],
188 "referencedDeclaration": 11455,
189 "src": "142:1:38",
190 "typeDescriptions": {
191 "typeIdentifier": "t_uint256",
192 "typeString": "uint256"
193 }
194 },
195 "src": "138:5:38",
196 "typeDescriptions": {
197 "typeIdentifier": "t_uint256",
198 "typeString": "uint256"
199 }
200 },
201 "nodeType": "VariableDeclarationStatement",
202 "src": "126:17:38"
203 },
204 {
205 "expression": {
206 "argumentTypes": null,
207 "arguments": [
208 {
209 "argumentTypes": null,
210 "commonType": {
211 "typeIdentifier": "t_bool",
212 "typeString": "bool"
213 },
214 "id": 11475,
215 "isConstant": false,
216 "isLValue": false,
217 "isPure": false,
218 "lValueRequested": false,
219 "leftExpression": {
220 "argumentTypes": null,
221 "commonType": {
222 "typeIdentifier": "t_uint256",
223 "typeString": "uint256"
224 },
225 "id": 11469,
226 "isConstant": false,
227 "isLValue": false,
228 "isPure": false,
229 "lValueRequested": false,
230 "leftExpression": {
231 "argumentTypes": null,
232 "id": 11467,
233 "name": "a",
234 "nodeType": "Identifier",
235 "overloadedDeclarations": [],
236 "referencedDeclaration": 11453,
237 "src": "160:1:38",
238 "typeDescriptions": {
239 "typeIdentifier": "t_uint256",
240 "typeString": "uint256"
241 }
242 },
243 "nodeType": "BinaryOperation",
244 "operator": "==",
245 "rightExpression": {
246 "argumentTypes": null,
247 "hexValue": "30",
248 "id": 11468,
249 "isConstant": false,
250 "isLValue": false,
251 "isPure": true,
252 "kind": "number",
253 "lValueRequested": false,
254 "nodeType": "Literal",
255 "src": "165:1:38",
256 "subdenomination": null,
257 "typeDescriptions": {
258 "typeIdentifier": "t_rational_0_by_1",
259 "typeString": "int_const 0"
260 },
261 "value": "0"
262 },
263 "src": "160:6:38",
264 "typeDescriptions": {
265 "typeIdentifier": "t_bool",
266 "typeString": "bool"
267 }
268 },
269 "nodeType": "BinaryOperation",
270 "operator": "||",
271 "rightExpression": {
272 "argumentTypes": null,
273 "commonType": {
274 "typeIdentifier": "t_uint256",
275 "typeString": "uint256"
276 },
277 "id": 11474,
278 "isConstant": false,
279 "isLValue": false,
280 "isPure": false,
281 "lValueRequested": false,
282 "leftExpression": {
283 "argumentTypes": null,
284 "commonType": {
285 "typeIdentifier": "t_uint256",
286 "typeString": "uint256"
287 },
288 "id": 11472,
289 "isConstant": false,
290 "isLValue": false,
291 "isPure": false,
292 "lValueRequested": false,
293 "leftExpression": {
294 "argumentTypes": null,
295 "id": 11470,
296 "name": "c",
297 "nodeType": "Identifier",
298 "overloadedDeclarations": [],
299 "referencedDeclaration": 11461,
300 "src": "170:1:38",
301 "typeDescriptions": {
302 "typeIdentifier": "t_uint256",
303 "typeString": "uint256"
304 }
305 },
306 "nodeType": "BinaryOperation",
307 "operator": "/",
308 "rightExpression": {
309 "argumentTypes": null,
310 "id": 11471,
311 "name": "a",
312 "nodeType": "Identifier",
313 "overloadedDeclarations": [],
314 "referencedDeclaration": 11453,
315 "src": "174:1:38",
316 "typeDescriptions": {
317 "typeIdentifier": "t_uint256",
318 "typeString": "uint256"
319 }
320 },
321 "src": "170:5:38",
322 "typeDescriptions": {
323 "typeIdentifier": "t_uint256",
324 "typeString": "uint256"
325 }
326 },
327 "nodeType": "BinaryOperation",
328 "operator": "==",
329 "rightExpression": {
330 "argumentTypes": null,
331 "id": 11473,
332 "name": "b",
333 "nodeType": "Identifier",
334 "overloadedDeclarations": [],
335 "referencedDeclaration": 11455,
336 "src": "179:1:38",
337 "typeDescriptions": {
338 "typeIdentifier": "t_uint256",
339 "typeString": "uint256"
340 }
341 },
342 "src": "170:10:38",
343 "typeDescriptions": {
344 "typeIdentifier": "t_bool",
345 "typeString": "bool"
346 }
347 },
348 "src": "160:20:38",
349 "typeDescriptions": {
350 "typeIdentifier": "t_bool",
351 "typeString": "bool"
352 }
353 }
354 ],
355 "expression": {
356 "argumentTypes": [
357 {
358 "typeIdentifier": "t_bool",
359 "typeString": "bool"
360 }
361 ],
362 "id": 11466,
363 "name": "assert",
364 "nodeType": "Identifier",
365 "overloadedDeclarations": [],
366 "referencedDeclaration": 12081,
367 "src": "153:6:38",
368 "typeDescriptions": {
369 "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
370 "typeString": "function (bool) pure"
371 }
372 },
373 "id": 11476,
374 "isConstant": false,
375 "isLValue": false,
376 "isPure": false,
377 "kind": "functionCall",
378 "lValueRequested": false,
379 "names": [],
380 "nodeType": "FunctionCall",
381 "src": "153:28:38",
382 "typeDescriptions": {
383 "typeIdentifier": "t_tuple$__$",
384 "typeString": "tuple()"
385 }
386 },
387 "id": 11477,
388 "nodeType": "ExpressionStatement",
389 "src": "153:28:38"
390 },
391 {
392 "expression": {
393 "argumentTypes": null,
394 "id": 11478,
395 "name": "c",
396 "nodeType": "Identifier",
397 "overloadedDeclarations": [],
398 "referencedDeclaration": 11461,
399 "src": "198:1:38",
400 "typeDescriptions": {
401 "typeIdentifier": "t_uint256",
402 "typeString": "uint256"
403 }
404 },
405 "functionReturnParameters": 11459,
406 "id": 11479,
407 "nodeType": "Return",
408 "src": "191:8:38"
409 }
410 ]
411 },
412 "documentation": null,
413 "id": 11481,
414 "implemented": true,
415 "isConstructor": false,
416 "isDeclaredConst": true,
417 "modifiers": [],
418 "name": "mul",
419 "nodeType": "FunctionDefinition",
420 "parameters": {
421 "id": 11456,
422 "nodeType": "ParameterList",
423 "parameters": [
424 {
425 "constant": false,
426 "id": 11453,
427 "name": "a",
428 "nodeType": "VariableDeclaration",
429 "scope": 11481,
430 "src": "62:9:38",
431 "stateVariable": false,
432 "storageLocation": "default",
433 "typeDescriptions": {
434 "typeIdentifier": "t_uint256",
435 "typeString": "uint256"
436 },
437 "typeName": {
438 "id": 11452,
439 "name": "uint256",
440 "nodeType": "ElementaryTypeName",
441 "src": "62:7:38",
442 "typeDescriptions": {
443 "typeIdentifier": "t_uint256",
444 "typeString": "uint256"
445 }
446 },
447 "value": null,
448 "visibility": "internal"
449 },
450 {
451 "constant": false,
452 "id": 11455,
453 "name": "b",
454 "nodeType": "VariableDeclaration",
455 "scope": 11481,
456 "src": "73:9:38",
457 "stateVariable": false,
458 "storageLocation": "default",
459 "typeDescriptions": {
460 "typeIdentifier": "t_uint256",
461 "typeString": "uint256"
462 },
463 "typeName": {
464 "id": 11454,
465 "name": "uint256",
466 "nodeType": "ElementaryTypeName",
467 "src": "73:7:38",
468 "typeDescriptions": {
469 "typeIdentifier": "t_uint256",
470 "typeString": "uint256"
471 }
472 },
473 "value": null,
474 "visibility": "internal"
475 }
476 ],
477 "src": "61:22:38"
478 },
479 "payable": false,
480 "returnParameters": {
481 "id": 11459,
482 "nodeType": "ParameterList",
483 "parameters": [
484 {
485 "constant": false,
486 "id": 11458,
487 "name": "",
488 "nodeType": "VariableDeclaration",
489 "scope": 11481,
490 "src": "107:7:38",
491 "stateVariable": false,
492 "storageLocation": "default",
493 "typeDescriptions": {
494 "typeIdentifier": "t_uint256",
495 "typeString": "uint256"
496 },
497 "typeName": {
498 "id": 11457,
499 "name": "uint256",
500 "nodeType": "ElementaryTypeName",
501 "src": "107:7:38",
502 "typeDescriptions": {
503 "typeIdentifier": "t_uint256",
504 "typeString": "uint256"
505 }
506 },
507 "value": null,
508 "visibility": "internal"
509 }
510 ],
511 "src": "106:9:38"
512 },
513 "scope": 11544,
514 "src": "49:157:38",
515 "stateMutability": "pure",
516 "superFunction": null,
517 "visibility": "internal"
518 },
519 {
520 "body": {
521 "id": 11498,
522 "nodeType": "Block",
523 "src": "278:216:38",
524 "statements": [
525 {
526 "assignments": [
527 11491
528 ],
529 "declarations": [
530 {
531 "constant": false,
532 "id": 11491,
533 "name": "c",
534 "nodeType": "VariableDeclaration",
535 "scope": 11499,
536 "src": "366:9:38",
537 "stateVariable": false,
538 "storageLocation": "default",
539 "typeDescriptions": {
540 "typeIdentifier": "t_uint256",
541 "typeString": "uint256"
542 },
543 "typeName": {
544 "id": 11490,
545 "name": "uint256",
546 "nodeType": "ElementaryTypeName",
547 "src": "366:7:38",
548 "typeDescriptions": {
549 "typeIdentifier": "t_uint256",
550 "typeString": "uint256"
551 }
552 },
553 "value": null,
554 "visibility": "internal"
555 }
556 ],
557 "id": 11495,
558 "initialValue": {
559 "argumentTypes": null,
560 "commonType": {
561 "typeIdentifier": "t_uint256",
562 "typeString": "uint256"
563 },
564 "id": 11494,
565 "isConstant": false,
566 "isLValue": false,
567 "isPure": false,
568 "lValueRequested": false,
569 "leftExpression": {
570 "argumentTypes": null,
571 "id": 11492,
572 "name": "a",
573 "nodeType": "Identifier",
574 "overloadedDeclarations": [],
575 "referencedDeclaration": 11483,
576 "src": "378:1:38",
577 "typeDescriptions": {
578 "typeIdentifier": "t_uint256",
579 "typeString": "uint256"
580 }
581 },
582 "nodeType": "BinaryOperation",
583 "operator": "/",
584 "rightExpression": {
585 "argumentTypes": null,
586 "id": 11493,
587 "name": "b",
588 "nodeType": "Identifier",
589 "overloadedDeclarations": [],
590 "referencedDeclaration": 11485,
591 "src": "382:1:38",
592 "typeDescriptions": {
593 "typeIdentifier": "t_uint256",
594 "typeString": "uint256"
595 }
596 },
597 "src": "378:5:38",
598 "typeDescriptions": {
599 "typeIdentifier": "t_uint256",
600 "typeString": "uint256"
601 }
602 },
603 "nodeType": "VariableDeclarationStatement",
604 "src": "366:17:38"
605 },
606 {
607 "expression": {
608 "argumentTypes": null,
609 "id": 11496,
610 "name": "c",
611 "nodeType": "Identifier",
612 "overloadedDeclarations": [],
613 "referencedDeclaration": 11491,
614 "src": "486:1:38",
615 "typeDescriptions": {
616 "typeIdentifier": "t_uint256",
617 "typeString": "uint256"
618 }
619 },
620 "functionReturnParameters": 11489,
621 "id": 11497,
622 "nodeType": "Return",
623 "src": "479:8:38"
624 }
625 ]
626 },
627 "documentation": null,
628 "id": 11499,
629 "implemented": true,
630 "isConstructor": false,
631 "isDeclaredConst": true,
632 "modifiers": [],
633 "name": "div",
634 "nodeType": "FunctionDefinition",
635 "parameters": {
636 "id": 11486,
637 "nodeType": "ParameterList",
638 "parameters": [
639 {
640 "constant": false,
641 "id": 11483,
642 "name": "a",
643 "nodeType": "VariableDeclaration",
644 "scope": 11499,
645 "src": "224:9:38",
646 "stateVariable": false,
647 "storageLocation": "default",
648 "typeDescriptions": {
649 "typeIdentifier": "t_uint256",
650 "typeString": "uint256"
651 },
652 "typeName": {
653 "id": 11482,
654 "name": "uint256",
655 "nodeType": "ElementaryTypeName",
656 "src": "224:7:38",
657 "typeDescriptions": {
658 "typeIdentifier": "t_uint256",
659 "typeString": "uint256"
660 }
661 },
662 "value": null,
663 "visibility": "internal"
664 },
665 {
666 "constant": false,
667 "id": 11485,
668 "name": "b",
669 "nodeType": "VariableDeclaration",
670 "scope": 11499,
671 "src": "235:9:38",
672 "stateVariable": false,
673 "storageLocation": "default",
674 "typeDescriptions": {
675 "typeIdentifier": "t_uint256",
676 "typeString": "uint256"
677 },
678 "typeName": {
679 "id": 11484,
680 "name": "uint256",
681 "nodeType": "ElementaryTypeName",
682 "src": "235:7:38",
683 "typeDescriptions": {
684 "typeIdentifier": "t_uint256",
685 "typeString": "uint256"
686 }
687 },
688 "value": null,
689 "visibility": "internal"
690 }
691 ],
692 "src": "223:22:38"
693 },
694 "payable": false,
695 "returnParameters": {
696 "id": 11489,
697 "nodeType": "ParameterList",
698 "parameters": [
699 {
700 "constant": false,
701 "id": 11488,
702 "name": "",
703 "nodeType": "VariableDeclaration",
704 "scope": 11499,
705 "src": "269:7:38",
706 "stateVariable": false,
707 "storageLocation": "default",
708 "typeDescriptions": {
709 "typeIdentifier": "t_uint256",
710 "typeString": "uint256"
711 },
712 "typeName": {
713 "id": 11487,
714 "name": "uint256",
715 "nodeType": "ElementaryTypeName",
716 "src": "269:7:38",
717 "typeDescriptions": {
718 "typeIdentifier": "t_uint256",
719 "typeString": "uint256"
720 }
721 },
722 "value": null,
723 "visibility": "internal"
724 }
725 ],
726 "src": "268:9:38"
727 },
728 "scope": 11544,
729 "src": "211:283:38",
730 "stateMutability": "pure",
731 "superFunction": null,
732 "visibility": "internal"
733 },
734 {
735 "body": {
736 "id": 11518,
737 "nodeType": "Block",
738 "src": "566:53:38",
739 "statements": [
740 {
741 "expression": {
742 "argumentTypes": null,
743 "arguments": [
744 {
745 "argumentTypes": null,
746 "commonType": {
747 "typeIdentifier": "t_uint256",
748 "typeString": "uint256"
749 },
750 "id": 11511,
751 "isConstant": false,
752 "isLValue": false,
753 "isPure": false,
754 "lValueRequested": false,
755 "leftExpression": {
756 "argumentTypes": null,
757 "id": 11509,
758 "name": "b",
759 "nodeType": "Identifier",
760 "overloadedDeclarations": [],
761 "referencedDeclaration": 11503,
762 "src": "583:1:38",
763 "typeDescriptions": {
764 "typeIdentifier": "t_uint256",
765 "typeString": "uint256"
766 }
767 },
768 "nodeType": "BinaryOperation",
769 "operator": "<=",
770 "rightExpression": {
771 "argumentTypes": null,
772 "id": 11510,
773 "name": "a",
774 "nodeType": "Identifier",
775 "overloadedDeclarations": [],
776 "referencedDeclaration": 11501,
777 "src": "588:1:38",
778 "typeDescriptions": {
779 "typeIdentifier": "t_uint256",
780 "typeString": "uint256"
781 }
782 },
783 "src": "583:6:38",
784 "typeDescriptions": {
785 "typeIdentifier": "t_bool",
786 "typeString": "bool"
787 }
788 }
789 ],
790 "expression": {
791 "argumentTypes": [
792 {
793 "typeIdentifier": "t_bool",
794 "typeString": "bool"
795 }
796 ],
797 "id": 11508,
798 "name": "assert",
799 "nodeType": "Identifier",
800 "overloadedDeclarations": [],
801 "referencedDeclaration": 12081,
802 "src": "576:6:38",
803 "typeDescriptions": {
804 "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
805 "typeString": "function (bool) pure"
806 }
807 },
808 "id": 11512,
809 "isConstant": false,
810 "isLValue": false,
811 "isPure": false,
812 "kind": "functionCall",
813 "lValueRequested": false,
814 "names": [],
815 "nodeType": "FunctionCall",
816 "src": "576:14:38",
817 "typeDescriptions": {
818 "typeIdentifier": "t_tuple$__$",
819 "typeString": "tuple()"
820 }
821 },
822 "id": 11513,
823 "nodeType": "ExpressionStatement",
824 "src": "576:14:38"
825 },
826 {
827 "expression": {
828 "argumentTypes": null,
829 "commonType": {
830 "typeIdentifier": "t_uint256",
831 "typeString": "uint256"
832 },
833 "id": 11516,
834 "isConstant": false,
835 "isLValue": false,
836 "isPure": false,
837 "lValueRequested": false,
838 "leftExpression": {
839 "argumentTypes": null,
840 "id": 11514,
841 "name": "a",
842 "nodeType": "Identifier",
843 "overloadedDeclarations": [],
844 "referencedDeclaration": 11501,
845 "src": "607:1:38",
846 "typeDescriptions": {
847 "typeIdentifier": "t_uint256",
848 "typeString": "uint256"
849 }
850 },
851 "nodeType": "BinaryOperation",
852 "operator": "-",
853 "rightExpression": {
854 "argumentTypes": null,
855 "id": 11515,
856 "name": "b",
857 "nodeType": "Identifier",
858 "overloadedDeclarations": [],
859 "referencedDeclaration": 11503,
860 "src": "611:1:38",
861 "typeDescriptions": {
862 "typeIdentifier": "t_uint256",
863 "typeString": "uint256"
864 }
865 },
866 "src": "607:5:38",
867 "typeDescriptions": {
868 "typeIdentifier": "t_uint256",
869 "typeString": "uint256"
870 }
871 },
872 "functionReturnParameters": 11507,
873 "id": 11517,
874 "nodeType": "Return",
875 "src": "600:12:38"
876 }
877 ]
878 },
879 "documentation": null,
880 "id": 11519,
881 "implemented": true,
882 "isConstructor": false,
883 "isDeclaredConst": true,
884 "modifiers": [],
885 "name": "sub",
886 "nodeType": "FunctionDefinition",
887 "parameters": {
888 "id": 11504,
889 "nodeType": "ParameterList",
890 "parameters": [
891 {
892 "constant": false,
893 "id": 11501,
894 "name": "a",
895 "nodeType": "VariableDeclaration",
896 "scope": 11519,
897 "src": "512:9:38",
898 "stateVariable": false,
899 "storageLocation": "default",
900 "typeDescriptions": {
901 "typeIdentifier": "t_uint256",
902 "typeString": "uint256"
903 },
904 "typeName": {
905 "id": 11500,
906 "name": "uint256",
907 "nodeType": "ElementaryTypeName",
908 "src": "512:7:38",
909 "typeDescriptions": {
910 "typeIdentifier": "t_uint256",
911 "typeString": "uint256"
912 }
913 },
914 "value": null,
915 "visibility": "internal"
916 },
917 {
918 "constant": false,
919 "id": 11503,
920 "name": "b",
921 "nodeType": "VariableDeclaration",
922 "scope": 11519,
923 "src": "523:9:38",
924 "stateVariable": false,
925 "storageLocation": "default",
926 "typeDescriptions": {
927 "typeIdentifier": "t_uint256",
928 "typeString": "uint256"
929 },
930 "typeName": {
931 "id": 11502,
932 "name": "uint256",
933 "nodeType": "ElementaryTypeName",
934 "src": "523:7:38",
935 "typeDescriptions": {
936 "typeIdentifier": "t_uint256",
937 "typeString": "uint256"
938 }
939 },
940 "value": null,
941 "visibility": "internal"
942 }
943 ],
944 "src": "511:22:38"
945 },
946 "payable": false,
947 "returnParameters": {
948 "id": 11507,
949 "nodeType": "ParameterList",
950 "parameters": [
951 {
952 "constant": false,
953 "id": 11506,
954 "name": "",
955 "nodeType": "VariableDeclaration",
956 "scope": 11519,
957 "src": "557:7:38",
958 "stateVariable": false,
959 "storageLocation": "default",
960 "typeDescriptions": {
961 "typeIdentifier": "t_uint256",
962 "typeString": "uint256"
963 },
964 "typeName": {
965 "id": 11505,
966 "name": "uint256",
967 "nodeType": "ElementaryTypeName",
968 "src": "557:7:38",
969 "typeDescriptions": {
970 "typeIdentifier": "t_uint256",
971 "typeString": "uint256"
972 }
973 },
974 "value": null,
975 "visibility": "internal"
976 }
977 ],
978 "src": "556:9:38"
979 },
980 "scope": 11544,
981 "src": "499:120:38",
982 "stateMutability": "pure",
983 "superFunction": null,
984 "visibility": "internal"
985 },
986 {
987 "body": {
988 "id": 11542,
989 "nodeType": "Block",
990 "src": "691:76:38",
991 "statements": [
992 {
993 "assignments": [
994 11529
995 ],
996 "declarations": [
997 {
998 "constant": false,
999 "id": 11529,
1000 "name": "c",
1001 "nodeType": "VariableDeclaration",
1002 "scope": 11543,
1003 "src": "701:9:38",
1004 "stateVariable": false,
1005 "storageLocation": "default",
1006 "typeDescriptions": {
1007 "typeIdentifier": "t_uint256",
1008 "typeString": "uint256"
1009 },
1010 "typeName": {
1011 "id": 11528,
1012 "name": "uint256",
1013 "nodeType": "ElementaryTypeName",
1014 "src": "701:7:38",
1015 "typeDescriptions": {
1016 "typeIdentifier": "t_uint256",
1017 "typeString": "uint256"
1018 }
1019 },
1020 "value": null,
1021 "visibility": "internal"
1022 }
1023 ],
1024 "id": 11533,
1025 "initialValue": {
1026 "argumentTypes": null,
1027 "commonType": {
1028 "typeIdentifier": "t_uint256",
1029 "typeString": "uint256"
1030 },
1031 "id": 11532,
1032 "isConstant": false,
1033 "isLValue": false,
1034 "isPure": false,
1035 "lValueRequested": false,
1036 "leftExpression": {
1037 "argumentTypes": null,
1038 "id": 11530,
1039 "name": "a",
1040 "nodeType": "Identifier",
1041 "overloadedDeclarations": [],
1042 "referencedDeclaration": 11521,
1043 "src": "713:1:38",
1044 "typeDescriptions": {
1045 "typeIdentifier": "t_uint256",
1046 "typeString": "uint256"
1047 }
1048 },
1049 "nodeType": "BinaryOperation",
1050 "operator": "+",
1051 "rightExpression": {
1052 "argumentTypes": null,
1053 "id": 11531,
1054 "name": "b",
1055 "nodeType": "Identifier",
1056 "overloadedDeclarations": [],
1057 "referencedDeclaration": 11523,
1058 "src": "717:1:38",
1059 "typeDescriptions": {
1060 "typeIdentifier": "t_uint256",
1061 "typeString": "uint256"
1062 }
1063 },
1064 "src": "713:5:38",
1065 "typeDescriptions": {
1066 "typeIdentifier": "t_uint256",
1067 "typeString": "uint256"
1068 }
1069 },
1070 "nodeType": "VariableDeclarationStatement",
1071 "src": "701:17:38"
1072 },
1073 {
1074 "expression": {
1075 "argumentTypes": null,
1076 "arguments": [
1077 {
1078 "argumentTypes": null,
1079 "commonType": {
1080 "typeIdentifier": "t_uint256",
1081 "typeString": "uint256"
1082 },
1083 "id": 11537,
1084 "isConstant": false,
1085 "isLValue": false,
1086 "isPure": false,
1087 "lValueRequested": false,
1088 "leftExpression": {
1089 "argumentTypes": null,
1090 "id": 11535,
1091 "name": "c",
1092 "nodeType": "Identifier",
1093 "overloadedDeclarations": [],
1094 "referencedDeclaration": 11529,
1095 "src": "735:1:38",
1096 "typeDescriptions": {
1097 "typeIdentifier": "t_uint256",
1098 "typeString": "uint256"
1099 }
1100 },
1101 "nodeType": "BinaryOperation",
1102 "operator": ">=",
1103 "rightExpression": {
1104 "argumentTypes": null,
1105 "id": 11536,
1106 "name": "a",
1107 "nodeType": "Identifier",
1108 "overloadedDeclarations": [],
1109 "referencedDeclaration": 11521,
1110 "src": "740:1:38",
1111 "typeDescriptions": {
1112 "typeIdentifier": "t_uint256",
1113 "typeString": "uint256"
1114 }
1115 },
1116 "src": "735:6:38",
1117 "typeDescriptions": {
1118 "typeIdentifier": "t_bool",
1119 "typeString": "bool"
1120 }
1121 }
1122 ],
1123 "expression": {
1124 "argumentTypes": [
1125 {
1126 "typeIdentifier": "t_bool",
1127 "typeString": "bool"
1128 }
1129 ],
1130 "id": 11534,
1131 "name": "assert",
1132 "nodeType": "Identifier",
1133 "overloadedDeclarations": [],
1134 "referencedDeclaration": 12081,
1135 "src": "728:6:38",
1136 "typeDescriptions": {
1137 "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
1138 "typeString": "function (bool) pure"
1139 }
1140 },
1141 "id": 11538,
1142 "isConstant": false,
1143 "isLValue": false,
1144 "isPure": false,
1145 "kind": "functionCall",
1146 "lValueRequested": false,
1147 "names": [],
1148 "nodeType": "FunctionCall",
1149 "src": "728:14:38",
1150 "typeDescriptions": {
1151 "typeIdentifier": "t_tuple$__$",
1152 "typeString": "tuple()"
1153 }
1154 },
1155 "id": 11539,
1156 "nodeType": "ExpressionStatement",
1157 "src": "728:14:38"
1158 },
1159 {
1160 "expression": {
1161 "argumentTypes": null,
1162 "id": 11540,
1163 "name": "c",
1164 "nodeType": "Identifier",
1165 "overloadedDeclarations": [],
1166 "referencedDeclaration": 11529,
1167 "src": "759:1:38",
1168 "typeDescriptions": {
1169 "typeIdentifier": "t_uint256",
1170 "typeString": "uint256"
1171 }
1172 },
1173 "functionReturnParameters": 11527,
1174 "id": 11541,
1175 "nodeType": "Return",
1176 "src": "752:8:38"
1177 }
1178 ]
1179 },
1180 "documentation": null,
1181 "id": 11543,
1182 "implemented": true,
1183 "isConstructor": false,
1184 "isDeclaredConst": true,
1185 "modifiers": [],
1186 "name": "add",
1187 "nodeType": "FunctionDefinition",
1188 "parameters": {
1189 "id": 11524,
1190 "nodeType": "ParameterList",
1191 "parameters": [
1192 {
1193 "constant": false,
1194 "id": 11521,
1195 "name": "a",
1196 "nodeType": "VariableDeclaration",
1197 "scope": 11543,
1198 "src": "637:9:38",
1199 "stateVariable": false,
1200 "storageLocation": "default",
1201 "typeDescriptions": {
1202 "typeIdentifier": "t_uint256",
1203 "typeString": "uint256"
1204 },
1205 "typeName": {
1206 "id": 11520,
1207 "name": "uint256",
1208 "nodeType": "ElementaryTypeName",
1209 "src": "637:7:38",
1210 "typeDescriptions": {
1211 "typeIdentifier": "t_uint256",
1212 "typeString": "uint256"
1213 }
1214 },
1215 "value": null,
1216 "visibility": "internal"
1217 },
1218 {
1219 "constant": false,
1220 "id": 11523,
1221 "name": "b",
1222 "nodeType": "VariableDeclaration",
1223 "scope": 11543,
1224 "src": "648:9:38",
1225 "stateVariable": false,
1226 "storageLocation": "default",
1227 "typeDescriptions": {
1228 "typeIdentifier": "t_uint256",
1229 "typeString": "uint256"
1230 },
1231 "typeName": {
1232 "id": 11522,
1233 "name": "uint256",
1234 "nodeType": "ElementaryTypeName",
1235 "src": "648:7:38",
1236 "typeDescriptions": {
1237 "typeIdentifier": "t_uint256",
1238 "typeString": "uint256"
1239 }
1240 },
1241 "value": null,
1242 "visibility": "internal"
1243 }
1244 ],
1245 "src": "636:22:38"
1246 },
1247 "payable": false,
1248 "returnParameters": {
1249 "id": 11527,
1250 "nodeType": "ParameterList",
1251 "parameters": [
1252 {
1253 "constant": false,
1254 "id": 11526,
1255 "name": "",
1256 "nodeType": "VariableDeclaration",
1257 "scope": 11543,
1258 "src": "682:7:38",
1259 "stateVariable": false,
1260 "storageLocation": "default",
1261 "typeDescriptions": {
1262 "typeIdentifier": "t_uint256",
1263 "typeString": "uint256"
1264 },
1265 "typeName": {
1266 "id": 11525,
1267 "name": "uint256",
1268 "nodeType": "ElementaryTypeName",
1269 "src": "682:7:38",
1270 "typeDescriptions": {
1271 "typeIdentifier": "t_uint256",
1272 "typeString": "uint256"
1273 }
1274 },
1275 "value": null,
1276 "visibility": "internal"
1277 }
1278 ],
1279 "src": "681:9:38"
1280 },
1281 "scope": 11544,
1282 "src": "624:143:38",
1283 "stateMutability": "pure",
1284 "superFunction": null,
1285 "visibility": "internal"
1286 }
1287 ],
1288 "scope": 12078,
1289 "src": "26:743:38"
1290 },
1291 {
1292 "baseContracts": [],
1293 "contractDependencies": [],
1294 "contractKind": "contract",
1295 "documentation": null,
1296 "fullyImplemented": false,
1297 "id": 11571,
1298 "linearizedBaseContracts": [
1299 11571
1300 ],
1301 "name": "ERC20Basic",
1302 "nodeType": "ContractDefinition",
1303 "nodes": [
1304 {
1305 "constant": false,
1306 "id": 11546,
1307 "name": "totalSupply",
1308 "nodeType": "VariableDeclaration",
1309 "scope": 11571,
1310 "src": "797:26:38",
1311 "stateVariable": true,
1312 "storageLocation": "default",
1313 "typeDescriptions": {
1314 "typeIdentifier": "t_uint256",
1315 "typeString": "uint256"
1316 },
1317 "typeName": {
1318 "id": 11545,
1319 "name": "uint256",
1320 "nodeType": "ElementaryTypeName",
1321 "src": "797:7:38",
1322 "typeDescriptions": {
1323 "typeIdentifier": "t_uint256",
1324 "typeString": "uint256"
1325 }
1326 },
1327 "value": null,
1328 "visibility": "public"
1329 },
1330 {
1331 "body": null,
1332 "documentation": null,
1333 "id": 11553,
1334 "implemented": false,
1335 "isConstructor": false,
1336 "isDeclaredConst": true,
1337 "modifiers": [],
1338 "name": "balanceOf",
1339 "nodeType": "FunctionDefinition",
1340 "parameters": {
1341 "id": 11549,
1342 "nodeType": "ParameterList",
1343 "parameters": [
1344 {
1345 "constant": false,
1346 "id": 11548,
1347 "name": "who",
1348 "nodeType": "VariableDeclaration",
1349 "scope": 11553,
1350 "src": "848:11:38",
1351 "stateVariable": false,
1352 "storageLocation": "default",
1353 "typeDescriptions": {
1354 "typeIdentifier": "t_address",
1355 "typeString": "address"
1356 },
1357 "typeName": {
1358 "id": 11547,
1359 "name": "address",
1360 "nodeType": "ElementaryTypeName",
1361 "src": "848:7:38",
1362 "typeDescriptions": {
1363 "typeIdentifier": "t_address",
1364 "typeString": "address"
1365 }
1366 },
1367 "value": null,
1368 "visibility": "internal"
1369 }
1370 ],
1371 "src": "847:13:38"
1372 },
1373 "payable": false,
1374 "returnParameters": {
1375 "id": 11552,
1376 "nodeType": "ParameterList",
1377 "parameters": [
1378 {
1379 "constant": false,
1380 "id": 11551,
1381 "name": "",
1382 "nodeType": "VariableDeclaration",
1383 "scope": 11553,
1384 "src": "886:7:38",
1385 "stateVariable": false,
1386 "storageLocation": "default",
1387 "typeDescriptions": {
1388 "typeIdentifier": "t_uint256",
1389 "typeString": "uint256"
1390 },
1391 "typeName": {
1392 "id": 11550,
1393 "name": "uint256",
1394 "nodeType": "ElementaryTypeName",
1395 "src": "886:7:38",
1396 "typeDescriptions": {
1397 "typeIdentifier": "t_uint256",
1398 "typeString": "uint256"
1399 }
1400 },
1401 "value": null,
1402 "visibility": "internal"
1403 }
1404 ],
1405 "src": "885:9:38"
1406 },
1407 "scope": 11571,
1408 "src": "829:66:38",
1409 "stateMutability": "view",
1410 "superFunction": null,
1411 "visibility": "public"
1412 },
1413 {
1414 "body": null,
1415 "documentation": null,
1416 "id": 11562,
1417 "implemented": false,
1418 "isConstructor": false,
1419 "isDeclaredConst": false,
1420 "modifiers": [],
1421 "name": "transfer",
1422 "nodeType": "FunctionDefinition",
1423 "parameters": {
1424 "id": 11558,
1425 "nodeType": "ParameterList",
1426 "parameters": [
1427 {
1428 "constant": false,
1429 "id": 11555,
1430 "name": "to",
1431 "nodeType": "VariableDeclaration",
1432 "scope": 11562,
1433 "src": "918:10:38",
1434 "stateVariable": false,
1435 "storageLocation": "default",
1436 "typeDescriptions": {
1437 "typeIdentifier": "t_address",
1438 "typeString": "address"
1439 },
1440 "typeName": {
1441 "id": 11554,
1442 "name": "address",
1443 "nodeType": "ElementaryTypeName",
1444 "src": "918:7:38",
1445 "typeDescriptions": {
1446 "typeIdentifier": "t_address",
1447 "typeString": "address"
1448 }
1449 },
1450 "value": null,
1451 "visibility": "internal"
1452 },
1453 {
1454 "constant": false,
1455 "id": 11557,
1456 "name": "value",
1457 "nodeType": "VariableDeclaration",
1458 "scope": 11562,
1459 "src": "930:13:38",
1460 "stateVariable": false,
1461 "storageLocation": "default",
1462 "typeDescriptions": {
1463 "typeIdentifier": "t_uint256",
1464 "typeString": "uint256"
1465 },
1466 "typeName": {
1467 "id": 11556,
1468 "name": "uint256",
1469 "nodeType": "ElementaryTypeName",
1470 "src": "930:7:38",
1471 "typeDescriptions": {
1472 "typeIdentifier": "t_uint256",
1473 "typeString": "uint256"
1474 }
1475 },
1476 "value": null,
1477 "visibility": "internal"
1478 }
1479 ],
1480 "src": "917:27:38"
1481 },
1482 "payable": false,
1483 "returnParameters": {
1484 "id": 11561,
1485 "nodeType": "ParameterList",
1486 "parameters": [
1487 {
1488 "constant": false,
1489 "id": 11560,
1490 "name": "",
1491 "nodeType": "VariableDeclaration",
1492 "scope": 11562,
1493 "src": "961:4:38",
1494 "stateVariable": false,
1495 "storageLocation": "default",
1496 "typeDescriptions": {
1497 "typeIdentifier": "t_bool",
1498 "typeString": "bool"
1499 },
1500 "typeName": {
1501 "id": 11559,
1502 "name": "bool",
1503 "nodeType": "ElementaryTypeName",
1504 "src": "961:4:38",
1505 "typeDescriptions": {
1506 "typeIdentifier": "t_bool",
1507 "typeString": "bool"
1508 }
1509 },
1510 "value": null,
1511 "visibility": "internal"
1512 }
1513 ],
1514 "src": "960:6:38"
1515 },
1516 "scope": 11571,
1517 "src": "900:67:38",
1518 "stateMutability": "nonpayable",
1519 "superFunction": null,
1520 "visibility": "public"
1521 },
1522 {
1523 "anonymous": false,
1524 "documentation": null,
1525 "id": 11570,
1526 "name": "Transfer",
1527 "nodeType": "EventDefinition",
1528 "parameters": {
1529 "id": 11569,
1530 "nodeType": "ParameterList",
1531 "parameters": [
1532 {
1533 "constant": false,
1534 "id": 11564,
1535 "indexed": true,
1536 "name": "from",
1537 "nodeType": "VariableDeclaration",
1538 "scope": 11570,
1539 "src": "987:20:38",
1540 "stateVariable": false,
1541 "storageLocation": "default",
1542 "typeDescriptions": {
1543 "typeIdentifier": "t_address",
1544 "typeString": "address"
1545 },
1546 "typeName": {
1547 "id": 11563,
1548 "name": "address",
1549 "nodeType": "ElementaryTypeName",
1550 "src": "987:7:38",
1551 "typeDescriptions": {
1552 "typeIdentifier": "t_address",
1553 "typeString": "address"
1554 }
1555 },
1556 "value": null,
1557 "visibility": "internal"
1558 },
1559 {
1560 "constant": false,
1561 "id": 11566,
1562 "indexed": true,
1563 "name": "to",
1564 "nodeType": "VariableDeclaration",
1565 "scope": 11570,
1566 "src": "1009:18:38",
1567 "stateVariable": false,
1568 "storageLocation": "default",
1569 "typeDescriptions": {
1570 "typeIdentifier": "t_address",
1571 "typeString": "address"
1572 },
1573 "typeName": {
1574 "id": 11565,
1575 "name": "address",
1576 "nodeType": "ElementaryTypeName",
1577 "src": "1009:7:38",
1578 "typeDescriptions": {
1579 "typeIdentifier": "t_address",
1580 "typeString": "address"
1581 }
1582 },
1583 "value": null,
1584 "visibility": "internal"
1585 },
1586 {
1587 "constant": false,
1588 "id": 11568,
1589 "indexed": false,
1590 "name": "value",
1591 "nodeType": "VariableDeclaration",
1592 "scope": 11570,
1593 "src": "1029:13:38",
1594 "stateVariable": false,
1595 "storageLocation": "default",
1596 "typeDescriptions": {
1597 "typeIdentifier": "t_uint256",
1598 "typeString": "uint256"
1599 },
1600 "typeName": {
1601 "id": 11567,
1602 "name": "uint256",
1603 "nodeType": "ElementaryTypeName",
1604 "src": "1029:7:38",
1605 "typeDescriptions": {
1606 "typeIdentifier": "t_uint256",
1607 "typeString": "uint256"
1608 }
1609 },
1610 "value": null,
1611 "visibility": "internal"
1612 }
1613 ],
1614 "src": "986:57:38"
1615 },
1616 "src": "972:72:38"
1617 }
1618 ],
1619 "scope": 12078,
1620 "src": "771:275:38"
1621 },
1622 {
1623 "baseContracts": [
1624 {
1625 "arguments": null,
1626 "baseName": {
1627 "contractScope": null,
1628 "id": 11572,
1629 "name": "ERC20Basic",
1630 "nodeType": "UserDefinedTypeName",
1631 "referencedDeclaration": 11571,
1632 "src": "1155:10:38",
1633 "typeDescriptions": {
1634 "typeIdentifier": "t_contract$_ERC20Basic_$11571",
1635 "typeString": "contract ERC20Basic"
1636 }
1637 },
1638 "id": 11573,
1639 "nodeType": "InheritanceSpecifier",
1640 "src": "1155:10:38"
1641 }
1642 ],
1643 "contractDependencies": [
1644 11571
1645 ],
1646 "contractKind": "contract",
1647 "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20",
1648 "fullyImplemented": false,
1649 "id": 11611,
1650 "linearizedBaseContracts": [
1651 11611,
1652 11571
1653 ],
1654 "name": "ERC20",
1655 "nodeType": "ContractDefinition",
1656 "nodes": [
1657 {
1658 "body": null,
1659 "documentation": null,
1660 "id": 11582,
1661 "implemented": false,
1662 "isConstructor": false,
1663 "isDeclaredConst": true,
1664 "modifiers": [],
1665 "name": "allowance",
1666 "nodeType": "FunctionDefinition",
1667 "parameters": {
1668 "id": 11578,
1669 "nodeType": "ParameterList",
1670 "parameters": [
1671 {
1672 "constant": false,
1673 "id": 11575,
1674 "name": "owner",
1675 "nodeType": "VariableDeclaration",
1676 "scope": 11582,
1677 "src": "1191:13:38",
1678 "stateVariable": false,
1679 "storageLocation": "default",
1680 "typeDescriptions": {
1681 "typeIdentifier": "t_address",
1682 "typeString": "address"
1683 },
1684 "typeName": {
1685 "id": 11574,
1686 "name": "address",
1687 "nodeType": "ElementaryTypeName",
1688 "src": "1191:7:38",
1689 "typeDescriptions": {
1690 "typeIdentifier": "t_address",
1691 "typeString": "address"
1692 }
1693 },
1694 "value": null,
1695 "visibility": "internal"
1696 },
1697 {
1698 "constant": false,
1699 "id": 11577,
1700 "name": "spender",
1701 "nodeType": "VariableDeclaration",
1702 "scope": 11582,
1703 "src": "1206:15:38",
1704 "stateVariable": false,
1705 "storageLocation": "default",
1706 "typeDescriptions": {
1707 "typeIdentifier": "t_address",
1708 "typeString": "address"
1709 },
1710 "typeName": {
1711 "id": 11576,
1712 "name": "address",
1713 "nodeType": "ElementaryTypeName",
1714 "src": "1206:7:38",
1715 "typeDescriptions": {
1716 "typeIdentifier": "t_address",
1717 "typeString": "address"
1718 }
1719 },
1720 "value": null,
1721 "visibility": "internal"
1722 }
1723 ],
1724 "src": "1190:32:38"
1725 },
1726 "payable": false,
1727 "returnParameters": {
1728 "id": 11581,
1729 "nodeType": "ParameterList",
1730 "parameters": [
1731 {
1732 "constant": false,
1733 "id": 11580,
1734 "name": "",
1735 "nodeType": "VariableDeclaration",
1736 "scope": 11582,
1737 "src": "1248:7:38",
1738 "stateVariable": false,
1739 "storageLocation": "default",
1740 "typeDescriptions": {
1741 "typeIdentifier": "t_uint256",
1742 "typeString": "uint256"
1743 },
1744 "typeName": {
1745 "id": 11579,
1746 "name": "uint256",
1747 "nodeType": "ElementaryTypeName",
1748 "src": "1248:7:38",
1749 "typeDescriptions": {
1750 "typeIdentifier": "t_uint256",
1751 "typeString": "uint256"
1752 }
1753 },
1754 "value": null,
1755 "visibility": "internal"
1756 }
1757 ],
1758 "src": "1247:9:38"
1759 },
1760 "scope": 11611,
1761 "src": "1172:85:38",
1762 "stateMutability": "view",
1763 "superFunction": null,
1764 "visibility": "public"
1765 },
1766 {
1767 "body": null,
1768 "documentation": null,
1769 "id": 11593,
1770 "implemented": false,
1771 "isConstructor": false,
1772 "isDeclaredConst": false,
1773 "modifiers": [],
1774 "name": "transferFrom",
1775 "nodeType": "FunctionDefinition",
1776 "parameters": {
1777 "id": 11589,
1778 "nodeType": "ParameterList",
1779 "parameters": [
1780 {
1781 "constant": false,
1782 "id": 11584,
1783 "name": "from",
1784 "nodeType": "VariableDeclaration",
1785 "scope": 11593,
1786 "src": "1284:12:38",
1787 "stateVariable": false,
1788 "storageLocation": "default",
1789 "typeDescriptions": {
1790 "typeIdentifier": "t_address",
1791 "typeString": "address"
1792 },
1793 "typeName": {
1794 "id": 11583,
1795 "name": "address",
1796 "nodeType": "ElementaryTypeName",
1797 "src": "1284:7:38",
1798 "typeDescriptions": {
1799 "typeIdentifier": "t_address",
1800 "typeString": "address"
1801 }
1802 },
1803 "value": null,
1804 "visibility": "internal"
1805 },
1806 {
1807 "constant": false,
1808 "id": 11586,
1809 "name": "to",
1810 "nodeType": "VariableDeclaration",
1811 "scope": 11593,
1812 "src": "1298:10:38",
1813 "stateVariable": false,
1814 "storageLocation": "default",
1815 "typeDescriptions": {
1816 "typeIdentifier": "t_address",
1817 "typeString": "address"
1818 },
1819 "typeName": {
1820 "id": 11585,
1821 "name": "address",
1822 "nodeType": "ElementaryTypeName",
1823 "src": "1298:7:38",
1824 "typeDescriptions": {
1825 "typeIdentifier": "t_address",
1826 "typeString": "address"
1827 }
1828 },
1829 "value": null,
1830 "visibility": "internal"
1831 },
1832 {
1833 "constant": false,
1834 "id": 11588,
1835 "name": "value",
1836 "nodeType": "VariableDeclaration",
1837 "scope": 11593,
1838 "src": "1310:13:38",
1839 "stateVariable": false,
1840 "storageLocation": "default",
1841 "typeDescriptions": {
1842 "typeIdentifier": "t_uint256",
1843 "typeString": "uint256"
1844 },
1845 "typeName": {
1846 "id": 11587,
1847 "name": "uint256",
1848 "nodeType": "ElementaryTypeName",
1849 "src": "1310:7:38",
1850 "typeDescriptions": {
1851 "typeIdentifier": "t_uint256",
1852 "typeString": "uint256"
1853 }
1854 },
1855 "value": null,
1856 "visibility": "internal"
1857 }
1858 ],
1859 "src": "1283:41:38"
1860 },
1861 "payable": false,
1862 "returnParameters": {
1863 "id": 11592,
1864 "nodeType": "ParameterList",
1865 "parameters": [
1866 {
1867 "constant": false,
1868 "id": 11591,
1869 "name": "",
1870 "nodeType": "VariableDeclaration",
1871 "scope": 11593,
1872 "src": "1341:4:38",
1873 "stateVariable": false,
1874 "storageLocation": "default",
1875 "typeDescriptions": {
1876 "typeIdentifier": "t_bool",
1877 "typeString": "bool"
1878 },
1879 "typeName": {
1880 "id": 11590,
1881 "name": "bool",
1882 "nodeType": "ElementaryTypeName",
1883 "src": "1341:4:38",
1884 "typeDescriptions": {
1885 "typeIdentifier": "t_bool",
1886 "typeString": "bool"
1887 }
1888 },
1889 "value": null,
1890 "visibility": "internal"
1891 }
1892 ],
1893 "src": "1340:6:38"
1894 },
1895 "scope": 11611,
1896 "src": "1262:85:38",
1897 "stateMutability": "nonpayable",
1898 "superFunction": null,
1899 "visibility": "public"
1900 },
1901 {
1902 "body": null,
1903 "documentation": null,
1904 "id": 11602,
1905 "implemented": false,
1906 "isConstructor": false,
1907 "isDeclaredConst": false,
1908 "modifiers": [],
1909 "name": "approve",
1910 "nodeType": "FunctionDefinition",
1911 "parameters": {
1912 "id": 11598,
1913 "nodeType": "ParameterList",
1914 "parameters": [
1915 {
1916 "constant": false,
1917 "id": 11595,
1918 "name": "spender",
1919 "nodeType": "VariableDeclaration",
1920 "scope": 11602,
1921 "src": "1369:15:38",
1922 "stateVariable": false,
1923 "storageLocation": "default",
1924 "typeDescriptions": {
1925 "typeIdentifier": "t_address",
1926 "typeString": "address"
1927 },
1928 "typeName": {
1929 "id": 11594,
1930 "name": "address",
1931 "nodeType": "ElementaryTypeName",
1932 "src": "1369:7:38",
1933 "typeDescriptions": {
1934 "typeIdentifier": "t_address",
1935 "typeString": "address"
1936 }
1937 },
1938 "value": null,
1939 "visibility": "internal"
1940 },
1941 {
1942 "constant": false,
1943 "id": 11597,
1944 "name": "value",
1945 "nodeType": "VariableDeclaration",
1946 "scope": 11602,
1947 "src": "1386:13:38",
1948 "stateVariable": false,
1949 "storageLocation": "default",
1950 "typeDescriptions": {
1951 "typeIdentifier": "t_uint256",
1952 "typeString": "uint256"
1953 },
1954 "typeName": {
1955 "id": 11596,
1956 "name": "uint256",
1957 "nodeType": "ElementaryTypeName",
1958 "src": "1386:7:38",
1959 "typeDescriptions": {
1960 "typeIdentifier": "t_uint256",
1961 "typeString": "uint256"
1962 }
1963 },
1964 "value": null,
1965 "visibility": "internal"
1966 }
1967 ],
1968 "src": "1368:32:38"
1969 },
1970 "payable": false,
1971 "returnParameters": {
1972 "id": 11601,
1973 "nodeType": "ParameterList",
1974 "parameters": [
1975 {
1976 "constant": false,
1977 "id": 11600,
1978 "name": "",
1979 "nodeType": "VariableDeclaration",
1980 "scope": 11602,
1981 "src": "1417:4:38",
1982 "stateVariable": false,
1983 "storageLocation": "default",
1984 "typeDescriptions": {
1985 "typeIdentifier": "t_bool",
1986 "typeString": "bool"
1987 },
1988 "typeName": {
1989 "id": 11599,
1990 "name": "bool",
1991 "nodeType": "ElementaryTypeName",
1992 "src": "1417:4:38",
1993 "typeDescriptions": {
1994 "typeIdentifier": "t_bool",
1995 "typeString": "bool"
1996 }
1997 },
1998 "value": null,
1999 "visibility": "internal"
2000 }
2001 ],
2002 "src": "1416:6:38"
2003 },
2004 "scope": 11611,
2005 "src": "1352:71:38",
2006 "stateMutability": "nonpayable",
2007 "superFunction": null,
2008 "visibility": "public"
2009 },
2010 {
2011 "anonymous": false,
2012 "documentation": null,
2013 "id": 11610,
2014 "name": "Approval",
2015 "nodeType": "EventDefinition",
2016 "parameters": {
2017 "id": 11609,
2018 "nodeType": "ParameterList",
2019 "parameters": [
2020 {
2021 "constant": false,
2022 "id": 11604,
2023 "indexed": true,
2024 "name": "owner",
2025 "nodeType": "VariableDeclaration",
2026 "scope": 11610,
2027 "src": "1443:21:38",
2028 "stateVariable": false,
2029 "storageLocation": "default",
2030 "typeDescriptions": {
2031 "typeIdentifier": "t_address",
2032 "typeString": "address"
2033 },
2034 "typeName": {
2035 "id": 11603,
2036 "name": "address",
2037 "nodeType": "ElementaryTypeName",
2038 "src": "1443:7:38",
2039 "typeDescriptions": {
2040 "typeIdentifier": "t_address",
2041 "typeString": "address"
2042 }
2043 },
2044 "value": null,
2045 "visibility": "internal"
2046 },
2047 {
2048 "constant": false,
2049 "id": 11606,
2050 "indexed": true,
2051 "name": "spender",
2052 "nodeType": "VariableDeclaration",
2053 "scope": 11610,
2054 "src": "1466:23:38",
2055 "stateVariable": false,
2056 "storageLocation": "default",
2057 "typeDescriptions": {
2058 "typeIdentifier": "t_address",
2059 "typeString": "address"
2060 },
2061 "typeName": {
2062 "id": 11605,
2063 "name": "address",
2064 "nodeType": "ElementaryTypeName",
2065 "src": "1466:7:38",
2066 "typeDescriptions": {
2067 "typeIdentifier": "t_address",
2068 "typeString": "address"
2069 }
2070 },
2071 "value": null,
2072 "visibility": "internal"
2073 },
2074 {
2075 "constant": false,
2076 "id": 11608,
2077 "indexed": false,
2078 "name": "value",
2079 "nodeType": "VariableDeclaration",
2080 "scope": 11610,
2081 "src": "1491:13:38",
2082 "stateVariable": false,
2083 "storageLocation": "default",
2084 "typeDescriptions": {
2085 "typeIdentifier": "t_uint256",
2086 "typeString": "uint256"
2087 },
2088 "typeName": {
2089 "id": 11607,
2090 "name": "uint256",
2091 "nodeType": "ElementaryTypeName",
2092 "src": "1491:7:38",
2093 "typeDescriptions": {
2094 "typeIdentifier": "t_uint256",
2095 "typeString": "uint256"
2096 }
2097 },
2098 "value": null,
2099 "visibility": "internal"
2100 }
2101 ],
2102 "src": "1442:63:38"
2103 },
2104 "src": "1428:78:38"
2105 }
2106 ],
2107 "scope": 12078,
2108 "src": "1137:371:38"
2109 },
2110 {
2111 "baseContracts": [
2112 {
2113 "arguments": null,
2114 "baseName": {
2115 "contractScope": null,
2116 "id": 11612,
2117 "name": "ERC20Basic",
2118 "nodeType": "UserDefinedTypeName",
2119 "referencedDeclaration": 11571,
2120 "src": "1533:10:38",
2121 "typeDescriptions": {
2122 "typeIdentifier": "t_contract$_ERC20Basic_$11571",
2123 "typeString": "contract ERC20Basic"
2124 }
2125 },
2126 "id": 11613,
2127 "nodeType": "InheritanceSpecifier",
2128 "src": "1533:10:38"
2129 }
2130 ],
2131 "contractDependencies": [
2132 11571
2133 ],
2134 "contractKind": "contract",
2135 "documentation": null,
2136 "fullyImplemented": true,
2137 "id": 11684,
2138 "linearizedBaseContracts": [
2139 11684,
2140 11571
2141 ],
2142 "name": "BasicToken",
2143 "nodeType": "ContractDefinition",
2144 "nodes": [
2145 {
2146 "id": 11616,
2147 "libraryName": {
2148 "contractScope": null,
2149 "id": 11614,
2150 "name": "SafeMath",
2151 "nodeType": "UserDefinedTypeName",
2152 "referencedDeclaration": 11544,
2153 "src": "1556:8:38",
2154 "typeDescriptions": {
2155 "typeIdentifier": "t_contract$_SafeMath_$11544",
2156 "typeString": "library SafeMath"
2157 }
2158 },
2159 "nodeType": "UsingForDirective",
2160 "src": "1550:27:38",
2161 "typeName": {
2162 "id": 11615,
2163 "name": "uint256",
2164 "nodeType": "ElementaryTypeName",
2165 "src": "1569:7:38",
2166 "typeDescriptions": {
2167 "typeIdentifier": "t_uint256",
2168 "typeString": "uint256"
2169 }
2170 }
2171 },
2172 {
2173 "constant": false,
2174 "id": 11620,
2175 "name": "balances",
2176 "nodeType": "VariableDeclaration",
2177 "scope": 11684,
2178 "src": "1582:36:38",
2179 "stateVariable": true,
2180 "storageLocation": "default",
2181 "typeDescriptions": {
2182 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
2183 "typeString": "mapping(address => uint256)"
2184 },
2185 "typeName": {
2186 "id": 11619,
2187 "keyType": {
2188 "id": 11617,
2189 "name": "address",
2190 "nodeType": "ElementaryTypeName",
2191 "src": "1590:7:38",
2192 "typeDescriptions": {
2193 "typeIdentifier": "t_address",
2194 "typeString": "address"
2195 }
2196 },
2197 "nodeType": "Mapping",
2198 "src": "1582:27:38",
2199 "typeDescriptions": {
2200 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
2201 "typeString": "mapping(address => uint256)"
2202 },
2203 "valueType": {
2204 "id": 11618,
2205 "name": "uint256",
2206 "nodeType": "ElementaryTypeName",
2207 "src": "1601:7:38",
2208 "typeDescriptions": {
2209 "typeIdentifier": "t_uint256",
2210 "typeString": "uint256"
2211 }
2212 }
2213 },
2214 "value": null,
2215 "visibility": "internal"
2216 },
2217 {
2218 "body": {
2219 "id": 11670,
2220 "nodeType": "Block",
2221 "src": "1853:295:38",
2222 "statements": [
2223 {
2224 "expression": {
2225 "argumentTypes": null,
2226 "arguments": [
2227 {
2228 "argumentTypes": null,
2229 "commonType": {
2230 "typeIdentifier": "t_address",
2231 "typeString": "address"
2232 },
2233 "id": 11634,
2234 "isConstant": false,
2235 "isLValue": false,
2236 "isPure": false,
2237 "lValueRequested": false,
2238 "leftExpression": {
2239 "argumentTypes": null,
2240 "id": 11630,
2241 "name": "_to",
2242 "nodeType": "Identifier",
2243 "overloadedDeclarations": [],
2244 "referencedDeclaration": 11622,
2245 "src": "1871:3:38",
2246 "typeDescriptions": {
2247 "typeIdentifier": "t_address",
2248 "typeString": "address"
2249 }
2250 },
2251 "nodeType": "BinaryOperation",
2252 "operator": "!=",
2253 "rightExpression": {
2254 "argumentTypes": null,
2255 "arguments": [
2256 {
2257 "argumentTypes": null,
2258 "hexValue": "30",
2259 "id": 11632,
2260 "isConstant": false,
2261 "isLValue": false,
2262 "isPure": true,
2263 "kind": "number",
2264 "lValueRequested": false,
2265 "nodeType": "Literal",
2266 "src": "1886:1:38",
2267 "subdenomination": null,
2268 "typeDescriptions": {
2269 "typeIdentifier": "t_rational_0_by_1",
2270 "typeString": "int_const 0"
2271 },
2272 "value": "0"
2273 }
2274 ],
2275 "expression": {
2276 "argumentTypes": [
2277 {
2278 "typeIdentifier": "t_rational_0_by_1",
2279 "typeString": "int_const 0"
2280 }
2281 ],
2282 "id": 11631,
2283 "isConstant": false,
2284 "isLValue": false,
2285 "isPure": true,
2286 "lValueRequested": false,
2287 "nodeType": "ElementaryTypeNameExpression",
2288 "src": "1878:7:38",
2289 "typeDescriptions": {
2290 "typeIdentifier": "t_type$_t_address_$",
2291 "typeString": "type(address)"
2292 },
2293 "typeName": "address"
2294 },
2295 "id": 11633,
2296 "isConstant": false,
2297 "isLValue": false,
2298 "isPure": true,
2299 "kind": "typeConversion",
2300 "lValueRequested": false,
2301 "names": [],
2302 "nodeType": "FunctionCall",
2303 "src": "1878:10:38",
2304 "typeDescriptions": {
2305 "typeIdentifier": "t_address",
2306 "typeString": "address"
2307 }
2308 },
2309 "src": "1871:17:38",
2310 "typeDescriptions": {
2311 "typeIdentifier": "t_bool",
2312 "typeString": "bool"
2313 }
2314 }
2315 ],
2316 "expression": {
2317 "argumentTypes": [
2318 {
2319 "typeIdentifier": "t_bool",
2320 "typeString": "bool"
2321 }
2322 ],
2323 "id": 11629,
2324 "name": "require",
2325 "nodeType": "Identifier",
2326 "overloadedDeclarations": [
2327 12095,
2328 12096
2329 ],
2330 "referencedDeclaration": 12095,
2331 "src": "1863:7:38",
2332 "typeDescriptions": {
2333 "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
2334 "typeString": "function (bool) pure"
2335 }
2336 },
2337 "id": 11635,
2338 "isConstant": false,
2339 "isLValue": false,
2340 "isPure": false,
2341 "kind": "functionCall",
2342 "lValueRequested": false,
2343 "names": [],
2344 "nodeType": "FunctionCall",
2345 "src": "1863:26:38",
2346 "typeDescriptions": {
2347 "typeIdentifier": "t_tuple$__$",
2348 "typeString": "tuple()"
2349 }
2350 },
2351 "id": 11636,
2352 "nodeType": "ExpressionStatement",
2353 "src": "1863:26:38"
2354 },
2355 {
2356 "expression": {
2357 "argumentTypes": null,
2358 "id": 11648,
2359 "isConstant": false,
2360 "isLValue": false,
2361 "isPure": false,
2362 "lValueRequested": false,
2363 "leftHandSide": {
2364 "argumentTypes": null,
2365 "baseExpression": {
2366 "argumentTypes": null,
2367 "id": 11637,
2368 "name": "balances",
2369 "nodeType": "Identifier",
2370 "overloadedDeclarations": [],
2371 "referencedDeclaration": 11620,
2372 "src": "1966:8:38",
2373 "typeDescriptions": {
2374 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
2375 "typeString": "mapping(address => uint256)"
2376 }
2377 },
2378 "id": 11640,
2379 "indexExpression": {
2380 "argumentTypes": null,
2381 "expression": {
2382 "argumentTypes": null,
2383 "id": 11638,
2384 "name": "msg",
2385 "nodeType": "Identifier",
2386 "overloadedDeclarations": [],
2387 "referencedDeclaration": 12092,
2388 "src": "1975:3:38",
2389 "typeDescriptions": {
2390 "typeIdentifier": "t_magic_message",
2391 "typeString": "msg"
2392 }
2393 },
2394 "id": 11639,
2395 "isConstant": false,
2396 "isLValue": false,
2397 "isPure": false,
2398 "lValueRequested": false,
2399 "memberName": "sender",
2400 "nodeType": "MemberAccess",
2401 "referencedDeclaration": null,
2402 "src": "1975:10:38",
2403 "typeDescriptions": {
2404 "typeIdentifier": "t_address",
2405 "typeString": "address"
2406 }
2407 },
2408 "isConstant": false,
2409 "isLValue": true,
2410 "isPure": false,
2411 "lValueRequested": true,
2412 "nodeType": "IndexAccess",
2413 "src": "1966:20:38",
2414 "typeDescriptions": {
2415 "typeIdentifier": "t_uint256",
2416 "typeString": "uint256"
2417 }
2418 },
2419 "nodeType": "Assignment",
2420 "operator": "=",
2421 "rightHandSide": {
2422 "argumentTypes": null,
2423 "arguments": [
2424 {
2425 "argumentTypes": null,
2426 "id": 11646,
2427 "name": "_value",
2428 "nodeType": "Identifier",
2429 "overloadedDeclarations": [],
2430 "referencedDeclaration": 11624,
2431 "src": "2014:6:38",
2432 "typeDescriptions": {
2433 "typeIdentifier": "t_uint256",
2434 "typeString": "uint256"
2435 }
2436 }
2437 ],
2438 "expression": {
2439 "argumentTypes": [
2440 {
2441 "typeIdentifier": "t_uint256",
2442 "typeString": "uint256"
2443 }
2444 ],
2445 "expression": {
2446 "argumentTypes": null,
2447 "baseExpression": {
2448 "argumentTypes": null,
2449 "id": 11641,
2450 "name": "balances",
2451 "nodeType": "Identifier",
2452 "overloadedDeclarations": [],
2453 "referencedDeclaration": 11620,
2454 "src": "1989:8:38",
2455 "typeDescriptions": {
2456 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
2457 "typeString": "mapping(address => uint256)"
2458 }
2459 },
2460 "id": 11644,
2461 "indexExpression": {
2462 "argumentTypes": null,
2463 "expression": {
2464 "argumentTypes": null,
2465 "id": 11642,
2466 "name": "msg",
2467 "nodeType": "Identifier",
2468 "overloadedDeclarations": [],
2469 "referencedDeclaration": 12092,
2470 "src": "1998:3:38",
2471 "typeDescriptions": {
2472 "typeIdentifier": "t_magic_message",
2473 "typeString": "msg"
2474 }
2475 },
2476 "id": 11643,
2477 "isConstant": false,
2478 "isLValue": false,
2479 "isPure": false,
2480 "lValueRequested": false,
2481 "memberName": "sender",
2482 "nodeType": "MemberAccess",
2483 "referencedDeclaration": null,
2484 "src": "1998:10:38",
2485 "typeDescriptions": {
2486 "typeIdentifier": "t_address",
2487 "typeString": "address"
2488 }
2489 },
2490 "isConstant": false,
2491 "isLValue": true,
2492 "isPure": false,
2493 "lValueRequested": false,
2494 "nodeType": "IndexAccess",
2495 "src": "1989:20:38",
2496 "typeDescriptions": {
2497 "typeIdentifier": "t_uint256",
2498 "typeString": "uint256"
2499 }
2500 },
2501 "id": 11645,
2502 "isConstant": false,
2503 "isLValue": false,
2504 "isPure": false,
2505 "lValueRequested": false,
2506 "memberName": "sub",
2507 "nodeType": "MemberAccess",
2508 "referencedDeclaration": 11519,
2509 "src": "1989:24:38",
2510 "typeDescriptions": {
2511 "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
2512 "typeString": "function (uint256,uint256) pure returns (uint256)"
2513 }
2514 },
2515 "id": 11647,
2516 "isConstant": false,
2517 "isLValue": false,
2518 "isPure": false,
2519 "kind": "functionCall",
2520 "lValueRequested": false,
2521 "names": [],
2522 "nodeType": "FunctionCall",
2523 "src": "1989:32:38",
2524 "typeDescriptions": {
2525 "typeIdentifier": "t_uint256",
2526 "typeString": "uint256"
2527 }
2528 },
2529 "src": "1966:55:38",
2530 "typeDescriptions": {
2531 "typeIdentifier": "t_uint256",
2532 "typeString": "uint256"
2533 }
2534 },
2535 "id": 11649,
2536 "nodeType": "ExpressionStatement",
2537 "src": "1966:55:38"
2538 },
2539 {
2540 "expression": {
2541 "argumentTypes": null,
2542 "id": 11659,
2543 "isConstant": false,
2544 "isLValue": false,
2545 "isPure": false,
2546 "lValueRequested": false,
2547 "leftHandSide": {
2548 "argumentTypes": null,
2549 "baseExpression": {
2550 "argumentTypes": null,
2551 "id": 11650,
2552 "name": "balances",
2553 "nodeType": "Identifier",
2554 "overloadedDeclarations": [],
2555 "referencedDeclaration": 11620,
2556 "src": "2031:8:38",
2557 "typeDescriptions": {
2558 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
2559 "typeString": "mapping(address => uint256)"
2560 }
2561 },
2562 "id": 11652,
2563 "indexExpression": {
2564 "argumentTypes": null,
2565 "id": 11651,
2566 "name": "_to",
2567 "nodeType": "Identifier",
2568 "overloadedDeclarations": [],
2569 "referencedDeclaration": 11622,
2570 "src": "2040:3:38",
2571 "typeDescriptions": {
2572 "typeIdentifier": "t_address",
2573 "typeString": "address"
2574 }
2575 },
2576 "isConstant": false,
2577 "isLValue": true,
2578 "isPure": false,
2579 "lValueRequested": true,
2580 "nodeType": "IndexAccess",
2581 "src": "2031:13:38",
2582 "typeDescriptions": {
2583 "typeIdentifier": "t_uint256",
2584 "typeString": "uint256"
2585 }
2586 },
2587 "nodeType": "Assignment",
2588 "operator": "=",
2589 "rightHandSide": {
2590 "argumentTypes": null,
2591 "arguments": [
2592 {
2593 "argumentTypes": null,
2594 "id": 11657,
2595 "name": "_value",
2596 "nodeType": "Identifier",
2597 "overloadedDeclarations": [],
2598 "referencedDeclaration": 11624,
2599 "src": "2065:6:38",
2600 "typeDescriptions": {
2601 "typeIdentifier": "t_uint256",
2602 "typeString": "uint256"
2603 }
2604 }
2605 ],
2606 "expression": {
2607 "argumentTypes": [
2608 {
2609 "typeIdentifier": "t_uint256",
2610 "typeString": "uint256"
2611 }
2612 ],
2613 "expression": {
2614 "argumentTypes": null,
2615 "baseExpression": {
2616 "argumentTypes": null,
2617 "id": 11653,
2618 "name": "balances",
2619 "nodeType": "Identifier",
2620 "overloadedDeclarations": [],
2621 "referencedDeclaration": 11620,
2622 "src": "2047:8:38",
2623 "typeDescriptions": {
2624 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
2625 "typeString": "mapping(address => uint256)"
2626 }
2627 },
2628 "id": 11655,
2629 "indexExpression": {
2630 "argumentTypes": null,
2631 "id": 11654,
2632 "name": "_to",
2633 "nodeType": "Identifier",
2634 "overloadedDeclarations": [],
2635 "referencedDeclaration": 11622,
2636 "src": "2056:3:38",
2637 "typeDescriptions": {
2638 "typeIdentifier": "t_address",
2639 "typeString": "address"
2640 }
2641 },
2642 "isConstant": false,
2643 "isLValue": true,
2644 "isPure": false,
2645 "lValueRequested": false,
2646 "nodeType": "IndexAccess",
2647 "src": "2047:13:38",
2648 "typeDescriptions": {
2649 "typeIdentifier": "t_uint256",
2650 "typeString": "uint256"
2651 }
2652 },
2653 "id": 11656,
2654 "isConstant": false,
2655 "isLValue": false,
2656 "isPure": false,
2657 "lValueRequested": false,
2658 "memberName": "add",
2659 "nodeType": "MemberAccess",
2660 "referencedDeclaration": 11543,
2661 "src": "2047:17:38",
2662 "typeDescriptions": {
2663 "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
2664 "typeString": "function (uint256,uint256) pure returns (uint256)"
2665 }
2666 },
2667 "id": 11658,
2668 "isConstant": false,
2669 "isLValue": false,
2670 "isPure": false,
2671 "kind": "functionCall",
2672 "lValueRequested": false,
2673 "names": [],
2674 "nodeType": "FunctionCall",
2675 "src": "2047:25:38",
2676 "typeDescriptions": {
2677 "typeIdentifier": "t_uint256",
2678 "typeString": "uint256"
2679 }
2680 },
2681 "src": "2031:41:38",
2682 "typeDescriptions": {
2683 "typeIdentifier": "t_uint256",
2684 "typeString": "uint256"
2685 }
2686 },
2687 "id": 11660,
2688 "nodeType": "ExpressionStatement",
2689 "src": "2031:41:38"
2690 },
2691 {
2692 "eventCall": {
2693 "argumentTypes": null,
2694 "arguments": [
2695 {
2696 "argumentTypes": null,
2697 "expression": {
2698 "argumentTypes": null,
2699 "id": 11662,
2700 "name": "msg",
2701 "nodeType": "Identifier",
2702 "overloadedDeclarations": [],
2703 "referencedDeclaration": 12092,
2704 "src": "2096:3:38",
2705 "typeDescriptions": {
2706 "typeIdentifier": "t_magic_message",
2707 "typeString": "msg"
2708 }
2709 },
2710 "id": 11663,
2711 "isConstant": false,
2712 "isLValue": false,
2713 "isPure": false,
2714 "lValueRequested": false,
2715 "memberName": "sender",
2716 "nodeType": "MemberAccess",
2717 "referencedDeclaration": null,
2718 "src": "2096:10:38",
2719 "typeDescriptions": {
2720 "typeIdentifier": "t_address",
2721 "typeString": "address"
2722 }
2723 },
2724 {
2725 "argumentTypes": null,
2726 "id": 11664,
2727 "name": "_to",
2728 "nodeType": "Identifier",
2729 "overloadedDeclarations": [],
2730 "referencedDeclaration": 11622,
2731 "src": "2108:3:38",
2732 "typeDescriptions": {
2733 "typeIdentifier": "t_address",
2734 "typeString": "address"
2735 }
2736 },
2737 {
2738 "argumentTypes": null,
2739 "id": 11665,
2740 "name": "_value",
2741 "nodeType": "Identifier",
2742 "overloadedDeclarations": [],
2743 "referencedDeclaration": 11624,
2744 "src": "2113:6:38",
2745 "typeDescriptions": {
2746 "typeIdentifier": "t_uint256",
2747 "typeString": "uint256"
2748 }
2749 }
2750 ],
2751 "expression": {
2752 "argumentTypes": [
2753 {
2754 "typeIdentifier": "t_address",
2755 "typeString": "address"
2756 },
2757 {
2758 "typeIdentifier": "t_address",
2759 "typeString": "address"
2760 },
2761 {
2762 "typeIdentifier": "t_uint256",
2763 "typeString": "uint256"
2764 }
2765 ],
2766 "id": 11661,
2767 "name": "Transfer",
2768 "nodeType": "Identifier",
2769 "overloadedDeclarations": [],
2770 "referencedDeclaration": 11570,
2771 "src": "2087:8:38",
2772 "typeDescriptions": {
2773 "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
2774 "typeString": "function (address,address,uint256)"
2775 }
2776 },
2777 "id": 11666,
2778 "isConstant": false,
2779 "isLValue": false,
2780 "isPure": false,
2781 "kind": "functionCall",
2782 "lValueRequested": false,
2783 "names": [],
2784 "nodeType": "FunctionCall",
2785 "src": "2087:33:38",
2786 "typeDescriptions": {
2787 "typeIdentifier": "t_tuple$__$",
2788 "typeString": "tuple()"
2789 }
2790 },
2791 "id": 11667,
2792 "nodeType": "EmitStatement",
2793 "src": "2082:38:38"
2794 },
2795 {
2796 "expression": {
2797 "argumentTypes": null,
2798 "hexValue": "74727565",
2799 "id": 11668,
2800 "isConstant": false,
2801 "isLValue": false,
2802 "isPure": true,
2803 "kind": "bool",
2804 "lValueRequested": false,
2805 "nodeType": "Literal",
2806 "src": "2137:4:38",
2807 "subdenomination": null,
2808 "typeDescriptions": {
2809 "typeIdentifier": "t_bool",
2810 "typeString": "bool"
2811 },
2812 "value": "true"
2813 },
2814 "functionReturnParameters": 11628,
2815 "id": 11669,
2816 "nodeType": "Return",
2817 "src": "2130:11:38"
2818 }
2819 ]
2820 },
2821 "documentation": "@dev transfer token for a specified address\n@param _to The address to transfer to.\n@param _value The amount to be transferred.",
2822 "id": 11671,
2823 "implemented": true,
2824 "isConstructor": false,
2825 "isDeclaredConst": false,
2826 "modifiers": [],
2827 "name": "transfer",
2828 "nodeType": "FunctionDefinition",
2829 "parameters": {
2830 "id": 11625,
2831 "nodeType": "ParameterList",
2832 "parameters": [
2833 {
2834 "constant": false,
2835 "id": 11622,
2836 "name": "_to",
2837 "nodeType": "VariableDeclaration",
2838 "scope": 11671,
2839 "src": "1802:11:38",
2840 "stateVariable": false,
2841 "storageLocation": "default",
2842 "typeDescriptions": {
2843 "typeIdentifier": "t_address",
2844 "typeString": "address"
2845 },
2846 "typeName": {
2847 "id": 11621,
2848 "name": "address",
2849 "nodeType": "ElementaryTypeName",
2850 "src": "1802:7:38",
2851 "typeDescriptions": {
2852 "typeIdentifier": "t_address",
2853 "typeString": "address"
2854 }
2855 },
2856 "value": null,
2857 "visibility": "internal"
2858 },
2859 {
2860 "constant": false,
2861 "id": 11624,
2862 "name": "_value",
2863 "nodeType": "VariableDeclaration",
2864 "scope": 11671,
2865 "src": "1815:14:38",
2866 "stateVariable": false,
2867 "storageLocation": "default",
2868 "typeDescriptions": {
2869 "typeIdentifier": "t_uint256",
2870 "typeString": "uint256"
2871 },
2872 "typeName": {
2873 "id": 11623,
2874 "name": "uint256",
2875 "nodeType": "ElementaryTypeName",
2876 "src": "1815:7:38",
2877 "typeDescriptions": {
2878 "typeIdentifier": "t_uint256",
2879 "typeString": "uint256"
2880 }
2881 },
2882 "value": null,
2883 "visibility": "internal"
2884 }
2885 ],
2886 "src": "1801:29:38"
2887 },
2888 "payable": false,
2889 "returnParameters": {
2890 "id": 11628,
2891 "nodeType": "ParameterList",
2892 "parameters": [
2893 {
2894 "constant": false,
2895 "id": 11627,
2896 "name": "",
2897 "nodeType": "VariableDeclaration",
2898 "scope": 11671,
2899 "src": "1847:4:38",
2900 "stateVariable": false,
2901 "storageLocation": "default",
2902 "typeDescriptions": {
2903 "typeIdentifier": "t_bool",
2904 "typeString": "bool"
2905 },
2906 "typeName": {
2907 "id": 11626,
2908 "name": "bool",
2909 "nodeType": "ElementaryTypeName",
2910 "src": "1847:4:38",
2911 "typeDescriptions": {
2912 "typeIdentifier": "t_bool",
2913 "typeString": "bool"
2914 }
2915 },
2916 "value": null,
2917 "visibility": "internal"
2918 }
2919 ],
2920 "src": "1846:6:38"
2921 },
2922 "scope": 11684,
2923 "src": "1784:364:38",
2924 "stateMutability": "nonpayable",
2925 "superFunction": 11562,
2926 "visibility": "public"
2927 },
2928 {
2929 "body": {
2930 "id": 11682,
2931 "nodeType": "Block",
2932 "src": "2438:40:38",
2933 "statements": [
2934 {
2935 "expression": {
2936 "argumentTypes": null,
2937 "baseExpression": {
2938 "argumentTypes": null,
2939 "id": 11678,
2940 "name": "balances",
2941 "nodeType": "Identifier",
2942 "overloadedDeclarations": [],
2943 "referencedDeclaration": 11620,
2944 "src": "2455:8:38",
2945 "typeDescriptions": {
2946 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
2947 "typeString": "mapping(address => uint256)"
2948 }
2949 },
2950 "id": 11680,
2951 "indexExpression": {
2952 "argumentTypes": null,
2953 "id": 11679,
2954 "name": "_owner",
2955 "nodeType": "Identifier",
2956 "overloadedDeclarations": [],
2957 "referencedDeclaration": 11673,
2958 "src": "2464:6:38",
2959 "typeDescriptions": {
2960 "typeIdentifier": "t_address",
2961 "typeString": "address"
2962 }
2963 },
2964 "isConstant": false,
2965 "isLValue": true,
2966 "isPure": false,
2967 "lValueRequested": false,
2968 "nodeType": "IndexAccess",
2969 "src": "2455:16:38",
2970 "typeDescriptions": {
2971 "typeIdentifier": "t_uint256",
2972 "typeString": "uint256"
2973 }
2974 },
2975 "functionReturnParameters": 11677,
2976 "id": 11681,
2977 "nodeType": "Return",
2978 "src": "2448:23:38"
2979 }
2980 ]
2981 },
2982 "documentation": "@dev Gets the balance of the specified address.\n@param _owner The address to query the the balance of.\n@return An uint256 representing the amount owned by the passed address.",
2983 "id": 11683,
2984 "implemented": true,
2985 "isConstructor": false,
2986 "isDeclaredConst": true,
2987 "modifiers": [],
2988 "name": "balanceOf",
2989 "nodeType": "FunctionDefinition",
2990 "parameters": {
2991 "id": 11674,
2992 "nodeType": "ParameterList",
2993 "parameters": [
2994 {
2995 "constant": false,
2996 "id": 11673,
2997 "name": "_owner",
2998 "nodeType": "VariableDeclaration",
2999 "scope": 11683,
3000 "src": "2380:14:38",
3001 "stateVariable": false,
3002 "storageLocation": "default",
3003 "typeDescriptions": {
3004 "typeIdentifier": "t_address",
3005 "typeString": "address"
3006 },
3007 "typeName": {
3008 "id": 11672,
3009 "name": "address",
3010 "nodeType": "ElementaryTypeName",
3011 "src": "2380:7:38",
3012 "typeDescriptions": {
3013 "typeIdentifier": "t_address",
3014 "typeString": "address"
3015 }
3016 },
3017 "value": null,
3018 "visibility": "internal"
3019 }
3020 ],
3021 "src": "2379:16:38"
3022 },
3023 "payable": false,
3024 "returnParameters": {
3025 "id": 11677,
3026 "nodeType": "ParameterList",
3027 "parameters": [
3028 {
3029 "constant": false,
3030 "id": 11676,
3031 "name": "balance",
3032 "nodeType": "VariableDeclaration",
3033 "scope": 11683,
3034 "src": "2421:15:38",
3035 "stateVariable": false,
3036 "storageLocation": "default",
3037 "typeDescriptions": {
3038 "typeIdentifier": "t_uint256",
3039 "typeString": "uint256"
3040 },
3041 "typeName": {
3042 "id": 11675,
3043 "name": "uint256",
3044 "nodeType": "ElementaryTypeName",
3045 "src": "2421:7:38",
3046 "typeDescriptions": {
3047 "typeIdentifier": "t_uint256",
3048 "typeString": "uint256"
3049 }
3050 },
3051 "value": null,
3052 "visibility": "internal"
3053 }
3054 ],
3055 "src": "2420:17:38"
3056 },
3057 "scope": 11684,
3058 "src": "2361:117:38",
3059 "stateMutability": "view",
3060 "superFunction": 11553,
3061 "visibility": "public"
3062 }
3063 ],
3064 "scope": 12078,
3065 "src": "1510:970:38"
3066 },
3067 {
3068 "baseContracts": [],
3069 "contractDependencies": [],
3070 "contractKind": "contract",
3071 "documentation": null,
3072 "fullyImplemented": true,
3073 "id": 11738,
3074 "linearizedBaseContracts": [
3075 11738
3076 ],
3077 "name": "Ownable",
3078 "nodeType": "ContractDefinition",
3079 "nodes": [
3080 {
3081 "constant": false,
3082 "id": 11686,
3083 "name": "owner",
3084 "nodeType": "VariableDeclaration",
3085 "scope": 11738,
3086 "src": "2505:20:38",
3087 "stateVariable": true,
3088 "storageLocation": "default",
3089 "typeDescriptions": {
3090 "typeIdentifier": "t_address",
3091 "typeString": "address"
3092 },
3093 "typeName": {
3094 "id": 11685,
3095 "name": "address",
3096 "nodeType": "ElementaryTypeName",
3097 "src": "2505:7:38",
3098 "typeDescriptions": {
3099 "typeIdentifier": "t_address",
3100 "typeString": "address"
3101 }
3102 },
3103 "value": null,
3104 "visibility": "public"
3105 },
3106 {
3107 "anonymous": false,
3108 "documentation": null,
3109 "id": 11692,
3110 "name": "OwnershipTransferred",
3111 "nodeType": "EventDefinition",
3112 "parameters": {
3113 "id": 11691,
3114 "nodeType": "ParameterList",
3115 "parameters": [
3116 {
3117 "constant": false,
3118 "id": 11688,
3119 "indexed": true,
3120 "name": "previousOwner",
3121 "nodeType": "VariableDeclaration",
3122 "scope": 11692,
3123 "src": "2558:29:38",
3124 "stateVariable": false,
3125 "storageLocation": "default",
3126 "typeDescriptions": {
3127 "typeIdentifier": "t_address",
3128 "typeString": "address"
3129 },
3130 "typeName": {
3131 "id": 11687,
3132 "name": "address",
3133 "nodeType": "ElementaryTypeName",
3134 "src": "2558:7:38",
3135 "typeDescriptions": {
3136 "typeIdentifier": "t_address",
3137 "typeString": "address"
3138 }
3139 },
3140 "value": null,
3141 "visibility": "internal"
3142 },
3143 {
3144 "constant": false,
3145 "id": 11690,
3146 "indexed": true,
3147 "name": "newOwner",
3148 "nodeType": "VariableDeclaration",
3149 "scope": 11692,
3150 "src": "2589:24:38",
3151 "stateVariable": false,
3152 "storageLocation": "default",
3153 "typeDescriptions": {
3154 "typeIdentifier": "t_address",
3155 "typeString": "address"
3156 },
3157 "typeName": {
3158 "id": 11689,
3159 "name": "address",
3160 "nodeType": "ElementaryTypeName",
3161 "src": "2589:7:38",
3162 "typeDescriptions": {
3163 "typeIdentifier": "t_address",
3164 "typeString": "address"
3165 }
3166 },
3167 "value": null,
3168 "visibility": "internal"
3169 }
3170 ],
3171 "src": "2557:57:38"
3172 },
3173 "src": "2531:84:38"
3174 },
3175 {
3176 "body": {
3177 "id": 11700,
3178 "nodeType": "Block",
3179 "src": "2765:35:38",
3180 "statements": [
3181 {
3182 "expression": {
3183 "argumentTypes": null,
3184 "id": 11698,
3185 "isConstant": false,
3186 "isLValue": false,
3187 "isPure": false,
3188 "lValueRequested": false,
3189 "leftHandSide": {
3190 "argumentTypes": null,
3191 "id": 11695,
3192 "name": "owner",
3193 "nodeType": "Identifier",
3194 "overloadedDeclarations": [],
3195 "referencedDeclaration": 11686,
3196 "src": "2775:5:38",
3197 "typeDescriptions": {
3198 "typeIdentifier": "t_address",
3199 "typeString": "address"
3200 }
3201 },
3202 "nodeType": "Assignment",
3203 "operator": "=",
3204 "rightHandSide": {
3205 "argumentTypes": null,
3206 "expression": {
3207 "argumentTypes": null,
3208 "id": 11696,
3209 "name": "msg",
3210 "nodeType": "Identifier",
3211 "overloadedDeclarations": [],
3212 "referencedDeclaration": 12092,
3213 "src": "2783:3:38",
3214 "typeDescriptions": {
3215 "typeIdentifier": "t_magic_message",
3216 "typeString": "msg"
3217 }
3218 },
3219 "id": 11697,
3220 "isConstant": false,
3221 "isLValue": false,
3222 "isPure": false,
3223 "lValueRequested": false,
3224 "memberName": "sender",
3225 "nodeType": "MemberAccess",
3226 "referencedDeclaration": null,
3227 "src": "2783:10:38",
3228 "typeDescriptions": {
3229 "typeIdentifier": "t_address",
3230 "typeString": "address"
3231 }
3232 },
3233 "src": "2775:18:38",
3234 "typeDescriptions": {
3235 "typeIdentifier": "t_address",
3236 "typeString": "address"
3237 }
3238 },
3239 "id": 11699,
3240 "nodeType": "ExpressionStatement",
3241 "src": "2775:18:38"
3242 }
3243 ]
3244 },
3245 "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.",
3246 "id": 11701,
3247 "implemented": true,
3248 "isConstructor": true,
3249 "isDeclaredConst": false,
3250 "modifiers": [],
3251 "name": "",
3252 "nodeType": "FunctionDefinition",
3253 "parameters": {
3254 "id": 11693,
3255 "nodeType": "ParameterList",
3256 "parameters": [],
3257 "src": "2755:2:38"
3258 },
3259 "payable": false,
3260 "returnParameters": {
3261 "id": 11694,
3262 "nodeType": "ParameterList",
3263 "parameters": [],
3264 "src": "2765:0:38"
3265 },
3266 "scope": 11738,
3267 "src": "2744:56:38",
3268 "stateMutability": "nonpayable",
3269 "superFunction": null,
3270 "visibility": "public"
3271 },
3272 {
3273 "body": {
3274 "id": 11711,
3275 "nodeType": "Block",
3276 "src": "2908:56:38",
3277 "statements": [
3278 {
3279 "expression": {
3280 "argumentTypes": null,
3281 "arguments": [
3282 {
3283 "argumentTypes": null,
3284 "commonType": {
3285 "typeIdentifier": "t_address",
3286 "typeString": "address"
3287 },
3288 "id": 11707,
3289 "isConstant": false,
3290 "isLValue": false,
3291 "isPure": false,
3292 "lValueRequested": false,
3293 "leftExpression": {
3294 "argumentTypes": null,
3295 "expression": {
3296 "argumentTypes": null,
3297 "id": 11704,
3298 "name": "msg",
3299 "nodeType": "Identifier",
3300 "overloadedDeclarations": [],
3301 "referencedDeclaration": 12092,
3302 "src": "2926:3:38",
3303 "typeDescriptions": {
3304 "typeIdentifier": "t_magic_message",
3305 "typeString": "msg"
3306 }
3307 },
3308 "id": 11705,
3309 "isConstant": false,
3310 "isLValue": false,
3311 "isPure": false,
3312 "lValueRequested": false,
3313 "memberName": "sender",
3314 "nodeType": "MemberAccess",
3315 "referencedDeclaration": null,
3316 "src": "2926:10:38",
3317 "typeDescriptions": {
3318 "typeIdentifier": "t_address",
3319 "typeString": "address"
3320 }
3321 },
3322 "nodeType": "BinaryOperation",
3323 "operator": "==",
3324 "rightExpression": {
3325 "argumentTypes": null,
3326 "id": 11706,
3327 "name": "owner",
3328 "nodeType": "Identifier",
3329 "overloadedDeclarations": [],
3330 "referencedDeclaration": 11686,
3331 "src": "2940:5:38",
3332 "typeDescriptions": {
3333 "typeIdentifier": "t_address",
3334 "typeString": "address"
3335 }
3336 },
3337 "src": "2926:19:38",
3338 "typeDescriptions": {
3339 "typeIdentifier": "t_bool",
3340 "typeString": "bool"
3341 }
3342 }
3343 ],
3344 "expression": {
3345 "argumentTypes": [
3346 {
3347 "typeIdentifier": "t_bool",
3348 "typeString": "bool"
3349 }
3350 ],
3351 "id": 11703,
3352 "name": "require",
3353 "nodeType": "Identifier",
3354 "overloadedDeclarations": [
3355 12095,
3356 12096
3357 ],
3358 "referencedDeclaration": 12095,
3359 "src": "2918:7:38",
3360 "typeDescriptions": {
3361 "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
3362 "typeString": "function (bool) pure"
3363 }
3364 },
3365 "id": 11708,
3366 "isConstant": false,
3367 "isLValue": false,
3368 "isPure": false,
3369 "kind": "functionCall",
3370 "lValueRequested": false,
3371 "names": [],
3372 "nodeType": "FunctionCall",
3373 "src": "2918:28:38",
3374 "typeDescriptions": {
3375 "typeIdentifier": "t_tuple$__$",
3376 "typeString": "tuple()"
3377 }
3378 },
3379 "id": 11709,
3380 "nodeType": "ExpressionStatement",
3381 "src": "2918:28:38"
3382 },
3383 {
3384 "id": 11710,
3385 "nodeType": "PlaceholderStatement",
3386 "src": "2956:1:38"
3387 }
3388 ]
3389 },
3390 "documentation": "@dev Throws if called by any account other than the owner.",
3391 "id": 11712,
3392 "name": "onlyOwner",
3393 "nodeType": "ModifierDefinition",
3394 "parameters": {
3395 "id": 11702,
3396 "nodeType": "ParameterList",
3397 "parameters": [],
3398 "src": "2905:2:38"
3399 },
3400 "src": "2887:77:38",
3401 "visibility": "internal"
3402 },
3403 {
3404 "body": {
3405 "id": 11736,
3406 "nodeType": "Block",
3407 "src": "3196:126:38",
3408 "statements": [
3409 {
3410 "expression": {
3411 "argumentTypes": null,
3412 "arguments": [
3413 {
3414 "argumentTypes": null,
3415 "commonType": {
3416 "typeIdentifier": "t_address",
3417 "typeString": "address"
3418 },
3419 "id": 11724,
3420 "isConstant": false,
3421 "isLValue": false,
3422 "isPure": false,
3423 "lValueRequested": false,
3424 "leftExpression": {
3425 "argumentTypes": null,
3426 "id": 11720,
3427 "name": "newOwner",
3428 "nodeType": "Identifier",
3429 "overloadedDeclarations": [],
3430 "referencedDeclaration": 11714,
3431 "src": "3214:8:38",
3432 "typeDescriptions": {
3433 "typeIdentifier": "t_address",
3434 "typeString": "address"
3435 }
3436 },
3437 "nodeType": "BinaryOperation",
3438 "operator": "!=",
3439 "rightExpression": {
3440 "argumentTypes": null,
3441 "arguments": [
3442 {
3443 "argumentTypes": null,
3444 "hexValue": "30",
3445 "id": 11722,
3446 "isConstant": false,
3447 "isLValue": false,
3448 "isPure": true,
3449 "kind": "number",
3450 "lValueRequested": false,
3451 "nodeType": "Literal",
3452 "src": "3234:1:38",
3453 "subdenomination": null,
3454 "typeDescriptions": {
3455 "typeIdentifier": "t_rational_0_by_1",
3456 "typeString": "int_const 0"
3457 },
3458 "value": "0"
3459 }
3460 ],
3461 "expression": {
3462 "argumentTypes": [
3463 {
3464 "typeIdentifier": "t_rational_0_by_1",
3465 "typeString": "int_const 0"
3466 }
3467 ],
3468 "id": 11721,
3469 "isConstant": false,
3470 "isLValue": false,
3471 "isPure": true,
3472 "lValueRequested": false,
3473 "nodeType": "ElementaryTypeNameExpression",
3474 "src": "3226:7:38",
3475 "typeDescriptions": {
3476 "typeIdentifier": "t_type$_t_address_$",
3477 "typeString": "type(address)"
3478 },
3479 "typeName": "address"
3480 },
3481 "id": 11723,
3482 "isConstant": false,
3483 "isLValue": false,
3484 "isPure": true,
3485 "kind": "typeConversion",
3486 "lValueRequested": false,
3487 "names": [],
3488 "nodeType": "FunctionCall",
3489 "src": "3226:10:38",
3490 "typeDescriptions": {
3491 "typeIdentifier": "t_address",
3492 "typeString": "address"
3493 }
3494 },
3495 "src": "3214:22:38",
3496 "typeDescriptions": {
3497 "typeIdentifier": "t_bool",
3498 "typeString": "bool"
3499 }
3500 }
3501 ],
3502 "expression": {
3503 "argumentTypes": [
3504 {
3505 "typeIdentifier": "t_bool",
3506 "typeString": "bool"
3507 }
3508 ],
3509 "id": 11719,
3510 "name": "require",
3511 "nodeType": "Identifier",
3512 "overloadedDeclarations": [
3513 12095,
3514 12096
3515 ],
3516 "referencedDeclaration": 12095,
3517 "src": "3206:7:38",
3518 "typeDescriptions": {
3519 "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
3520 "typeString": "function (bool) pure"
3521 }
3522 },
3523 "id": 11725,
3524 "isConstant": false,
3525 "isLValue": false,
3526 "isPure": false,
3527 "kind": "functionCall",
3528 "lValueRequested": false,
3529 "names": [],
3530 "nodeType": "FunctionCall",
3531 "src": "3206:31:38",
3532 "typeDescriptions": {
3533 "typeIdentifier": "t_tuple$__$",
3534 "typeString": "tuple()"
3535 }
3536 },
3537 "id": 11726,
3538 "nodeType": "ExpressionStatement",
3539 "src": "3206:31:38"
3540 },
3541 {
3542 "eventCall": {
3543 "argumentTypes": null,
3544 "arguments": [
3545 {
3546 "argumentTypes": null,
3547 "id": 11728,
3548 "name": "owner",
3549 "nodeType": "Identifier",
3550 "overloadedDeclarations": [],
3551 "referencedDeclaration": 11686,
3552 "src": "3273:5:38",
3553 "typeDescriptions": {
3554 "typeIdentifier": "t_address",
3555 "typeString": "address"
3556 }
3557 },
3558 {
3559 "argumentTypes": null,
3560 "id": 11729,
3561 "name": "newOwner",
3562 "nodeType": "Identifier",
3563 "overloadedDeclarations": [],
3564 "referencedDeclaration": 11714,
3565 "src": "3280:8:38",
3566 "typeDescriptions": {
3567 "typeIdentifier": "t_address",
3568 "typeString": "address"
3569 }
3570 }
3571 ],
3572 "expression": {
3573 "argumentTypes": [
3574 {
3575 "typeIdentifier": "t_address",
3576 "typeString": "address"
3577 },
3578 {
3579 "typeIdentifier": "t_address",
3580 "typeString": "address"
3581 }
3582 ],
3583 "id": 11727,
3584 "name": "OwnershipTransferred",
3585 "nodeType": "Identifier",
3586 "overloadedDeclarations": [],
3587 "referencedDeclaration": 11692,
3588 "src": "3252:20:38",
3589 "typeDescriptions": {
3590 "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$",
3591 "typeString": "function (address,address)"
3592 }
3593 },
3594 "id": 11730,
3595 "isConstant": false,
3596 "isLValue": false,
3597 "isPure": false,
3598 "kind": "functionCall",
3599 "lValueRequested": false,
3600 "names": [],
3601 "nodeType": "FunctionCall",
3602 "src": "3252:37:38",
3603 "typeDescriptions": {
3604 "typeIdentifier": "t_tuple$__$",
3605 "typeString": "tuple()"
3606 }
3607 },
3608 "id": 11731,
3609 "nodeType": "EmitStatement",
3610 "src": "3247:42:38"
3611 },
3612 {
3613 "expression": {
3614 "argumentTypes": null,
3615 "id": 11734,
3616 "isConstant": false,
3617 "isLValue": false,
3618 "isPure": false,
3619 "lValueRequested": false,
3620 "leftHandSide": {
3621 "argumentTypes": null,
3622 "id": 11732,
3623 "name": "owner",
3624 "nodeType": "Identifier",
3625 "overloadedDeclarations": [],
3626 "referencedDeclaration": 11686,
3627 "src": "3299:5:38",
3628 "typeDescriptions": {
3629 "typeIdentifier": "t_address",
3630 "typeString": "address"
3631 }
3632 },
3633 "nodeType": "Assignment",
3634 "operator": "=",
3635 "rightHandSide": {
3636 "argumentTypes": null,
3637 "id": 11733,
3638 "name": "newOwner",
3639 "nodeType": "Identifier",
3640 "overloadedDeclarations": [],
3641 "referencedDeclaration": 11714,
3642 "src": "3307:8:38",
3643 "typeDescriptions": {
3644 "typeIdentifier": "t_address",
3645 "typeString": "address"
3646 }
3647 },
3648 "src": "3299:16:38",
3649 "typeDescriptions": {
3650 "typeIdentifier": "t_address",
3651 "typeString": "address"
3652 }
3653 },
3654 "id": 11735,
3655 "nodeType": "ExpressionStatement",
3656 "src": "3299:16:38"
3657 }
3658 ]
3659 },
3660 "documentation": "@dev Allows the current owner to transfer control of the contract to a newOwner.\n@param newOwner The address to transfer ownership to.",
3661 "id": 11737,
3662 "implemented": true,
3663 "isConstructor": false,
3664 "isDeclaredConst": false,
3665 "modifiers": [
3666 {
3667 "arguments": null,
3668 "id": 11717,
3669 "modifierName": {
3670 "argumentTypes": null,
3671 "id": 11716,
3672 "name": "onlyOwner",
3673 "nodeType": "Identifier",
3674 "overloadedDeclarations": [],
3675 "referencedDeclaration": 11712,
3676 "src": "3179:9:38",
3677 "typeDescriptions": {
3678 "typeIdentifier": "t_modifier$__$",
3679 "typeString": "modifier ()"
3680 }
3681 },
3682 "nodeType": "ModifierInvocation",
3683 "src": "3179:9:38"
3684 }
3685 ],
3686 "name": "transferOwnership",
3687 "nodeType": "FunctionDefinition",
3688 "parameters": {
3689 "id": 11715,
3690 "nodeType": "ParameterList",
3691 "parameters": [
3692 {
3693 "constant": false,
3694 "id": 11714,
3695 "name": "newOwner",
3696 "nodeType": "VariableDeclaration",
3697 "scope": 11737,
3698 "src": "3161:16:38",
3699 "stateVariable": false,
3700 "storageLocation": "default",
3701 "typeDescriptions": {
3702 "typeIdentifier": "t_address",
3703 "typeString": "address"
3704 },
3705 "typeName": {
3706 "id": 11713,
3707 "name": "address",
3708 "nodeType": "ElementaryTypeName",
3709 "src": "3161:7:38",
3710 "typeDescriptions": {
3711 "typeIdentifier": "t_address",
3712 "typeString": "address"
3713 }
3714 },
3715 "value": null,
3716 "visibility": "internal"
3717 }
3718 ],
3719 "src": "3160:18:38"
3720 },
3721 "payable": false,
3722 "returnParameters": {
3723 "id": 11718,
3724 "nodeType": "ParameterList",
3725 "parameters": [],
3726 "src": "3196:0:38"
3727 },
3728 "scope": 11738,
3729 "src": "3134:188:38",
3730 "stateMutability": "nonpayable",
3731 "superFunction": null,
3732 "visibility": "public"
3733 }
3734 ],
3735 "scope": 12078,
3736 "src": "2482:842:38"
3737 },
3738 {
3739 "baseContracts": [
3740 {
3741 "arguments": null,
3742 "baseName": {
3743 "contractScope": null,
3744 "id": 11739,
3745 "name": "ERC20",
3746 "nodeType": "UserDefinedTypeName",
3747 "referencedDeclaration": 11611,
3748 "src": "3352:5:38",
3749 "typeDescriptions": {
3750 "typeIdentifier": "t_contract$_ERC20_$11611",
3751 "typeString": "contract ERC20"
3752 }
3753 },
3754 "id": 11740,
3755 "nodeType": "InheritanceSpecifier",
3756 "src": "3352:5:38"
3757 },
3758 {
3759 "arguments": null,
3760 "baseName": {
3761 "contractScope": null,
3762 "id": 11741,
3763 "name": "BasicToken",
3764 "nodeType": "UserDefinedTypeName",
3765 "referencedDeclaration": 11684,
3766 "src": "3359:10:38",
3767 "typeDescriptions": {
3768 "typeIdentifier": "t_contract$_BasicToken_$11684",
3769 "typeString": "contract BasicToken"
3770 }
3771 },
3772 "id": 11742,
3773 "nodeType": "InheritanceSpecifier",
3774 "src": "3359:10:38"
3775 }
3776 ],
3777 "contractDependencies": [
3778 11571,
3779 11611,
3780 11684
3781 ],
3782 "contractKind": "contract",
3783 "documentation": null,
3784 "fullyImplemented": true,
3785 "id": 11965,
3786 "linearizedBaseContracts": [
3787 11965,
3788 11684,
3789 11611,
3790 11571
3791 ],
3792 "name": "StandardToken",
3793 "nodeType": "ContractDefinition",
3794 "nodes": [
3795 {
3796 "constant": false,
3797 "id": 11748,
3798 "name": "allowed",
3799 "nodeType": "VariableDeclaration",
3800 "scope": 11965,
3801 "src": "3376:57:38",
3802 "stateVariable": true,
3803 "storageLocation": "default",
3804 "typeDescriptions": {
3805 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
3806 "typeString": "mapping(address => mapping(address => uint256))"
3807 },
3808 "typeName": {
3809 "id": 11747,
3810 "keyType": {
3811 "id": 11743,
3812 "name": "address",
3813 "nodeType": "ElementaryTypeName",
3814 "src": "3385:7:38",
3815 "typeDescriptions": {
3816 "typeIdentifier": "t_address",
3817 "typeString": "address"
3818 }
3819 },
3820 "nodeType": "Mapping",
3821 "src": "3376:49:38",
3822 "typeDescriptions": {
3823 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
3824 "typeString": "mapping(address => mapping(address => uint256))"
3825 },
3826 "valueType": {
3827 "id": 11746,
3828 "keyType": {
3829 "id": 11744,
3830 "name": "address",
3831 "nodeType": "ElementaryTypeName",
3832 "src": "3405:7:38",
3833 "typeDescriptions": {
3834 "typeIdentifier": "t_address",
3835 "typeString": "address"
3836 }
3837 },
3838 "nodeType": "Mapping",
3839 "src": "3396:28:38",
3840 "typeDescriptions": {
3841 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
3842 "typeString": "mapping(address => uint256)"
3843 },
3844 "valueType": {
3845 "id": 11745,
3846 "name": "uint256",
3847 "nodeType": "ElementaryTypeName",
3848 "src": "3416:7:38",
3849 "typeDescriptions": {
3850 "typeIdentifier": "t_uint256",
3851 "typeString": "uint256"
3852 }
3853 }
3854 }
3855 },
3856 "value": null,
3857 "visibility": "internal"
3858 },
3859 {
3860 "body": {
3861 "id": 11818,
3862 "nodeType": "Block",
3863 "src": "3810:485:38",
3864 "statements": [
3865 {
3866 "expression": {
3867 "argumentTypes": null,
3868 "arguments": [
3869 {
3870 "argumentTypes": null,
3871 "commonType": {
3872 "typeIdentifier": "t_address",
3873 "typeString": "address"
3874 },
3875 "id": 11764,
3876 "isConstant": false,
3877 "isLValue": false,
3878 "isPure": false,
3879 "lValueRequested": false,
3880 "leftExpression": {
3881 "argumentTypes": null,
3882 "id": 11760,
3883 "name": "_to",
3884 "nodeType": "Identifier",
3885 "overloadedDeclarations": [],
3886 "referencedDeclaration": 11752,
3887 "src": "3828:3:38",
3888 "typeDescriptions": {
3889 "typeIdentifier": "t_address",
3890 "typeString": "address"
3891 }
3892 },
3893 "nodeType": "BinaryOperation",
3894 "operator": "!=",
3895 "rightExpression": {
3896 "argumentTypes": null,
3897 "arguments": [
3898 {
3899 "argumentTypes": null,
3900 "hexValue": "30",
3901 "id": 11762,
3902 "isConstant": false,
3903 "isLValue": false,
3904 "isPure": true,
3905 "kind": "number",
3906 "lValueRequested": false,
3907 "nodeType": "Literal",
3908 "src": "3843:1:38",
3909 "subdenomination": null,
3910 "typeDescriptions": {
3911 "typeIdentifier": "t_rational_0_by_1",
3912 "typeString": "int_const 0"
3913 },
3914 "value": "0"
3915 }
3916 ],
3917 "expression": {
3918 "argumentTypes": [
3919 {
3920 "typeIdentifier": "t_rational_0_by_1",
3921 "typeString": "int_const 0"
3922 }
3923 ],
3924 "id": 11761,
3925 "isConstant": false,
3926 "isLValue": false,
3927 "isPure": true,
3928 "lValueRequested": false,
3929 "nodeType": "ElementaryTypeNameExpression",
3930 "src": "3835:7:38",
3931 "typeDescriptions": {
3932 "typeIdentifier": "t_type$_t_address_$",
3933 "typeString": "type(address)"
3934 },
3935 "typeName": "address"
3936 },
3937 "id": 11763,
3938 "isConstant": false,
3939 "isLValue": false,
3940 "isPure": true,
3941 "kind": "typeConversion",
3942 "lValueRequested": false,
3943 "names": [],
3944 "nodeType": "FunctionCall",
3945 "src": "3835:10:38",
3946 "typeDescriptions": {
3947 "typeIdentifier": "t_address",
3948 "typeString": "address"
3949 }
3950 },
3951 "src": "3828:17:38",
3952 "typeDescriptions": {
3953 "typeIdentifier": "t_bool",
3954 "typeString": "bool"
3955 }
3956 }
3957 ],
3958 "expression": {
3959 "argumentTypes": [
3960 {
3961 "typeIdentifier": "t_bool",
3962 "typeString": "bool"
3963 }
3964 ],
3965 "id": 11759,
3966 "name": "require",
3967 "nodeType": "Identifier",
3968 "overloadedDeclarations": [
3969 12095,
3970 12096
3971 ],
3972 "referencedDeclaration": 12095,
3973 "src": "3820:7:38",
3974 "typeDescriptions": {
3975 "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
3976 "typeString": "function (bool) pure"
3977 }
3978 },
3979 "id": 11765,
3980 "isConstant": false,
3981 "isLValue": false,
3982 "isPure": false,
3983 "kind": "functionCall",
3984 "lValueRequested": false,
3985 "names": [],
3986 "nodeType": "FunctionCall",
3987 "src": "3820:26:38",
3988 "typeDescriptions": {
3989 "typeIdentifier": "t_tuple$__$",
3990 "typeString": "tuple()"
3991 }
3992 },
3993 "id": 11766,
3994 "nodeType": "ExpressionStatement",
3995 "src": "3820:26:38"
3996 },
3997 {
3998 "assignments": [
3999 11768
4000 ],
4001 "declarations": [
4002 {
4003 "constant": false,
4004 "id": 11768,
4005 "name": "_allowance",
4006 "nodeType": "VariableDeclaration",
4007 "scope": 11819,
4008 "src": "3856:18:38",
4009 "stateVariable": false,
4010 "storageLocation": "default",
4011 "typeDescriptions": {
4012 "typeIdentifier": "t_uint256",
4013 "typeString": "uint256"
4014 },
4015 "typeName": {
4016 "id": 11767,
4017 "name": "uint256",
4018 "nodeType": "ElementaryTypeName",
4019 "src": "3856:7:38",
4020 "typeDescriptions": {
4021 "typeIdentifier": "t_uint256",
4022 "typeString": "uint256"
4023 }
4024 },
4025 "value": null,
4026 "visibility": "internal"
4027 }
4028 ],
4029 "id": 11775,
4030 "initialValue": {
4031 "argumentTypes": null,
4032 "baseExpression": {
4033 "argumentTypes": null,
4034 "baseExpression": {
4035 "argumentTypes": null,
4036 "id": 11769,
4037 "name": "allowed",
4038 "nodeType": "Identifier",
4039 "overloadedDeclarations": [],
4040 "referencedDeclaration": 11748,
4041 "src": "3877:7:38",
4042 "typeDescriptions": {
4043 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
4044 "typeString": "mapping(address => mapping(address => uint256))"
4045 }
4046 },
4047 "id": 11771,
4048 "indexExpression": {
4049 "argumentTypes": null,
4050 "id": 11770,
4051 "name": "_from",
4052 "nodeType": "Identifier",
4053 "overloadedDeclarations": [],
4054 "referencedDeclaration": 11750,
4055 "src": "3885:5:38",
4056 "typeDescriptions": {
4057 "typeIdentifier": "t_address",
4058 "typeString": "address"
4059 }
4060 },
4061 "isConstant": false,
4062 "isLValue": true,
4063 "isPure": false,
4064 "lValueRequested": false,
4065 "nodeType": "IndexAccess",
4066 "src": "3877:14:38",
4067 "typeDescriptions": {
4068 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
4069 "typeString": "mapping(address => uint256)"
4070 }
4071 },
4072 "id": 11774,
4073 "indexExpression": {
4074 "argumentTypes": null,
4075 "expression": {
4076 "argumentTypes": null,
4077 "id": 11772,
4078 "name": "msg",
4079 "nodeType": "Identifier",
4080 "overloadedDeclarations": [],
4081 "referencedDeclaration": 12092,
4082 "src": "3892:3:38",
4083 "typeDescriptions": {
4084 "typeIdentifier": "t_magic_message",
4085 "typeString": "msg"
4086 }
4087 },
4088 "id": 11773,
4089 "isConstant": false,
4090 "isLValue": false,
4091 "isPure": false,
4092 "lValueRequested": false,
4093 "memberName": "sender",
4094 "nodeType": "MemberAccess",
4095 "referencedDeclaration": null,
4096 "src": "3892:10:38",
4097 "typeDescriptions": {
4098 "typeIdentifier": "t_address",
4099 "typeString": "address"
4100 }
4101 },
4102 "isConstant": false,
4103 "isLValue": true,
4104 "isPure": false,
4105 "lValueRequested": false,
4106 "nodeType": "IndexAccess",
4107 "src": "3877:26:38",
4108 "typeDescriptions": {
4109 "typeIdentifier": "t_uint256",
4110 "typeString": "uint256"
4111 }
4112 },
4113 "nodeType": "VariableDeclarationStatement",
4114 "src": "3856:47:38"
4115 },
4116 {
4117 "expression": {
4118 "argumentTypes": null,
4119 "id": 11785,
4120 "isConstant": false,
4121 "isLValue": false,
4122 "isPure": false,
4123 "lValueRequested": false,
4124 "leftHandSide": {
4125 "argumentTypes": null,
4126 "baseExpression": {
4127 "argumentTypes": null,
4128 "id": 11776,
4129 "name": "balances",
4130 "nodeType": "Identifier",
4131 "overloadedDeclarations": [],
4132 "referencedDeclaration": 11620,
4133 "src": "4067:8:38",
4134 "typeDescriptions": {
4135 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
4136 "typeString": "mapping(address => uint256)"
4137 }
4138 },
4139 "id": 11778,
4140 "indexExpression": {
4141 "argumentTypes": null,
4142 "id": 11777,
4143 "name": "_from",
4144 "nodeType": "Identifier",
4145 "overloadedDeclarations": [],
4146 "referencedDeclaration": 11750,
4147 "src": "4076:5:38",
4148 "typeDescriptions": {
4149 "typeIdentifier": "t_address",
4150 "typeString": "address"
4151 }
4152 },
4153 "isConstant": false,
4154 "isLValue": true,
4155 "isPure": false,
4156 "lValueRequested": true,
4157 "nodeType": "IndexAccess",
4158 "src": "4067:15:38",
4159 "typeDescriptions": {
4160 "typeIdentifier": "t_uint256",
4161 "typeString": "uint256"
4162 }
4163 },
4164 "nodeType": "Assignment",
4165 "operator": "=",
4166 "rightHandSide": {
4167 "argumentTypes": null,
4168 "arguments": [
4169 {
4170 "argumentTypes": null,
4171 "id": 11783,
4172 "name": "_value",
4173 "nodeType": "Identifier",
4174 "overloadedDeclarations": [],
4175 "referencedDeclaration": 11754,
4176 "src": "4105:6:38",
4177 "typeDescriptions": {
4178 "typeIdentifier": "t_uint256",
4179 "typeString": "uint256"
4180 }
4181 }
4182 ],
4183 "expression": {
4184 "argumentTypes": [
4185 {
4186 "typeIdentifier": "t_uint256",
4187 "typeString": "uint256"
4188 }
4189 ],
4190 "expression": {
4191 "argumentTypes": null,
4192 "baseExpression": {
4193 "argumentTypes": null,
4194 "id": 11779,
4195 "name": "balances",
4196 "nodeType": "Identifier",
4197 "overloadedDeclarations": [],
4198 "referencedDeclaration": 11620,
4199 "src": "4085:8:38",
4200 "typeDescriptions": {
4201 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
4202 "typeString": "mapping(address => uint256)"
4203 }
4204 },
4205 "id": 11781,
4206 "indexExpression": {
4207 "argumentTypes": null,
4208 "id": 11780,
4209 "name": "_from",
4210 "nodeType": "Identifier",
4211 "overloadedDeclarations": [],
4212 "referencedDeclaration": 11750,
4213 "src": "4094:5:38",
4214 "typeDescriptions": {
4215 "typeIdentifier": "t_address",
4216 "typeString": "address"
4217 }
4218 },
4219 "isConstant": false,
4220 "isLValue": true,
4221 "isPure": false,
4222 "lValueRequested": false,
4223 "nodeType": "IndexAccess",
4224 "src": "4085:15:38",
4225 "typeDescriptions": {
4226 "typeIdentifier": "t_uint256",
4227 "typeString": "uint256"
4228 }
4229 },
4230 "id": 11782,
4231 "isConstant": false,
4232 "isLValue": false,
4233 "isPure": false,
4234 "lValueRequested": false,
4235 "memberName": "sub",
4236 "nodeType": "MemberAccess",
4237 "referencedDeclaration": 11519,
4238 "src": "4085:19:38",
4239 "typeDescriptions": {
4240 "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
4241 "typeString": "function (uint256,uint256) pure returns (uint256)"
4242 }
4243 },
4244 "id": 11784,
4245 "isConstant": false,
4246 "isLValue": false,
4247 "isPure": false,
4248 "kind": "functionCall",
4249 "lValueRequested": false,
4250 "names": [],
4251 "nodeType": "FunctionCall",
4252 "src": "4085:27:38",
4253 "typeDescriptions": {
4254 "typeIdentifier": "t_uint256",
4255 "typeString": "uint256"
4256 }
4257 },
4258 "src": "4067:45:38",
4259 "typeDescriptions": {
4260 "typeIdentifier": "t_uint256",
4261 "typeString": "uint256"
4262 }
4263 },
4264 "id": 11786,
4265 "nodeType": "ExpressionStatement",
4266 "src": "4067:45:38"
4267 },
4268 {
4269 "expression": {
4270 "argumentTypes": null,
4271 "id": 11796,
4272 "isConstant": false,
4273 "isLValue": false,
4274 "isPure": false,
4275 "lValueRequested": false,
4276 "leftHandSide": {
4277 "argumentTypes": null,
4278 "baseExpression": {
4279 "argumentTypes": null,
4280 "id": 11787,
4281 "name": "balances",
4282 "nodeType": "Identifier",
4283 "overloadedDeclarations": [],
4284 "referencedDeclaration": 11620,
4285 "src": "4122:8:38",
4286 "typeDescriptions": {
4287 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
4288 "typeString": "mapping(address => uint256)"
4289 }
4290 },
4291 "id": 11789,
4292 "indexExpression": {
4293 "argumentTypes": null,
4294 "id": 11788,
4295 "name": "_to",
4296 "nodeType": "Identifier",
4297 "overloadedDeclarations": [],
4298 "referencedDeclaration": 11752,
4299 "src": "4131:3:38",
4300 "typeDescriptions": {
4301 "typeIdentifier": "t_address",
4302 "typeString": "address"
4303 }
4304 },
4305 "isConstant": false,
4306 "isLValue": true,
4307 "isPure": false,
4308 "lValueRequested": true,
4309 "nodeType": "IndexAccess",
4310 "src": "4122:13:38",
4311 "typeDescriptions": {
4312 "typeIdentifier": "t_uint256",
4313 "typeString": "uint256"
4314 }
4315 },
4316 "nodeType": "Assignment",
4317 "operator": "=",
4318 "rightHandSide": {
4319 "argumentTypes": null,
4320 "arguments": [
4321 {
4322 "argumentTypes": null,
4323 "id": 11794,
4324 "name": "_value",
4325 "nodeType": "Identifier",
4326 "overloadedDeclarations": [],
4327 "referencedDeclaration": 11754,
4328 "src": "4156:6:38",
4329 "typeDescriptions": {
4330 "typeIdentifier": "t_uint256",
4331 "typeString": "uint256"
4332 }
4333 }
4334 ],
4335 "expression": {
4336 "argumentTypes": [
4337 {
4338 "typeIdentifier": "t_uint256",
4339 "typeString": "uint256"
4340 }
4341 ],
4342 "expression": {
4343 "argumentTypes": null,
4344 "baseExpression": {
4345 "argumentTypes": null,
4346 "id": 11790,
4347 "name": "balances",
4348 "nodeType": "Identifier",
4349 "overloadedDeclarations": [],
4350 "referencedDeclaration": 11620,
4351 "src": "4138:8:38",
4352 "typeDescriptions": {
4353 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
4354 "typeString": "mapping(address => uint256)"
4355 }
4356 },
4357 "id": 11792,
4358 "indexExpression": {
4359 "argumentTypes": null,
4360 "id": 11791,
4361 "name": "_to",
4362 "nodeType": "Identifier",
4363 "overloadedDeclarations": [],
4364 "referencedDeclaration": 11752,
4365 "src": "4147:3:38",
4366 "typeDescriptions": {
4367 "typeIdentifier": "t_address",
4368 "typeString": "address"
4369 }
4370 },
4371 "isConstant": false,
4372 "isLValue": true,
4373 "isPure": false,
4374 "lValueRequested": false,
4375 "nodeType": "IndexAccess",
4376 "src": "4138:13:38",
4377 "typeDescriptions": {
4378 "typeIdentifier": "t_uint256",
4379 "typeString": "uint256"
4380 }
4381 },
4382 "id": 11793,
4383 "isConstant": false,
4384 "isLValue": false,
4385 "isPure": false,
4386 "lValueRequested": false,
4387 "memberName": "add",
4388 "nodeType": "MemberAccess",
4389 "referencedDeclaration": 11543,
4390 "src": "4138:17:38",
4391 "typeDescriptions": {
4392 "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
4393 "typeString": "function (uint256,uint256) pure returns (uint256)"
4394 }
4395 },
4396 "id": 11795,
4397 "isConstant": false,
4398 "isLValue": false,
4399 "isPure": false,
4400 "kind": "functionCall",
4401 "lValueRequested": false,
4402 "names": [],
4403 "nodeType": "FunctionCall",
4404 "src": "4138:25:38",
4405 "typeDescriptions": {
4406 "typeIdentifier": "t_uint256",
4407 "typeString": "uint256"
4408 }
4409 },
4410 "src": "4122:41:38",
4411 "typeDescriptions": {
4412 "typeIdentifier": "t_uint256",
4413 "typeString": "uint256"
4414 }
4415 },
4416 "id": 11797,
4417 "nodeType": "ExpressionStatement",
4418 "src": "4122:41:38"
4419 },
4420 {
4421 "expression": {
4422 "argumentTypes": null,
4423 "id": 11808,
4424 "isConstant": false,
4425 "isLValue": false,
4426 "isPure": false,
4427 "lValueRequested": false,
4428 "leftHandSide": {
4429 "argumentTypes": null,
4430 "baseExpression": {
4431 "argumentTypes": null,
4432 "baseExpression": {
4433 "argumentTypes": null,
4434 "id": 11798,
4435 "name": "allowed",
4436 "nodeType": "Identifier",
4437 "overloadedDeclarations": [],
4438 "referencedDeclaration": 11748,
4439 "src": "4173:7:38",
4440 "typeDescriptions": {
4441 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
4442 "typeString": "mapping(address => mapping(address => uint256))"
4443 }
4444 },
4445 "id": 11802,
4446 "indexExpression": {
4447 "argumentTypes": null,
4448 "id": 11799,
4449 "name": "_from",
4450 "nodeType": "Identifier",
4451 "overloadedDeclarations": [],
4452 "referencedDeclaration": 11750,
4453 "src": "4181:5:38",
4454 "typeDescriptions": {
4455 "typeIdentifier": "t_address",
4456 "typeString": "address"
4457 }
4458 },
4459 "isConstant": false,
4460 "isLValue": true,
4461 "isPure": false,
4462 "lValueRequested": false,
4463 "nodeType": "IndexAccess",
4464 "src": "4173:14:38",
4465 "typeDescriptions": {
4466 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
4467 "typeString": "mapping(address => uint256)"
4468 }
4469 },
4470 "id": 11803,
4471 "indexExpression": {
4472 "argumentTypes": null,
4473 "expression": {
4474 "argumentTypes": null,
4475 "id": 11800,
4476 "name": "msg",
4477 "nodeType": "Identifier",
4478 "overloadedDeclarations": [],
4479 "referencedDeclaration": 12092,
4480 "src": "4188:3:38",
4481 "typeDescriptions": {
4482 "typeIdentifier": "t_magic_message",
4483 "typeString": "msg"
4484 }
4485 },
4486 "id": 11801,
4487 "isConstant": false,
4488 "isLValue": false,
4489 "isPure": false,
4490 "lValueRequested": false,
4491 "memberName": "sender",
4492 "nodeType": "MemberAccess",
4493 "referencedDeclaration": null,
4494 "src": "4188:10:38",
4495 "typeDescriptions": {
4496 "typeIdentifier": "t_address",
4497 "typeString": "address"
4498 }
4499 },
4500 "isConstant": false,
4501 "isLValue": true,
4502 "isPure": false,
4503 "lValueRequested": true,
4504 "nodeType": "IndexAccess",
4505 "src": "4173:26:38",
4506 "typeDescriptions": {
4507 "typeIdentifier": "t_uint256",
4508 "typeString": "uint256"
4509 }
4510 },
4511 "nodeType": "Assignment",
4512 "operator": "=",
4513 "rightHandSide": {
4514 "argumentTypes": null,
4515 "arguments": [
4516 {
4517 "argumentTypes": null,
4518 "id": 11806,
4519 "name": "_value",
4520 "nodeType": "Identifier",
4521 "overloadedDeclarations": [],
4522 "referencedDeclaration": 11754,
4523 "src": "4217:6:38",
4524 "typeDescriptions": {
4525 "typeIdentifier": "t_uint256",
4526 "typeString": "uint256"
4527 }
4528 }
4529 ],
4530 "expression": {
4531 "argumentTypes": [
4532 {
4533 "typeIdentifier": "t_uint256",
4534 "typeString": "uint256"
4535 }
4536 ],
4537 "expression": {
4538 "argumentTypes": null,
4539 "id": 11804,
4540 "name": "_allowance",
4541 "nodeType": "Identifier",
4542 "overloadedDeclarations": [],
4543 "referencedDeclaration": 11768,
4544 "src": "4202:10:38",
4545 "typeDescriptions": {
4546 "typeIdentifier": "t_uint256",
4547 "typeString": "uint256"
4548 }
4549 },
4550 "id": 11805,
4551 "isConstant": false,
4552 "isLValue": false,
4553 "isPure": false,
4554 "lValueRequested": false,
4555 "memberName": "sub",
4556 "nodeType": "MemberAccess",
4557 "referencedDeclaration": 11519,
4558 "src": "4202:14:38",
4559 "typeDescriptions": {
4560 "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
4561 "typeString": "function (uint256,uint256) pure returns (uint256)"
4562 }
4563 },
4564 "id": 11807,
4565 "isConstant": false,
4566 "isLValue": false,
4567 "isPure": false,
4568 "kind": "functionCall",
4569 "lValueRequested": false,
4570 "names": [],
4571 "nodeType": "FunctionCall",
4572 "src": "4202:22:38",
4573 "typeDescriptions": {
4574 "typeIdentifier": "t_uint256",
4575 "typeString": "uint256"
4576 }
4577 },
4578 "src": "4173:51:38",
4579 "typeDescriptions": {
4580 "typeIdentifier": "t_uint256",
4581 "typeString": "uint256"
4582 }
4583 },
4584 "id": 11809,
4585 "nodeType": "ExpressionStatement",
4586 "src": "4173:51:38"
4587 },
4588 {
4589 "eventCall": {
4590 "argumentTypes": null,
4591 "arguments": [
4592 {
4593 "argumentTypes": null,
4594 "id": 11811,
4595 "name": "_from",
4596 "nodeType": "Identifier",
4597 "overloadedDeclarations": [],
4598 "referencedDeclaration": 11750,
4599 "src": "4248:5:38",
4600 "typeDescriptions": {
4601 "typeIdentifier": "t_address",
4602 "typeString": "address"
4603 }
4604 },
4605 {
4606 "argumentTypes": null,
4607 "id": 11812,
4608 "name": "_to",
4609 "nodeType": "Identifier",
4610 "overloadedDeclarations": [],
4611 "referencedDeclaration": 11752,
4612 "src": "4255:3:38",
4613 "typeDescriptions": {
4614 "typeIdentifier": "t_address",
4615 "typeString": "address"
4616 }
4617 },
4618 {
4619 "argumentTypes": null,
4620 "id": 11813,
4621 "name": "_value",
4622 "nodeType": "Identifier",
4623 "overloadedDeclarations": [],
4624 "referencedDeclaration": 11754,
4625 "src": "4260:6:38",
4626 "typeDescriptions": {
4627 "typeIdentifier": "t_uint256",
4628 "typeString": "uint256"
4629 }
4630 }
4631 ],
4632 "expression": {
4633 "argumentTypes": [
4634 {
4635 "typeIdentifier": "t_address",
4636 "typeString": "address"
4637 },
4638 {
4639 "typeIdentifier": "t_address",
4640 "typeString": "address"
4641 },
4642 {
4643 "typeIdentifier": "t_uint256",
4644 "typeString": "uint256"
4645 }
4646 ],
4647 "id": 11810,
4648 "name": "Transfer",
4649 "nodeType": "Identifier",
4650 "overloadedDeclarations": [],
4651 "referencedDeclaration": 11570,
4652 "src": "4239:8:38",
4653 "typeDescriptions": {
4654 "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
4655 "typeString": "function (address,address,uint256)"
4656 }
4657 },
4658 "id": 11814,
4659 "isConstant": false,
4660 "isLValue": false,
4661 "isPure": false,
4662 "kind": "functionCall",
4663 "lValueRequested": false,
4664 "names": [],
4665 "nodeType": "FunctionCall",
4666 "src": "4239:28:38",
4667 "typeDescriptions": {
4668 "typeIdentifier": "t_tuple$__$",
4669 "typeString": "tuple()"
4670 }
4671 },
4672 "id": 11815,
4673 "nodeType": "EmitStatement",
4674 "src": "4234:33:38"
4675 },
4676 {
4677 "expression": {
4678 "argumentTypes": null,
4679 "hexValue": "74727565",
4680 "id": 11816,
4681 "isConstant": false,
4682 "isLValue": false,
4683 "isPure": true,
4684 "kind": "bool",
4685 "lValueRequested": false,
4686 "nodeType": "Literal",
4687 "src": "4284:4:38",
4688 "subdenomination": null,
4689 "typeDescriptions": {
4690 "typeIdentifier": "t_bool",
4691 "typeString": "bool"
4692 },
4693 "value": "true"
4694 },
4695 "functionReturnParameters": 11758,
4696 "id": 11817,
4697 "nodeType": "Return",
4698 "src": "4277:11:38"
4699 }
4700 ]
4701 },
4702 "documentation": "@dev Transfer tokens from one address to another\n@param _from address The address which you want to send tokens from\n@param _to address The address which you want to transfer to\n@param _value uint256 the amount of tokens to be transferred",
4703 "id": 11819,
4704 "implemented": true,
4705 "isConstructor": false,
4706 "isDeclaredConst": false,
4707 "modifiers": [],
4708 "name": "transferFrom",
4709 "nodeType": "FunctionDefinition",
4710 "parameters": {
4711 "id": 11755,
4712 "nodeType": "ParameterList",
4713 "parameters": [
4714 {
4715 "constant": false,
4716 "id": 11750,
4717 "name": "_from",
4718 "nodeType": "VariableDeclaration",
4719 "scope": 11819,
4720 "src": "3744:13:38",
4721 "stateVariable": false,
4722 "storageLocation": "default",
4723 "typeDescriptions": {
4724 "typeIdentifier": "t_address",
4725 "typeString": "address"
4726 },
4727 "typeName": {
4728 "id": 11749,
4729 "name": "address",
4730 "nodeType": "ElementaryTypeName",
4731 "src": "3744:7:38",
4732 "typeDescriptions": {
4733 "typeIdentifier": "t_address",
4734 "typeString": "address"
4735 }
4736 },
4737 "value": null,
4738 "visibility": "internal"
4739 },
4740 {
4741 "constant": false,
4742 "id": 11752,
4743 "name": "_to",
4744 "nodeType": "VariableDeclaration",
4745 "scope": 11819,
4746 "src": "3759:11:38",
4747 "stateVariable": false,
4748 "storageLocation": "default",
4749 "typeDescriptions": {
4750 "typeIdentifier": "t_address",
4751 "typeString": "address"
4752 },
4753 "typeName": {
4754 "id": 11751,
4755 "name": "address",
4756 "nodeType": "ElementaryTypeName",
4757 "src": "3759:7:38",
4758 "typeDescriptions": {
4759 "typeIdentifier": "t_address",
4760 "typeString": "address"
4761 }
4762 },
4763 "value": null,
4764 "visibility": "internal"
4765 },
4766 {
4767 "constant": false,
4768 "id": 11754,
4769 "name": "_value",
4770 "nodeType": "VariableDeclaration",
4771 "scope": 11819,
4772 "src": "3772:14:38",
4773 "stateVariable": false,
4774 "storageLocation": "default",
4775 "typeDescriptions": {
4776 "typeIdentifier": "t_uint256",
4777 "typeString": "uint256"
4778 },
4779 "typeName": {
4780 "id": 11753,
4781 "name": "uint256",
4782 "nodeType": "ElementaryTypeName",
4783 "src": "3772:7:38",
4784 "typeDescriptions": {
4785 "typeIdentifier": "t_uint256",
4786 "typeString": "uint256"
4787 }
4788 },
4789 "value": null,
4790 "visibility": "internal"
4791 }
4792 ],
4793 "src": "3743:44:38"
4794 },
4795 "payable": false,
4796 "returnParameters": {
4797 "id": 11758,
4798 "nodeType": "ParameterList",
4799 "parameters": [
4800 {
4801 "constant": false,
4802 "id": 11757,
4803 "name": "",
4804 "nodeType": "VariableDeclaration",
4805 "scope": 11819,
4806 "src": "3804:4:38",
4807 "stateVariable": false,
4808 "storageLocation": "default",
4809 "typeDescriptions": {
4810 "typeIdentifier": "t_bool",
4811 "typeString": "bool"
4812 },
4813 "typeName": {
4814 "id": 11756,
4815 "name": "bool",
4816 "nodeType": "ElementaryTypeName",
4817 "src": "3804:4:38",
4818 "typeDescriptions": {
4819 "typeIdentifier": "t_bool",
4820 "typeString": "bool"
4821 }
4822 },
4823 "value": null,
4824 "visibility": "internal"
4825 }
4826 ],
4827 "src": "3803:6:38"
4828 },
4829 "scope": 11965,
4830 "src": "3722:573:38",
4831 "stateMutability": "nonpayable",
4832 "superFunction": 11593,
4833 "visibility": "public"
4834 },
4835 {
4836 "body": {
4837 "id": 11846,
4838 "nodeType": "Block",
4839 "src": "5012:129:38",
4840 "statements": [
4841 {
4842 "expression": {
4843 "argumentTypes": null,
4844 "id": 11835,
4845 "isConstant": false,
4846 "isLValue": false,
4847 "isPure": false,
4848 "lValueRequested": false,
4849 "leftHandSide": {
4850 "argumentTypes": null,
4851 "baseExpression": {
4852 "argumentTypes": null,
4853 "baseExpression": {
4854 "argumentTypes": null,
4855 "id": 11828,
4856 "name": "allowed",
4857 "nodeType": "Identifier",
4858 "overloadedDeclarations": [],
4859 "referencedDeclaration": 11748,
4860 "src": "5022:7:38",
4861 "typeDescriptions": {
4862 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
4863 "typeString": "mapping(address => mapping(address => uint256))"
4864 }
4865 },
4866 "id": 11832,
4867 "indexExpression": {
4868 "argumentTypes": null,
4869 "expression": {
4870 "argumentTypes": null,
4871 "id": 11829,
4872 "name": "msg",
4873 "nodeType": "Identifier",
4874 "overloadedDeclarations": [],
4875 "referencedDeclaration": 12092,
4876 "src": "5030:3:38",
4877 "typeDescriptions": {
4878 "typeIdentifier": "t_magic_message",
4879 "typeString": "msg"
4880 }
4881 },
4882 "id": 11830,
4883 "isConstant": false,
4884 "isLValue": false,
4885 "isPure": false,
4886 "lValueRequested": false,
4887 "memberName": "sender",
4888 "nodeType": "MemberAccess",
4889 "referencedDeclaration": null,
4890 "src": "5030:10:38",
4891 "typeDescriptions": {
4892 "typeIdentifier": "t_address",
4893 "typeString": "address"
4894 }
4895 },
4896 "isConstant": false,
4897 "isLValue": true,
4898 "isPure": false,
4899 "lValueRequested": false,
4900 "nodeType": "IndexAccess",
4901 "src": "5022:19:38",
4902 "typeDescriptions": {
4903 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
4904 "typeString": "mapping(address => uint256)"
4905 }
4906 },
4907 "id": 11833,
4908 "indexExpression": {
4909 "argumentTypes": null,
4910 "id": 11831,
4911 "name": "_spender",
4912 "nodeType": "Identifier",
4913 "overloadedDeclarations": [],
4914 "referencedDeclaration": 11821,
4915 "src": "5042:8:38",
4916 "typeDescriptions": {
4917 "typeIdentifier": "t_address",
4918 "typeString": "address"
4919 }
4920 },
4921 "isConstant": false,
4922 "isLValue": true,
4923 "isPure": false,
4924 "lValueRequested": true,
4925 "nodeType": "IndexAccess",
4926 "src": "5022:29:38",
4927 "typeDescriptions": {
4928 "typeIdentifier": "t_uint256",
4929 "typeString": "uint256"
4930 }
4931 },
4932 "nodeType": "Assignment",
4933 "operator": "=",
4934 "rightHandSide": {
4935 "argumentTypes": null,
4936 "id": 11834,
4937 "name": "_value",
4938 "nodeType": "Identifier",
4939 "overloadedDeclarations": [],
4940 "referencedDeclaration": 11823,
4941 "src": "5054:6:38",
4942 "typeDescriptions": {
4943 "typeIdentifier": "t_uint256",
4944 "typeString": "uint256"
4945 }
4946 },
4947 "src": "5022:38:38",
4948 "typeDescriptions": {
4949 "typeIdentifier": "t_uint256",
4950 "typeString": "uint256"
4951 }
4952 },
4953 "id": 11836,
4954 "nodeType": "ExpressionStatement",
4955 "src": "5022:38:38"
4956 },
4957 {
4958 "eventCall": {
4959 "argumentTypes": null,
4960 "arguments": [
4961 {
4962 "argumentTypes": null,
4963 "expression": {
4964 "argumentTypes": null,
4965 "id": 11838,
4966 "name": "msg",
4967 "nodeType": "Identifier",
4968 "overloadedDeclarations": [],
4969 "referencedDeclaration": 12092,
4970 "src": "5084:3:38",
4971 "typeDescriptions": {
4972 "typeIdentifier": "t_magic_message",
4973 "typeString": "msg"
4974 }
4975 },
4976 "id": 11839,
4977 "isConstant": false,
4978 "isLValue": false,
4979 "isPure": false,
4980 "lValueRequested": false,
4981 "memberName": "sender",
4982 "nodeType": "MemberAccess",
4983 "referencedDeclaration": null,
4984 "src": "5084:10:38",
4985 "typeDescriptions": {
4986 "typeIdentifier": "t_address",
4987 "typeString": "address"
4988 }
4989 },
4990 {
4991 "argumentTypes": null,
4992 "id": 11840,
4993 "name": "_spender",
4994 "nodeType": "Identifier",
4995 "overloadedDeclarations": [],
4996 "referencedDeclaration": 11821,
4997 "src": "5096:8:38",
4998 "typeDescriptions": {
4999 "typeIdentifier": "t_address",
5000 "typeString": "address"
5001 }
5002 },
5003 {
5004 "argumentTypes": null,
5005 "id": 11841,
5006 "name": "_value",
5007 "nodeType": "Identifier",
5008 "overloadedDeclarations": [],
5009 "referencedDeclaration": 11823,
5010 "src": "5106:6:38",
5011 "typeDescriptions": {
5012 "typeIdentifier": "t_uint256",
5013 "typeString": "uint256"
5014 }
5015 }
5016 ],
5017 "expression": {
5018 "argumentTypes": [
5019 {
5020 "typeIdentifier": "t_address",
5021 "typeString": "address"
5022 },
5023 {
5024 "typeIdentifier": "t_address",
5025 "typeString": "address"
5026 },
5027 {
5028 "typeIdentifier": "t_uint256",
5029 "typeString": "uint256"
5030 }
5031 ],
5032 "id": 11837,
5033 "name": "Approval",
5034 "nodeType": "Identifier",
5035 "overloadedDeclarations": [],
5036 "referencedDeclaration": 11610,
5037 "src": "5075:8:38",
5038 "typeDescriptions": {
5039 "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
5040 "typeString": "function (address,address,uint256)"
5041 }
5042 },
5043 "id": 11842,
5044 "isConstant": false,
5045 "isLValue": false,
5046 "isPure": false,
5047 "kind": "functionCall",
5048 "lValueRequested": false,
5049 "names": [],
5050 "nodeType": "FunctionCall",
5051 "src": "5075:38:38",
5052 "typeDescriptions": {
5053 "typeIdentifier": "t_tuple$__$",
5054 "typeString": "tuple()"
5055 }
5056 },
5057 "id": 11843,
5058 "nodeType": "EmitStatement",
5059 "src": "5070:43:38"
5060 },
5061 {
5062 "expression": {
5063 "argumentTypes": null,
5064 "hexValue": "74727565",
5065 "id": 11844,
5066 "isConstant": false,
5067 "isLValue": false,
5068 "isPure": true,
5069 "kind": "bool",
5070 "lValueRequested": false,
5071 "nodeType": "Literal",
5072 "src": "5130:4:38",
5073 "subdenomination": null,
5074 "typeDescriptions": {
5075 "typeIdentifier": "t_bool",
5076 "typeString": "bool"
5077 },
5078 "value": "true"
5079 },
5080 "functionReturnParameters": 11827,
5081 "id": 11845,
5082 "nodeType": "Return",
5083 "src": "5123:11:38"
5084 }
5085 ]
5086 },
5087 "documentation": "@dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\n * Beware that changing an allowance with this method brings the risk that someone may use both the old\nand the new allowance by unfortunate transaction ordering. One possible solution to mitigate this\nrace condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n@param _spender The address which will spend the funds.\n@param _value The amount of tokens to be spent.",
5088 "id": 11847,
5089 "implemented": true,
5090 "isConstructor": false,
5091 "isDeclaredConst": false,
5092 "modifiers": [],
5093 "name": "approve",
5094 "nodeType": "FunctionDefinition",
5095 "parameters": {
5096 "id": 11824,
5097 "nodeType": "ParameterList",
5098 "parameters": [
5099 {
5100 "constant": false,
5101 "id": 11821,
5102 "name": "_spender",
5103 "nodeType": "VariableDeclaration",
5104 "scope": 11847,
5105 "src": "4956:16:38",
5106 "stateVariable": false,
5107 "storageLocation": "default",
5108 "typeDescriptions": {
5109 "typeIdentifier": "t_address",
5110 "typeString": "address"
5111 },
5112 "typeName": {
5113 "id": 11820,
5114 "name": "address",
5115 "nodeType": "ElementaryTypeName",
5116 "src": "4956:7:38",
5117 "typeDescriptions": {
5118 "typeIdentifier": "t_address",
5119 "typeString": "address"
5120 }
5121 },
5122 "value": null,
5123 "visibility": "internal"
5124 },
5125 {
5126 "constant": false,
5127 "id": 11823,
5128 "name": "_value",
5129 "nodeType": "VariableDeclaration",
5130 "scope": 11847,
5131 "src": "4974:14:38",
5132 "stateVariable": false,
5133 "storageLocation": "default",
5134 "typeDescriptions": {
5135 "typeIdentifier": "t_uint256",
5136 "typeString": "uint256"
5137 },
5138 "typeName": {
5139 "id": 11822,
5140 "name": "uint256",
5141 "nodeType": "ElementaryTypeName",
5142 "src": "4974:7:38",
5143 "typeDescriptions": {
5144 "typeIdentifier": "t_uint256",
5145 "typeString": "uint256"
5146 }
5147 },
5148 "value": null,
5149 "visibility": "internal"
5150 }
5151 ],
5152 "src": "4955:34:38"
5153 },
5154 "payable": false,
5155 "returnParameters": {
5156 "id": 11827,
5157 "nodeType": "ParameterList",
5158 "parameters": [
5159 {
5160 "constant": false,
5161 "id": 11826,
5162 "name": "",
5163 "nodeType": "VariableDeclaration",
5164 "scope": 11847,
5165 "src": "5006:4:38",
5166 "stateVariable": false,
5167 "storageLocation": "default",
5168 "typeDescriptions": {
5169 "typeIdentifier": "t_bool",
5170 "typeString": "bool"
5171 },
5172 "typeName": {
5173 "id": 11825,
5174 "name": "bool",
5175 "nodeType": "ElementaryTypeName",
5176 "src": "5006:4:38",
5177 "typeDescriptions": {
5178 "typeIdentifier": "t_bool",
5179 "typeString": "bool"
5180 }
5181 },
5182 "value": null,
5183 "visibility": "internal"
5184 }
5185 ],
5186 "src": "5005:6:38"
5187 },
5188 "scope": 11965,
5189 "src": "4939:202:38",
5190 "stateMutability": "nonpayable",
5191 "superFunction": 11602,
5192 "visibility": "public"
5193 },
5194 {
5195 "body": {
5196 "id": 11862,
5197 "nodeType": "Block",
5198 "src": "5570:49:38",
5199 "statements": [
5200 {
5201 "expression": {
5202 "argumentTypes": null,
5203 "baseExpression": {
5204 "argumentTypes": null,
5205 "baseExpression": {
5206 "argumentTypes": null,
5207 "id": 11856,
5208 "name": "allowed",
5209 "nodeType": "Identifier",
5210 "overloadedDeclarations": [],
5211 "referencedDeclaration": 11748,
5212 "src": "5587:7:38",
5213 "typeDescriptions": {
5214 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
5215 "typeString": "mapping(address => mapping(address => uint256))"
5216 }
5217 },
5218 "id": 11858,
5219 "indexExpression": {
5220 "argumentTypes": null,
5221 "id": 11857,
5222 "name": "_owner",
5223 "nodeType": "Identifier",
5224 "overloadedDeclarations": [],
5225 "referencedDeclaration": 11849,
5226 "src": "5595:6:38",
5227 "typeDescriptions": {
5228 "typeIdentifier": "t_address",
5229 "typeString": "address"
5230 }
5231 },
5232 "isConstant": false,
5233 "isLValue": true,
5234 "isPure": false,
5235 "lValueRequested": false,
5236 "nodeType": "IndexAccess",
5237 "src": "5587:15:38",
5238 "typeDescriptions": {
5239 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
5240 "typeString": "mapping(address => uint256)"
5241 }
5242 },
5243 "id": 11860,
5244 "indexExpression": {
5245 "argumentTypes": null,
5246 "id": 11859,
5247 "name": "_spender",
5248 "nodeType": "Identifier",
5249 "overloadedDeclarations": [],
5250 "referencedDeclaration": 11851,
5251 "src": "5603:8:38",
5252 "typeDescriptions": {
5253 "typeIdentifier": "t_address",
5254 "typeString": "address"
5255 }
5256 },
5257 "isConstant": false,
5258 "isLValue": true,
5259 "isPure": false,
5260 "lValueRequested": false,
5261 "nodeType": "IndexAccess",
5262 "src": "5587:25:38",
5263 "typeDescriptions": {
5264 "typeIdentifier": "t_uint256",
5265 "typeString": "uint256"
5266 }
5267 },
5268 "functionReturnParameters": 11855,
5269 "id": 11861,
5270 "nodeType": "Return",
5271 "src": "5580:32:38"
5272 }
5273 ]
5274 },
5275 "documentation": "@dev Function to check the amount of tokens that an owner allowed to a spender.\n@param _owner address The address which owns the funds.\n@param _spender address The address which will spend the funds.\n@return A uint256 specifying the amount of tokens still available for the spender.",
5276 "id": 11863,
5277 "implemented": true,
5278 "isConstructor": false,
5279 "isDeclaredConst": true,
5280 "modifiers": [],
5281 "name": "allowance",
5282 "nodeType": "FunctionDefinition",
5283 "parameters": {
5284 "id": 11852,
5285 "nodeType": "ParameterList",
5286 "parameters": [
5287 {
5288 "constant": false,
5289 "id": 11849,
5290 "name": "_owner",
5291 "nodeType": "VariableDeclaration",
5292 "scope": 11863,
5293 "src": "5492:14:38",
5294 "stateVariable": false,
5295 "storageLocation": "default",
5296 "typeDescriptions": {
5297 "typeIdentifier": "t_address",
5298 "typeString": "address"
5299 },
5300 "typeName": {
5301 "id": 11848,
5302 "name": "address",
5303 "nodeType": "ElementaryTypeName",
5304 "src": "5492:7:38",
5305 "typeDescriptions": {
5306 "typeIdentifier": "t_address",
5307 "typeString": "address"
5308 }
5309 },
5310 "value": null,
5311 "visibility": "internal"
5312 },
5313 {
5314 "constant": false,
5315 "id": 11851,
5316 "name": "_spender",
5317 "nodeType": "VariableDeclaration",
5318 "scope": 11863,
5319 "src": "5508:16:38",
5320 "stateVariable": false,
5321 "storageLocation": "default",
5322 "typeDescriptions": {
5323 "typeIdentifier": "t_address",
5324 "typeString": "address"
5325 },
5326 "typeName": {
5327 "id": 11850,
5328 "name": "address",
5329 "nodeType": "ElementaryTypeName",
5330 "src": "5508:7:38",
5331 "typeDescriptions": {
5332 "typeIdentifier": "t_address",
5333 "typeString": "address"
5334 }
5335 },
5336 "value": null,
5337 "visibility": "internal"
5338 }
5339 ],
5340 "src": "5491:34:38"
5341 },
5342 "payable": false,
5343 "returnParameters": {
5344 "id": 11855,
5345 "nodeType": "ParameterList",
5346 "parameters": [
5347 {
5348 "constant": false,
5349 "id": 11854,
5350 "name": "remaining",
5351 "nodeType": "VariableDeclaration",
5352 "scope": 11863,
5353 "src": "5551:17:38",
5354 "stateVariable": false,
5355 "storageLocation": "default",
5356 "typeDescriptions": {
5357 "typeIdentifier": "t_uint256",
5358 "typeString": "uint256"
5359 },
5360 "typeName": {
5361 "id": 11853,
5362 "name": "uint256",
5363 "nodeType": "ElementaryTypeName",
5364 "src": "5551:7:38",
5365 "typeDescriptions": {
5366 "typeIdentifier": "t_uint256",
5367 "typeString": "uint256"
5368 }
5369 },
5370 "value": null,
5371 "visibility": "internal"
5372 }
5373 ],
5374 "src": "5550:19:38"
5375 },
5376 "scope": 11965,
5377 "src": "5473:146:38",
5378 "stateMutability": "view",
5379 "superFunction": 11582,
5380 "visibility": "public"
5381 },
5382 {
5383 "body": {
5384 "id": 11903,
5385 "nodeType": "Block",
5386 "src": "5973:192:38",
5387 "statements": [
5388 {
5389 "expression": {
5390 "argumentTypes": null,
5391 "id": 11887,
5392 "isConstant": false,
5393 "isLValue": false,
5394 "isPure": false,
5395 "lValueRequested": false,
5396 "leftHandSide": {
5397 "argumentTypes": null,
5398 "baseExpression": {
5399 "argumentTypes": null,
5400 "baseExpression": {
5401 "argumentTypes": null,
5402 "id": 11872,
5403 "name": "allowed",
5404 "nodeType": "Identifier",
5405 "overloadedDeclarations": [],
5406 "referencedDeclaration": 11748,
5407 "src": "5983:7:38",
5408 "typeDescriptions": {
5409 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
5410 "typeString": "mapping(address => mapping(address => uint256))"
5411 }
5412 },
5413 "id": 11876,
5414 "indexExpression": {
5415 "argumentTypes": null,
5416 "expression": {
5417 "argumentTypes": null,
5418 "id": 11873,
5419 "name": "msg",
5420 "nodeType": "Identifier",
5421 "overloadedDeclarations": [],
5422 "referencedDeclaration": 12092,
5423 "src": "5991:3:38",
5424 "typeDescriptions": {
5425 "typeIdentifier": "t_magic_message",
5426 "typeString": "msg"
5427 }
5428 },
5429 "id": 11874,
5430 "isConstant": false,
5431 "isLValue": false,
5432 "isPure": false,
5433 "lValueRequested": false,
5434 "memberName": "sender",
5435 "nodeType": "MemberAccess",
5436 "referencedDeclaration": null,
5437 "src": "5991:10:38",
5438 "typeDescriptions": {
5439 "typeIdentifier": "t_address",
5440 "typeString": "address"
5441 }
5442 },
5443 "isConstant": false,
5444 "isLValue": true,
5445 "isPure": false,
5446 "lValueRequested": false,
5447 "nodeType": "IndexAccess",
5448 "src": "5983:19:38",
5449 "typeDescriptions": {
5450 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
5451 "typeString": "mapping(address => uint256)"
5452 }
5453 },
5454 "id": 11877,
5455 "indexExpression": {
5456 "argumentTypes": null,
5457 "id": 11875,
5458 "name": "_spender",
5459 "nodeType": "Identifier",
5460 "overloadedDeclarations": [],
5461 "referencedDeclaration": 11865,
5462 "src": "6003:8:38",
5463 "typeDescriptions": {
5464 "typeIdentifier": "t_address",
5465 "typeString": "address"
5466 }
5467 },
5468 "isConstant": false,
5469 "isLValue": true,
5470 "isPure": false,
5471 "lValueRequested": true,
5472 "nodeType": "IndexAccess",
5473 "src": "5983:29:38",
5474 "typeDescriptions": {
5475 "typeIdentifier": "t_uint256",
5476 "typeString": "uint256"
5477 }
5478 },
5479 "nodeType": "Assignment",
5480 "operator": "=",
5481 "rightHandSide": {
5482 "argumentTypes": null,
5483 "arguments": [
5484 {
5485 "argumentTypes": null,
5486 "id": 11885,
5487 "name": "_addedValue",
5488 "nodeType": "Identifier",
5489 "overloadedDeclarations": [],
5490 "referencedDeclaration": 11867,
5491 "src": "6049:11:38",
5492 "typeDescriptions": {
5493 "typeIdentifier": "t_uint256",
5494 "typeString": "uint256"
5495 }
5496 }
5497 ],
5498 "expression": {
5499 "argumentTypes": [
5500 {
5501 "typeIdentifier": "t_uint256",
5502 "typeString": "uint256"
5503 }
5504 ],
5505 "expression": {
5506 "argumentTypes": null,
5507 "baseExpression": {
5508 "argumentTypes": null,
5509 "baseExpression": {
5510 "argumentTypes": null,
5511 "id": 11878,
5512 "name": "allowed",
5513 "nodeType": "Identifier",
5514 "overloadedDeclarations": [],
5515 "referencedDeclaration": 11748,
5516 "src": "6015:7:38",
5517 "typeDescriptions": {
5518 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
5519 "typeString": "mapping(address => mapping(address => uint256))"
5520 }
5521 },
5522 "id": 11881,
5523 "indexExpression": {
5524 "argumentTypes": null,
5525 "expression": {
5526 "argumentTypes": null,
5527 "id": 11879,
5528 "name": "msg",
5529 "nodeType": "Identifier",
5530 "overloadedDeclarations": [],
5531 "referencedDeclaration": 12092,
5532 "src": "6023:3:38",
5533 "typeDescriptions": {
5534 "typeIdentifier": "t_magic_message",
5535 "typeString": "msg"
5536 }
5537 },
5538 "id": 11880,
5539 "isConstant": false,
5540 "isLValue": false,
5541 "isPure": false,
5542 "lValueRequested": false,
5543 "memberName": "sender",
5544 "nodeType": "MemberAccess",
5545 "referencedDeclaration": null,
5546 "src": "6023:10:38",
5547 "typeDescriptions": {
5548 "typeIdentifier": "t_address",
5549 "typeString": "address"
5550 }
5551 },
5552 "isConstant": false,
5553 "isLValue": true,
5554 "isPure": false,
5555 "lValueRequested": false,
5556 "nodeType": "IndexAccess",
5557 "src": "6015:19:38",
5558 "typeDescriptions": {
5559 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
5560 "typeString": "mapping(address => uint256)"
5561 }
5562 },
5563 "id": 11883,
5564 "indexExpression": {
5565 "argumentTypes": null,
5566 "id": 11882,
5567 "name": "_spender",
5568 "nodeType": "Identifier",
5569 "overloadedDeclarations": [],
5570 "referencedDeclaration": 11865,
5571 "src": "6035:8:38",
5572 "typeDescriptions": {
5573 "typeIdentifier": "t_address",
5574 "typeString": "address"
5575 }
5576 },
5577 "isConstant": false,
5578 "isLValue": true,
5579 "isPure": false,
5580 "lValueRequested": false,
5581 "nodeType": "IndexAccess",
5582 "src": "6015:29:38",
5583 "typeDescriptions": {
5584 "typeIdentifier": "t_uint256",
5585 "typeString": "uint256"
5586 }
5587 },
5588 "id": 11884,
5589 "isConstant": false,
5590 "isLValue": false,
5591 "isPure": false,
5592 "lValueRequested": false,
5593 "memberName": "add",
5594 "nodeType": "MemberAccess",
5595 "referencedDeclaration": 11543,
5596 "src": "6015:33:38",
5597 "typeDescriptions": {
5598 "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
5599 "typeString": "function (uint256,uint256) pure returns (uint256)"
5600 }
5601 },
5602 "id": 11886,
5603 "isConstant": false,
5604 "isLValue": false,
5605 "isPure": false,
5606 "kind": "functionCall",
5607 "lValueRequested": false,
5608 "names": [],
5609 "nodeType": "FunctionCall",
5610 "src": "6015:46:38",
5611 "typeDescriptions": {
5612 "typeIdentifier": "t_uint256",
5613 "typeString": "uint256"
5614 }
5615 },
5616 "src": "5983:78:38",
5617 "typeDescriptions": {
5618 "typeIdentifier": "t_uint256",
5619 "typeString": "uint256"
5620 }
5621 },
5622 "id": 11888,
5623 "nodeType": "ExpressionStatement",
5624 "src": "5983:78:38"
5625 },
5626 {
5627 "eventCall": {
5628 "argumentTypes": null,
5629 "arguments": [
5630 {
5631 "argumentTypes": null,
5632 "expression": {
5633 "argumentTypes": null,
5634 "id": 11890,
5635 "name": "msg",
5636 "nodeType": "Identifier",
5637 "overloadedDeclarations": [],
5638 "referencedDeclaration": 12092,
5639 "src": "6085:3:38",
5640 "typeDescriptions": {
5641 "typeIdentifier": "t_magic_message",
5642 "typeString": "msg"
5643 }
5644 },
5645 "id": 11891,
5646 "isConstant": false,
5647 "isLValue": false,
5648 "isPure": false,
5649 "lValueRequested": false,
5650 "memberName": "sender",
5651 "nodeType": "MemberAccess",
5652 "referencedDeclaration": null,
5653 "src": "6085:10:38",
5654 "typeDescriptions": {
5655 "typeIdentifier": "t_address",
5656 "typeString": "address"
5657 }
5658 },
5659 {
5660 "argumentTypes": null,
5661 "id": 11892,
5662 "name": "_spender",
5663 "nodeType": "Identifier",
5664 "overloadedDeclarations": [],
5665 "referencedDeclaration": 11865,
5666 "src": "6097:8:38",
5667 "typeDescriptions": {
5668 "typeIdentifier": "t_address",
5669 "typeString": "address"
5670 }
5671 },
5672 {
5673 "argumentTypes": null,
5674 "baseExpression": {
5675 "argumentTypes": null,
5676 "baseExpression": {
5677 "argumentTypes": null,
5678 "id": 11893,
5679 "name": "allowed",
5680 "nodeType": "Identifier",
5681 "overloadedDeclarations": [],
5682 "referencedDeclaration": 11748,
5683 "src": "6107:7:38",
5684 "typeDescriptions": {
5685 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
5686 "typeString": "mapping(address => mapping(address => uint256))"
5687 }
5688 },
5689 "id": 11896,
5690 "indexExpression": {
5691 "argumentTypes": null,
5692 "expression": {
5693 "argumentTypes": null,
5694 "id": 11894,
5695 "name": "msg",
5696 "nodeType": "Identifier",
5697 "overloadedDeclarations": [],
5698 "referencedDeclaration": 12092,
5699 "src": "6115:3:38",
5700 "typeDescriptions": {
5701 "typeIdentifier": "t_magic_message",
5702 "typeString": "msg"
5703 }
5704 },
5705 "id": 11895,
5706 "isConstant": false,
5707 "isLValue": false,
5708 "isPure": false,
5709 "lValueRequested": false,
5710 "memberName": "sender",
5711 "nodeType": "MemberAccess",
5712 "referencedDeclaration": null,
5713 "src": "6115:10:38",
5714 "typeDescriptions": {
5715 "typeIdentifier": "t_address",
5716 "typeString": "address"
5717 }
5718 },
5719 "isConstant": false,
5720 "isLValue": true,
5721 "isPure": false,
5722 "lValueRequested": false,
5723 "nodeType": "IndexAccess",
5724 "src": "6107:19:38",
5725 "typeDescriptions": {
5726 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
5727 "typeString": "mapping(address => uint256)"
5728 }
5729 },
5730 "id": 11898,
5731 "indexExpression": {
5732 "argumentTypes": null,
5733 "id": 11897,
5734 "name": "_spender",
5735 "nodeType": "Identifier",
5736 "overloadedDeclarations": [],
5737 "referencedDeclaration": 11865,
5738 "src": "6127:8:38",
5739 "typeDescriptions": {
5740 "typeIdentifier": "t_address",
5741 "typeString": "address"
5742 }
5743 },
5744 "isConstant": false,
5745 "isLValue": true,
5746 "isPure": false,
5747 "lValueRequested": false,
5748 "nodeType": "IndexAccess",
5749 "src": "6107:29:38",
5750 "typeDescriptions": {
5751 "typeIdentifier": "t_uint256",
5752 "typeString": "uint256"
5753 }
5754 }
5755 ],
5756 "expression": {
5757 "argumentTypes": [
5758 {
5759 "typeIdentifier": "t_address",
5760 "typeString": "address"
5761 },
5762 {
5763 "typeIdentifier": "t_address",
5764 "typeString": "address"
5765 },
5766 {
5767 "typeIdentifier": "t_uint256",
5768 "typeString": "uint256"
5769 }
5770 ],
5771 "id": 11889,
5772 "name": "Approval",
5773 "nodeType": "Identifier",
5774 "overloadedDeclarations": [],
5775 "referencedDeclaration": 11610,
5776 "src": "6076:8:38",
5777 "typeDescriptions": {
5778 "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
5779 "typeString": "function (address,address,uint256)"
5780 }
5781 },
5782 "id": 11899,
5783 "isConstant": false,
5784 "isLValue": false,
5785 "isPure": false,
5786 "kind": "functionCall",
5787 "lValueRequested": false,
5788 "names": [],
5789 "nodeType": "FunctionCall",
5790 "src": "6076:61:38",
5791 "typeDescriptions": {
5792 "typeIdentifier": "t_tuple$__$",
5793 "typeString": "tuple()"
5794 }
5795 },
5796 "id": 11900,
5797 "nodeType": "EmitStatement",
5798 "src": "6071:66:38"
5799 },
5800 {
5801 "expression": {
5802 "argumentTypes": null,
5803 "hexValue": "74727565",
5804 "id": 11901,
5805 "isConstant": false,
5806 "isLValue": false,
5807 "isPure": true,
5808 "kind": "bool",
5809 "lValueRequested": false,
5810 "nodeType": "Literal",
5811 "src": "6154:4:38",
5812 "subdenomination": null,
5813 "typeDescriptions": {
5814 "typeIdentifier": "t_bool",
5815 "typeString": "bool"
5816 },
5817 "value": "true"
5818 },
5819 "functionReturnParameters": 11871,
5820 "id": 11902,
5821 "nodeType": "Return",
5822 "src": "6147:11:38"
5823 }
5824 ]
5825 },
5826 "documentation": "approve should be called when allowed[_spender] == 0. To increment\nallowed value is better to use this function to avoid 2 calls (and wait until\nthe first transaction is mined)\nFrom MonolithDAO Token.sol",
5827 "id": 11904,
5828 "implemented": true,
5829 "isConstructor": false,
5830 "isDeclaredConst": false,
5831 "modifiers": [],
5832 "name": "increaseApproval",
5833 "nodeType": "FunctionDefinition",
5834 "parameters": {
5835 "id": 11868,
5836 "nodeType": "ParameterList",
5837 "parameters": [
5838 {
5839 "constant": false,
5840 "id": 11865,
5841 "name": "_spender",
5842 "nodeType": "VariableDeclaration",
5843 "scope": 11904,
5844 "src": "5899:16:38",
5845 "stateVariable": false,
5846 "storageLocation": "default",
5847 "typeDescriptions": {
5848 "typeIdentifier": "t_address",
5849 "typeString": "address"
5850 },
5851 "typeName": {
5852 "id": 11864,
5853 "name": "address",
5854 "nodeType": "ElementaryTypeName",
5855 "src": "5899:7:38",
5856 "typeDescriptions": {
5857 "typeIdentifier": "t_address",
5858 "typeString": "address"
5859 }
5860 },
5861 "value": null,
5862 "visibility": "internal"
5863 },
5864 {
5865 "constant": false,
5866 "id": 11867,
5867 "name": "_addedValue",
5868 "nodeType": "VariableDeclaration",
5869 "scope": 11904,
5870 "src": "5917:16:38",
5871 "stateVariable": false,
5872 "storageLocation": "default",
5873 "typeDescriptions": {
5874 "typeIdentifier": "t_uint256",
5875 "typeString": "uint256"
5876 },
5877 "typeName": {
5878 "id": 11866,
5879 "name": "uint",
5880 "nodeType": "ElementaryTypeName",
5881 "src": "5917:4:38",
5882 "typeDescriptions": {
5883 "typeIdentifier": "t_uint256",
5884 "typeString": "uint256"
5885 }
5886 },
5887 "value": null,
5888 "visibility": "internal"
5889 }
5890 ],
5891 "src": "5898:36:38"
5892 },
5893 "payable": false,
5894 "returnParameters": {
5895 "id": 11871,
5896 "nodeType": "ParameterList",
5897 "parameters": [
5898 {
5899 "constant": false,
5900 "id": 11870,
5901 "name": "success",
5902 "nodeType": "VariableDeclaration",
5903 "scope": 11904,
5904 "src": "5959:12:38",
5905 "stateVariable": false,
5906 "storageLocation": "default",
5907 "typeDescriptions": {
5908 "typeIdentifier": "t_bool",
5909 "typeString": "bool"
5910 },
5911 "typeName": {
5912 "id": 11869,
5913 "name": "bool",
5914 "nodeType": "ElementaryTypeName",
5915 "src": "5959:4:38",
5916 "typeDescriptions": {
5917 "typeIdentifier": "t_bool",
5918 "typeString": "bool"
5919 }
5920 },
5921 "value": null,
5922 "visibility": "internal"
5923 }
5924 ],
5925 "src": "5958:14:38"
5926 },
5927 "scope": 11965,
5928 "src": "5872:293:38",
5929 "stateMutability": "nonpayable",
5930 "superFunction": null,
5931 "visibility": "public"
5932 },
5933 {
5934 "body": {
5935 "id": 11963,
5936 "nodeType": "Block",
5937 "src": "6276:352:38",
5938 "statements": [
5939 {
5940 "assignments": [
5941 11914
5942 ],
5943 "declarations": [
5944 {
5945 "constant": false,
5946 "id": 11914,
5947 "name": "oldValue",
5948 "nodeType": "VariableDeclaration",
5949 "scope": 11964,
5950 "src": "6286:13:38",
5951 "stateVariable": false,
5952 "storageLocation": "default",
5953 "typeDescriptions": {
5954 "typeIdentifier": "t_uint256",
5955 "typeString": "uint256"
5956 },
5957 "typeName": {
5958 "id": 11913,
5959 "name": "uint",
5960 "nodeType": "ElementaryTypeName",
5961 "src": "6286:4:38",
5962 "typeDescriptions": {
5963 "typeIdentifier": "t_uint256",
5964 "typeString": "uint256"
5965 }
5966 },
5967 "value": null,
5968 "visibility": "internal"
5969 }
5970 ],
5971 "id": 11921,
5972 "initialValue": {
5973 "argumentTypes": null,
5974 "baseExpression": {
5975 "argumentTypes": null,
5976 "baseExpression": {
5977 "argumentTypes": null,
5978 "id": 11915,
5979 "name": "allowed",
5980 "nodeType": "Identifier",
5981 "overloadedDeclarations": [],
5982 "referencedDeclaration": 11748,
5983 "src": "6302:7:38",
5984 "typeDescriptions": {
5985 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
5986 "typeString": "mapping(address => mapping(address => uint256))"
5987 }
5988 },
5989 "id": 11918,
5990 "indexExpression": {
5991 "argumentTypes": null,
5992 "expression": {
5993 "argumentTypes": null,
5994 "id": 11916,
5995 "name": "msg",
5996 "nodeType": "Identifier",
5997 "overloadedDeclarations": [],
5998 "referencedDeclaration": 12092,
5999 "src": "6310:3:38",
6000 "typeDescriptions": {
6001 "typeIdentifier": "t_magic_message",
6002 "typeString": "msg"
6003 }
6004 },
6005 "id": 11917,
6006 "isConstant": false,
6007 "isLValue": false,
6008 "isPure": false,
6009 "lValueRequested": false,
6010 "memberName": "sender",
6011 "nodeType": "MemberAccess",
6012 "referencedDeclaration": null,
6013 "src": "6310:10:38",
6014 "typeDescriptions": {
6015 "typeIdentifier": "t_address",
6016 "typeString": "address"
6017 }
6018 },
6019 "isConstant": false,
6020 "isLValue": true,
6021 "isPure": false,
6022 "lValueRequested": false,
6023 "nodeType": "IndexAccess",
6024 "src": "6302:19:38",
6025 "typeDescriptions": {
6026 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
6027 "typeString": "mapping(address => uint256)"
6028 }
6029 },
6030 "id": 11920,
6031 "indexExpression": {
6032 "argumentTypes": null,
6033 "id": 11919,
6034 "name": "_spender",
6035 "nodeType": "Identifier",
6036 "overloadedDeclarations": [],
6037 "referencedDeclaration": 11906,
6038 "src": "6322:8:38",
6039 "typeDescriptions": {
6040 "typeIdentifier": "t_address",
6041 "typeString": "address"
6042 }
6043 },
6044 "isConstant": false,
6045 "isLValue": true,
6046 "isPure": false,
6047 "lValueRequested": false,
6048 "nodeType": "IndexAccess",
6049 "src": "6302:29:38",
6050 "typeDescriptions": {
6051 "typeIdentifier": "t_uint256",
6052 "typeString": "uint256"
6053 }
6054 },
6055 "nodeType": "VariableDeclarationStatement",
6056 "src": "6286:45:38"
6057 },
6058 {
6059 "condition": {
6060 "argumentTypes": null,
6061 "commonType": {
6062 "typeIdentifier": "t_uint256",
6063 "typeString": "uint256"
6064 },
6065 "id": 11924,
6066 "isConstant": false,
6067 "isLValue": false,
6068 "isPure": false,
6069 "lValueRequested": false,
6070 "leftExpression": {
6071 "argumentTypes": null,
6072 "id": 11922,
6073 "name": "_subtractedValue",
6074 "nodeType": "Identifier",
6075 "overloadedDeclarations": [],
6076 "referencedDeclaration": 11908,
6077 "src": "6345:16:38",
6078 "typeDescriptions": {
6079 "typeIdentifier": "t_uint256",
6080 "typeString": "uint256"
6081 }
6082 },
6083 "nodeType": "BinaryOperation",
6084 "operator": ">",
6085 "rightExpression": {
6086 "argumentTypes": null,
6087 "id": 11923,
6088 "name": "oldValue",
6089 "nodeType": "Identifier",
6090 "overloadedDeclarations": [],
6091 "referencedDeclaration": 11914,
6092 "src": "6364:8:38",
6093 "typeDescriptions": {
6094 "typeIdentifier": "t_uint256",
6095 "typeString": "uint256"
6096 }
6097 },
6098 "src": "6345:27:38",
6099 "typeDescriptions": {
6100 "typeIdentifier": "t_bool",
6101 "typeString": "bool"
6102 }
6103 },
6104 "falseBody": {
6105 "id": 11947,
6106 "nodeType": "Block",
6107 "src": "6438:87:38",
6108 "statements": [
6109 {
6110 "expression": {
6111 "argumentTypes": null,
6112 "id": 11945,
6113 "isConstant": false,
6114 "isLValue": false,
6115 "isPure": false,
6116 "lValueRequested": false,
6117 "leftHandSide": {
6118 "argumentTypes": null,
6119 "baseExpression": {
6120 "argumentTypes": null,
6121 "baseExpression": {
6122 "argumentTypes": null,
6123 "id": 11935,
6124 "name": "allowed",
6125 "nodeType": "Identifier",
6126 "overloadedDeclarations": [],
6127 "referencedDeclaration": 11748,
6128 "src": "6452:7:38",
6129 "typeDescriptions": {
6130 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
6131 "typeString": "mapping(address => mapping(address => uint256))"
6132 }
6133 },
6134 "id": 11939,
6135 "indexExpression": {
6136 "argumentTypes": null,
6137 "expression": {
6138 "argumentTypes": null,
6139 "id": 11936,
6140 "name": "msg",
6141 "nodeType": "Identifier",
6142 "overloadedDeclarations": [],
6143 "referencedDeclaration": 12092,
6144 "src": "6460:3:38",
6145 "typeDescriptions": {
6146 "typeIdentifier": "t_magic_message",
6147 "typeString": "msg"
6148 }
6149 },
6150 "id": 11937,
6151 "isConstant": false,
6152 "isLValue": false,
6153 "isPure": false,
6154 "lValueRequested": false,
6155 "memberName": "sender",
6156 "nodeType": "MemberAccess",
6157 "referencedDeclaration": null,
6158 "src": "6460:10:38",
6159 "typeDescriptions": {
6160 "typeIdentifier": "t_address",
6161 "typeString": "address"
6162 }
6163 },
6164 "isConstant": false,
6165 "isLValue": true,
6166 "isPure": false,
6167 "lValueRequested": false,
6168 "nodeType": "IndexAccess",
6169 "src": "6452:19:38",
6170 "typeDescriptions": {
6171 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
6172 "typeString": "mapping(address => uint256)"
6173 }
6174 },
6175 "id": 11940,
6176 "indexExpression": {
6177 "argumentTypes": null,
6178 "id": 11938,
6179 "name": "_spender",
6180 "nodeType": "Identifier",
6181 "overloadedDeclarations": [],
6182 "referencedDeclaration": 11906,
6183 "src": "6472:8:38",
6184 "typeDescriptions": {
6185 "typeIdentifier": "t_address",
6186 "typeString": "address"
6187 }
6188 },
6189 "isConstant": false,
6190 "isLValue": true,
6191 "isPure": false,
6192 "lValueRequested": true,
6193 "nodeType": "IndexAccess",
6194 "src": "6452:29:38",
6195 "typeDescriptions": {
6196 "typeIdentifier": "t_uint256",
6197 "typeString": "uint256"
6198 }
6199 },
6200 "nodeType": "Assignment",
6201 "operator": "=",
6202 "rightHandSide": {
6203 "argumentTypes": null,
6204 "arguments": [
6205 {
6206 "argumentTypes": null,
6207 "id": 11943,
6208 "name": "_subtractedValue",
6209 "nodeType": "Identifier",
6210 "overloadedDeclarations": [],
6211 "referencedDeclaration": 11908,
6212 "src": "6497:16:38",
6213 "typeDescriptions": {
6214 "typeIdentifier": "t_uint256",
6215 "typeString": "uint256"
6216 }
6217 }
6218 ],
6219 "expression": {
6220 "argumentTypes": [
6221 {
6222 "typeIdentifier": "t_uint256",
6223 "typeString": "uint256"
6224 }
6225 ],
6226 "expression": {
6227 "argumentTypes": null,
6228 "id": 11941,
6229 "name": "oldValue",
6230 "nodeType": "Identifier",
6231 "overloadedDeclarations": [],
6232 "referencedDeclaration": 11914,
6233 "src": "6484:8:38",
6234 "typeDescriptions": {
6235 "typeIdentifier": "t_uint256",
6236 "typeString": "uint256"
6237 }
6238 },
6239 "id": 11942,
6240 "isConstant": false,
6241 "isLValue": false,
6242 "isPure": false,
6243 "lValueRequested": false,
6244 "memberName": "sub",
6245 "nodeType": "MemberAccess",
6246 "referencedDeclaration": 11519,
6247 "src": "6484:12:38",
6248 "typeDescriptions": {
6249 "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
6250 "typeString": "function (uint256,uint256) pure returns (uint256)"
6251 }
6252 },
6253 "id": 11944,
6254 "isConstant": false,
6255 "isLValue": false,
6256 "isPure": false,
6257 "kind": "functionCall",
6258 "lValueRequested": false,
6259 "names": [],
6260 "nodeType": "FunctionCall",
6261 "src": "6484:30:38",
6262 "typeDescriptions": {
6263 "typeIdentifier": "t_uint256",
6264 "typeString": "uint256"
6265 }
6266 },
6267 "src": "6452:62:38",
6268 "typeDescriptions": {
6269 "typeIdentifier": "t_uint256",
6270 "typeString": "uint256"
6271 }
6272 },
6273 "id": 11946,
6274 "nodeType": "ExpressionStatement",
6275 "src": "6452:62:38"
6276 }
6277 ]
6278 },
6279 "id": 11948,
6280 "nodeType": "IfStatement",
6281 "src": "6341:184:38",
6282 "trueBody": {
6283 "id": 11934,
6284 "nodeType": "Block",
6285 "src": "6374:58:38",
6286 "statements": [
6287 {
6288 "expression": {
6289 "argumentTypes": null,
6290 "id": 11932,
6291 "isConstant": false,
6292 "isLValue": false,
6293 "isPure": false,
6294 "lValueRequested": false,
6295 "leftHandSide": {
6296 "argumentTypes": null,
6297 "baseExpression": {
6298 "argumentTypes": null,
6299 "baseExpression": {
6300 "argumentTypes": null,
6301 "id": 11925,
6302 "name": "allowed",
6303 "nodeType": "Identifier",
6304 "overloadedDeclarations": [],
6305 "referencedDeclaration": 11748,
6306 "src": "6388:7:38",
6307 "typeDescriptions": {
6308 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
6309 "typeString": "mapping(address => mapping(address => uint256))"
6310 }
6311 },
6312 "id": 11929,
6313 "indexExpression": {
6314 "argumentTypes": null,
6315 "expression": {
6316 "argumentTypes": null,
6317 "id": 11926,
6318 "name": "msg",
6319 "nodeType": "Identifier",
6320 "overloadedDeclarations": [],
6321 "referencedDeclaration": 12092,
6322 "src": "6396:3:38",
6323 "typeDescriptions": {
6324 "typeIdentifier": "t_magic_message",
6325 "typeString": "msg"
6326 }
6327 },
6328 "id": 11927,
6329 "isConstant": false,
6330 "isLValue": false,
6331 "isPure": false,
6332 "lValueRequested": false,
6333 "memberName": "sender",
6334 "nodeType": "MemberAccess",
6335 "referencedDeclaration": null,
6336 "src": "6396:10:38",
6337 "typeDescriptions": {
6338 "typeIdentifier": "t_address",
6339 "typeString": "address"
6340 }
6341 },
6342 "isConstant": false,
6343 "isLValue": true,
6344 "isPure": false,
6345 "lValueRequested": false,
6346 "nodeType": "IndexAccess",
6347 "src": "6388:19:38",
6348 "typeDescriptions": {
6349 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
6350 "typeString": "mapping(address => uint256)"
6351 }
6352 },
6353 "id": 11930,
6354 "indexExpression": {
6355 "argumentTypes": null,
6356 "id": 11928,
6357 "name": "_spender",
6358 "nodeType": "Identifier",
6359 "overloadedDeclarations": [],
6360 "referencedDeclaration": 11906,
6361 "src": "6408:8:38",
6362 "typeDescriptions": {
6363 "typeIdentifier": "t_address",
6364 "typeString": "address"
6365 }
6366 },
6367 "isConstant": false,
6368 "isLValue": true,
6369 "isPure": false,
6370 "lValueRequested": true,
6371 "nodeType": "IndexAccess",
6372 "src": "6388:29:38",
6373 "typeDescriptions": {
6374 "typeIdentifier": "t_uint256",
6375 "typeString": "uint256"
6376 }
6377 },
6378 "nodeType": "Assignment",
6379 "operator": "=",
6380 "rightHandSide": {
6381 "argumentTypes": null,
6382 "hexValue": "30",
6383 "id": 11931,
6384 "isConstant": false,
6385 "isLValue": false,
6386 "isPure": true,
6387 "kind": "number",
6388 "lValueRequested": false,
6389 "nodeType": "Literal",
6390 "src": "6420:1:38",
6391 "subdenomination": null,
6392 "typeDescriptions": {
6393 "typeIdentifier": "t_rational_0_by_1",
6394 "typeString": "int_const 0"
6395 },
6396 "value": "0"
6397 },
6398 "src": "6388:33:38",
6399 "typeDescriptions": {
6400 "typeIdentifier": "t_uint256",
6401 "typeString": "uint256"
6402 }
6403 },
6404 "id": 11933,
6405 "nodeType": "ExpressionStatement",
6406 "src": "6388:33:38"
6407 }
6408 ]
6409 }
6410 },
6411 {
6412 "eventCall": {
6413 "argumentTypes": null,
6414 "arguments": [
6415 {
6416 "argumentTypes": null,
6417 "expression": {
6418 "argumentTypes": null,
6419 "id": 11950,
6420 "name": "msg",
6421 "nodeType": "Identifier",
6422 "overloadedDeclarations": [],
6423 "referencedDeclaration": 12092,
6424 "src": "6548:3:38",
6425 "typeDescriptions": {
6426 "typeIdentifier": "t_magic_message",
6427 "typeString": "msg"
6428 }
6429 },
6430 "id": 11951,
6431 "isConstant": false,
6432 "isLValue": false,
6433 "isPure": false,
6434 "lValueRequested": false,
6435 "memberName": "sender",
6436 "nodeType": "MemberAccess",
6437 "referencedDeclaration": null,
6438 "src": "6548:10:38",
6439 "typeDescriptions": {
6440 "typeIdentifier": "t_address",
6441 "typeString": "address"
6442 }
6443 },
6444 {
6445 "argumentTypes": null,
6446 "id": 11952,
6447 "name": "_spender",
6448 "nodeType": "Identifier",
6449 "overloadedDeclarations": [],
6450 "referencedDeclaration": 11906,
6451 "src": "6560:8:38",
6452 "typeDescriptions": {
6453 "typeIdentifier": "t_address",
6454 "typeString": "address"
6455 }
6456 },
6457 {
6458 "argumentTypes": null,
6459 "baseExpression": {
6460 "argumentTypes": null,
6461 "baseExpression": {
6462 "argumentTypes": null,
6463 "id": 11953,
6464 "name": "allowed",
6465 "nodeType": "Identifier",
6466 "overloadedDeclarations": [],
6467 "referencedDeclaration": 11748,
6468 "src": "6570:7:38",
6469 "typeDescriptions": {
6470 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
6471 "typeString": "mapping(address => mapping(address => uint256))"
6472 }
6473 },
6474 "id": 11956,
6475 "indexExpression": {
6476 "argumentTypes": null,
6477 "expression": {
6478 "argumentTypes": null,
6479 "id": 11954,
6480 "name": "msg",
6481 "nodeType": "Identifier",
6482 "overloadedDeclarations": [],
6483 "referencedDeclaration": 12092,
6484 "src": "6578:3:38",
6485 "typeDescriptions": {
6486 "typeIdentifier": "t_magic_message",
6487 "typeString": "msg"
6488 }
6489 },
6490 "id": 11955,
6491 "isConstant": false,
6492 "isLValue": false,
6493 "isPure": false,
6494 "lValueRequested": false,
6495 "memberName": "sender",
6496 "nodeType": "MemberAccess",
6497 "referencedDeclaration": null,
6498 "src": "6578:10:38",
6499 "typeDescriptions": {
6500 "typeIdentifier": "t_address",
6501 "typeString": "address"
6502 }
6503 },
6504 "isConstant": false,
6505 "isLValue": true,
6506 "isPure": false,
6507 "lValueRequested": false,
6508 "nodeType": "IndexAccess",
6509 "src": "6570:19:38",
6510 "typeDescriptions": {
6511 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
6512 "typeString": "mapping(address => uint256)"
6513 }
6514 },
6515 "id": 11958,
6516 "indexExpression": {
6517 "argumentTypes": null,
6518 "id": 11957,
6519 "name": "_spender",
6520 "nodeType": "Identifier",
6521 "overloadedDeclarations": [],
6522 "referencedDeclaration": 11906,
6523 "src": "6590:8:38",
6524 "typeDescriptions": {
6525 "typeIdentifier": "t_address",
6526 "typeString": "address"
6527 }
6528 },
6529 "isConstant": false,
6530 "isLValue": true,
6531 "isPure": false,
6532 "lValueRequested": false,
6533 "nodeType": "IndexAccess",
6534 "src": "6570:29:38",
6535 "typeDescriptions": {
6536 "typeIdentifier": "t_uint256",
6537 "typeString": "uint256"
6538 }
6539 }
6540 ],
6541 "expression": {
6542 "argumentTypes": [
6543 {
6544 "typeIdentifier": "t_address",
6545 "typeString": "address"
6546 },
6547 {
6548 "typeIdentifier": "t_address",
6549 "typeString": "address"
6550 },
6551 {
6552 "typeIdentifier": "t_uint256",
6553 "typeString": "uint256"
6554 }
6555 ],
6556 "id": 11949,
6557 "name": "Approval",
6558 "nodeType": "Identifier",
6559 "overloadedDeclarations": [],
6560 "referencedDeclaration": 11610,
6561 "src": "6539:8:38",
6562 "typeDescriptions": {
6563 "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
6564 "typeString": "function (address,address,uint256)"
6565 }
6566 },
6567 "id": 11959,
6568 "isConstant": false,
6569 "isLValue": false,
6570 "isPure": false,
6571 "kind": "functionCall",
6572 "lValueRequested": false,
6573 "names": [],
6574 "nodeType": "FunctionCall",
6575 "src": "6539:61:38",
6576 "typeDescriptions": {
6577 "typeIdentifier": "t_tuple$__$",
6578 "typeString": "tuple()"
6579 }
6580 },
6581 "id": 11960,
6582 "nodeType": "EmitStatement",
6583 "src": "6534:66:38"
6584 },
6585 {
6586 "expression": {
6587 "argumentTypes": null,
6588 "hexValue": "74727565",
6589 "id": 11961,
6590 "isConstant": false,
6591 "isLValue": false,
6592 "isPure": true,
6593 "kind": "bool",
6594 "lValueRequested": false,
6595 "nodeType": "Literal",
6596 "src": "6617:4:38",
6597 "subdenomination": null,
6598 "typeDescriptions": {
6599 "typeIdentifier": "t_bool",
6600 "typeString": "bool"
6601 },
6602 "value": "true"
6603 },
6604 "functionReturnParameters": 11912,
6605 "id": 11962,
6606 "nodeType": "Return",
6607 "src": "6610:11:38"
6608 }
6609 ]
6610 },
6611 "documentation": null,
6612 "id": 11964,
6613 "implemented": true,
6614 "isConstructor": false,
6615 "isDeclaredConst": false,
6616 "modifiers": [],
6617 "name": "decreaseApproval",
6618 "nodeType": "FunctionDefinition",
6619 "parameters": {
6620 "id": 11909,
6621 "nodeType": "ParameterList",
6622 "parameters": [
6623 {
6624 "constant": false,
6625 "id": 11906,
6626 "name": "_spender",
6627 "nodeType": "VariableDeclaration",
6628 "scope": 11964,
6629 "src": "6197:16:38",
6630 "stateVariable": false,
6631 "storageLocation": "default",
6632 "typeDescriptions": {
6633 "typeIdentifier": "t_address",
6634 "typeString": "address"
6635 },
6636 "typeName": {
6637 "id": 11905,
6638 "name": "address",
6639 "nodeType": "ElementaryTypeName",
6640 "src": "6197:7:38",
6641 "typeDescriptions": {
6642 "typeIdentifier": "t_address",
6643 "typeString": "address"
6644 }
6645 },
6646 "value": null,
6647 "visibility": "internal"
6648 },
6649 {
6650 "constant": false,
6651 "id": 11908,
6652 "name": "_subtractedValue",
6653 "nodeType": "VariableDeclaration",
6654 "scope": 11964,
6655 "src": "6215:21:38",
6656 "stateVariable": false,
6657 "storageLocation": "default",
6658 "typeDescriptions": {
6659 "typeIdentifier": "t_uint256",
6660 "typeString": "uint256"
6661 },
6662 "typeName": {
6663 "id": 11907,
6664 "name": "uint",
6665 "nodeType": "ElementaryTypeName",
6666 "src": "6215:4:38",
6667 "typeDescriptions": {
6668 "typeIdentifier": "t_uint256",
6669 "typeString": "uint256"
6670 }
6671 },
6672 "value": null,
6673 "visibility": "internal"
6674 }
6675 ],
6676 "src": "6196:41:38"
6677 },
6678 "payable": false,
6679 "returnParameters": {
6680 "id": 11912,
6681 "nodeType": "ParameterList",
6682 "parameters": [
6683 {
6684 "constant": false,
6685 "id": 11911,
6686 "name": "success",
6687 "nodeType": "VariableDeclaration",
6688 "scope": 11964,
6689 "src": "6262:12:38",
6690 "stateVariable": false,
6691 "storageLocation": "default",
6692 "typeDescriptions": {
6693 "typeIdentifier": "t_bool",
6694 "typeString": "bool"
6695 },
6696 "typeName": {
6697 "id": 11910,
6698 "name": "bool",
6699 "nodeType": "ElementaryTypeName",
6700 "src": "6262:4:38",
6701 "typeDescriptions": {
6702 "typeIdentifier": "t_bool",
6703 "typeString": "bool"
6704 }
6705 },
6706 "value": null,
6707 "visibility": "internal"
6708 }
6709 ],
6710 "src": "6261:14:38"
6711 },
6712 "scope": 11965,
6713 "src": "6170:458:38",
6714 "stateMutability": "nonpayable",
6715 "superFunction": null,
6716 "visibility": "public"
6717 }
6718 ],
6719 "scope": 12078,
6720 "src": "3326:3304:38"
6721 },
6722 {
6723 "baseContracts": [
6724 {
6725 "arguments": null,
6726 "baseName": {
6727 "contractScope": null,
6728 "id": 11966,
6729 "name": "StandardToken",
6730 "nodeType": "UserDefinedTypeName",
6731 "referencedDeclaration": 11965,
6732 "src": "6658:13:38",
6733 "typeDescriptions": {
6734 "typeIdentifier": "t_contract$_StandardToken_$11965",
6735 "typeString": "contract StandardToken"
6736 }
6737 },
6738 "id": 11967,
6739 "nodeType": "InheritanceSpecifier",
6740 "src": "6658:13:38"
6741 },
6742 {
6743 "arguments": null,
6744 "baseName": {
6745 "contractScope": null,
6746 "id": 11968,
6747 "name": "Ownable",
6748 "nodeType": "UserDefinedTypeName",
6749 "referencedDeclaration": 11738,
6750 "src": "6673:7:38",
6751 "typeDescriptions": {
6752 "typeIdentifier": "t_contract$_Ownable_$11738",
6753 "typeString": "contract Ownable"
6754 }
6755 },
6756 "id": 11969,
6757 "nodeType": "InheritanceSpecifier",
6758 "src": "6673:7:38"
6759 }
6760 ],
6761 "contractDependencies": [
6762 11571,
6763 11611,
6764 11684,
6765 11738,
6766 11965
6767 ],
6768 "contractKind": "contract",
6769 "documentation": null,
6770 "fullyImplemented": true,
6771 "id": 12052,
6772 "linearizedBaseContracts": [
6773 12052,
6774 11738,
6775 11965,
6776 11684,
6777 11611,
6778 11571
6779 ],
6780 "name": "MintableToken",
6781 "nodeType": "ContractDefinition",
6782 "nodes": [
6783 {
6784 "anonymous": false,
6785 "documentation": null,
6786 "id": 11975,
6787 "name": "Mint",
6788 "nodeType": "EventDefinition",
6789 "parameters": {
6790 "id": 11974,
6791 "nodeType": "ParameterList",
6792 "parameters": [
6793 {
6794 "constant": false,
6795 "id": 11971,
6796 "indexed": true,
6797 "name": "to",
6798 "nodeType": "VariableDeclaration",
6799 "scope": 11975,
6800 "src": "6698:18:38",
6801 "stateVariable": false,
6802 "storageLocation": "default",
6803 "typeDescriptions": {
6804 "typeIdentifier": "t_address",
6805 "typeString": "address"
6806 },
6807 "typeName": {
6808 "id": 11970,
6809 "name": "address",
6810 "nodeType": "ElementaryTypeName",
6811 "src": "6698:7:38",
6812 "typeDescriptions": {
6813 "typeIdentifier": "t_address",
6814 "typeString": "address"
6815 }
6816 },
6817 "value": null,
6818 "visibility": "internal"
6819 },
6820 {
6821 "constant": false,
6822 "id": 11973,
6823 "indexed": false,
6824 "name": "amount",
6825 "nodeType": "VariableDeclaration",
6826 "scope": 11975,
6827 "src": "6718:14:38",
6828 "stateVariable": false,
6829 "storageLocation": "default",
6830 "typeDescriptions": {
6831 "typeIdentifier": "t_uint256",
6832 "typeString": "uint256"
6833 },
6834 "typeName": {
6835 "id": 11972,
6836 "name": "uint256",
6837 "nodeType": "ElementaryTypeName",
6838 "src": "6718:7:38",
6839 "typeDescriptions": {
6840 "typeIdentifier": "t_uint256",
6841 "typeString": "uint256"
6842 }
6843 },
6844 "value": null,
6845 "visibility": "internal"
6846 }
6847 ],
6848 "src": "6697:36:38"
6849 },
6850 "src": "6687:47:38"
6851 },
6852 {
6853 "anonymous": false,
6854 "documentation": null,
6855 "id": 11977,
6856 "name": "MintFinished",
6857 "nodeType": "EventDefinition",
6858 "parameters": {
6859 "id": 11976,
6860 "nodeType": "ParameterList",
6861 "parameters": [],
6862 "src": "6757:2:38"
6863 },
6864 "src": "6739:21:38"
6865 },
6866 {
6867 "constant": false,
6868 "id": 11980,
6869 "name": "mintingFinished",
6870 "nodeType": "VariableDeclaration",
6871 "scope": 12052,
6872 "src": "6765:35:38",
6873 "stateVariable": true,
6874 "storageLocation": "default",
6875 "typeDescriptions": {
6876 "typeIdentifier": "t_bool",
6877 "typeString": "bool"
6878 },
6879 "typeName": {
6880 "id": 11978,
6881 "name": "bool",
6882 "nodeType": "ElementaryTypeName",
6883 "src": "6765:4:38",
6884 "typeDescriptions": {
6885 "typeIdentifier": "t_bool",
6886 "typeString": "bool"
6887 }
6888 },
6889 "value": {
6890 "argumentTypes": null,
6891 "hexValue": "66616c7365",
6892 "id": 11979,
6893 "isConstant": false,
6894 "isLValue": false,
6895 "isPure": true,
6896 "kind": "bool",
6897 "lValueRequested": false,
6898 "nodeType": "Literal",
6899 "src": "6795:5:38",
6900 "subdenomination": null,
6901 "typeDescriptions": {
6902 "typeIdentifier": "t_bool",
6903 "typeString": "bool"
6904 },
6905 "value": "false"
6906 },
6907 "visibility": "public"
6908 },
6909 {
6910 "body": {
6911 "id": 11988,
6912 "nodeType": "Block",
6913 "src": "6825:53:38",
6914 "statements": [
6915 {
6916 "expression": {
6917 "argumentTypes": null,
6918 "arguments": [
6919 {
6920 "argumentTypes": null,
6921 "id": 11984,
6922 "isConstant": false,
6923 "isLValue": false,
6924 "isPure": false,
6925 "lValueRequested": false,
6926 "nodeType": "UnaryOperation",
6927 "operator": "!",
6928 "prefix": true,
6929 "src": "6843:16:38",
6930 "subExpression": {
6931 "argumentTypes": null,
6932 "id": 11983,
6933 "name": "mintingFinished",
6934 "nodeType": "Identifier",
6935 "overloadedDeclarations": [],
6936 "referencedDeclaration": 11980,
6937 "src": "6844:15:38",
6938 "typeDescriptions": {
6939 "typeIdentifier": "t_bool",
6940 "typeString": "bool"
6941 }
6942 },
6943 "typeDescriptions": {
6944 "typeIdentifier": "t_bool",
6945 "typeString": "bool"
6946 }
6947 }
6948 ],
6949 "expression": {
6950 "argumentTypes": [
6951 {
6952 "typeIdentifier": "t_bool",
6953 "typeString": "bool"
6954 }
6955 ],
6956 "id": 11982,
6957 "name": "require",
6958 "nodeType": "Identifier",
6959 "overloadedDeclarations": [
6960 12095,
6961 12096
6962 ],
6963 "referencedDeclaration": 12095,
6964 "src": "6835:7:38",
6965 "typeDescriptions": {
6966 "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
6967 "typeString": "function (bool) pure"
6968 }
6969 },
6970 "id": 11985,
6971 "isConstant": false,
6972 "isLValue": false,
6973 "isPure": false,
6974 "kind": "functionCall",
6975 "lValueRequested": false,
6976 "names": [],
6977 "nodeType": "FunctionCall",
6978 "src": "6835:25:38",
6979 "typeDescriptions": {
6980 "typeIdentifier": "t_tuple$__$",
6981 "typeString": "tuple()"
6982 }
6983 },
6984 "id": 11986,
6985 "nodeType": "ExpressionStatement",
6986 "src": "6835:25:38"
6987 },
6988 {
6989 "id": 11987,
6990 "nodeType": "PlaceholderStatement",
6991 "src": "6870:1:38"
6992 }
6993 ]
6994 },
6995 "documentation": null,
6996 "id": 11989,
6997 "name": "canMint",
6998 "nodeType": "ModifierDefinition",
6999 "parameters": {
7000 "id": 11981,
7001 "nodeType": "ParameterList",
7002 "parameters": [],
7003 "src": "6822:2:38"
7004 },
7005 "src": "6806:72:38",
7006 "visibility": "internal"
7007 },
7008 {
7009 "body": {
7010 "id": 12033,
7011 "nodeType": "Block",
7012 "src": "7212:203:38",
7013 "statements": [
7014 {
7015 "expression": {
7016 "argumentTypes": null,
7017 "id": 12007,
7018 "isConstant": false,
7019 "isLValue": false,
7020 "isPure": false,
7021 "lValueRequested": false,
7022 "leftHandSide": {
7023 "argumentTypes": null,
7024 "id": 12002,
7025 "name": "totalSupply",
7026 "nodeType": "Identifier",
7027 "overloadedDeclarations": [],
7028 "referencedDeclaration": 11546,
7029 "src": "7222:11:38",
7030 "typeDescriptions": {
7031 "typeIdentifier": "t_uint256",
7032 "typeString": "uint256"
7033 }
7034 },
7035 "nodeType": "Assignment",
7036 "operator": "=",
7037 "rightHandSide": {
7038 "argumentTypes": null,
7039 "arguments": [
7040 {
7041 "argumentTypes": null,
7042 "id": 12005,
7043 "name": "_amount",
7044 "nodeType": "Identifier",
7045 "overloadedDeclarations": [],
7046 "referencedDeclaration": 11993,
7047 "src": "7252:7:38",
7048 "typeDescriptions": {
7049 "typeIdentifier": "t_uint256",
7050 "typeString": "uint256"
7051 }
7052 }
7053 ],
7054 "expression": {
7055 "argumentTypes": [
7056 {
7057 "typeIdentifier": "t_uint256",
7058 "typeString": "uint256"
7059 }
7060 ],
7061 "expression": {
7062 "argumentTypes": null,
7063 "id": 12003,
7064 "name": "totalSupply",
7065 "nodeType": "Identifier",
7066 "overloadedDeclarations": [],
7067 "referencedDeclaration": 11546,
7068 "src": "7236:11:38",
7069 "typeDescriptions": {
7070 "typeIdentifier": "t_uint256",
7071 "typeString": "uint256"
7072 }
7073 },
7074 "id": 12004,
7075 "isConstant": false,
7076 "isLValue": false,
7077 "isPure": false,
7078 "lValueRequested": false,
7079 "memberName": "add",
7080 "nodeType": "MemberAccess",
7081 "referencedDeclaration": 11543,
7082 "src": "7236:15:38",
7083 "typeDescriptions": {
7084 "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
7085 "typeString": "function (uint256,uint256) pure returns (uint256)"
7086 }
7087 },
7088 "id": 12006,
7089 "isConstant": false,
7090 "isLValue": false,
7091 "isPure": false,
7092 "kind": "functionCall",
7093 "lValueRequested": false,
7094 "names": [],
7095 "nodeType": "FunctionCall",
7096 "src": "7236:24:38",
7097 "typeDescriptions": {
7098 "typeIdentifier": "t_uint256",
7099 "typeString": "uint256"
7100 }
7101 },
7102 "src": "7222:38:38",
7103 "typeDescriptions": {
7104 "typeIdentifier": "t_uint256",
7105 "typeString": "uint256"
7106 }
7107 },
7108 "id": 12008,
7109 "nodeType": "ExpressionStatement",
7110 "src": "7222:38:38"
7111 },
7112 {
7113 "expression": {
7114 "argumentTypes": null,
7115 "id": 12018,
7116 "isConstant": false,
7117 "isLValue": false,
7118 "isPure": false,
7119 "lValueRequested": false,
7120 "leftHandSide": {
7121 "argumentTypes": null,
7122 "baseExpression": {
7123 "argumentTypes": null,
7124 "id": 12009,
7125 "name": "balances",
7126 "nodeType": "Identifier",
7127 "overloadedDeclarations": [],
7128 "referencedDeclaration": 11620,
7129 "src": "7270:8:38",
7130 "typeDescriptions": {
7131 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
7132 "typeString": "mapping(address => uint256)"
7133 }
7134 },
7135 "id": 12011,
7136 "indexExpression": {
7137 "argumentTypes": null,
7138 "id": 12010,
7139 "name": "_to",
7140 "nodeType": "Identifier",
7141 "overloadedDeclarations": [],
7142 "referencedDeclaration": 11991,
7143 "src": "7279:3:38",
7144 "typeDescriptions": {
7145 "typeIdentifier": "t_address",
7146 "typeString": "address"
7147 }
7148 },
7149 "isConstant": false,
7150 "isLValue": true,
7151 "isPure": false,
7152 "lValueRequested": true,
7153 "nodeType": "IndexAccess",
7154 "src": "7270:13:38",
7155 "typeDescriptions": {
7156 "typeIdentifier": "t_uint256",
7157 "typeString": "uint256"
7158 }
7159 },
7160 "nodeType": "Assignment",
7161 "operator": "=",
7162 "rightHandSide": {
7163 "argumentTypes": null,
7164 "arguments": [
7165 {
7166 "argumentTypes": null,
7167 "id": 12016,
7168 "name": "_amount",
7169 "nodeType": "Identifier",
7170 "overloadedDeclarations": [],
7171 "referencedDeclaration": 11993,
7172 "src": "7304:7:38",
7173 "typeDescriptions": {
7174 "typeIdentifier": "t_uint256",
7175 "typeString": "uint256"
7176 }
7177 }
7178 ],
7179 "expression": {
7180 "argumentTypes": [
7181 {
7182 "typeIdentifier": "t_uint256",
7183 "typeString": "uint256"
7184 }
7185 ],
7186 "expression": {
7187 "argumentTypes": null,
7188 "baseExpression": {
7189 "argumentTypes": null,
7190 "id": 12012,
7191 "name": "balances",
7192 "nodeType": "Identifier",
7193 "overloadedDeclarations": [],
7194 "referencedDeclaration": 11620,
7195 "src": "7286:8:38",
7196 "typeDescriptions": {
7197 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
7198 "typeString": "mapping(address => uint256)"
7199 }
7200 },
7201 "id": 12014,
7202 "indexExpression": {
7203 "argumentTypes": null,
7204 "id": 12013,
7205 "name": "_to",
7206 "nodeType": "Identifier",
7207 "overloadedDeclarations": [],
7208 "referencedDeclaration": 11991,
7209 "src": "7295:3:38",
7210 "typeDescriptions": {
7211 "typeIdentifier": "t_address",
7212 "typeString": "address"
7213 }
7214 },
7215 "isConstant": false,
7216 "isLValue": true,
7217 "isPure": false,
7218 "lValueRequested": false,
7219 "nodeType": "IndexAccess",
7220 "src": "7286:13:38",
7221 "typeDescriptions": {
7222 "typeIdentifier": "t_uint256",
7223 "typeString": "uint256"
7224 }
7225 },
7226 "id": 12015,
7227 "isConstant": false,
7228 "isLValue": false,
7229 "isPure": false,
7230 "lValueRequested": false,
7231 "memberName": "add",
7232 "nodeType": "MemberAccess",
7233 "referencedDeclaration": 11543,
7234 "src": "7286:17:38",
7235 "typeDescriptions": {
7236 "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
7237 "typeString": "function (uint256,uint256) pure returns (uint256)"
7238 }
7239 },
7240 "id": 12017,
7241 "isConstant": false,
7242 "isLValue": false,
7243 "isPure": false,
7244 "kind": "functionCall",
7245 "lValueRequested": false,
7246 "names": [],
7247 "nodeType": "FunctionCall",
7248 "src": "7286:26:38",
7249 "typeDescriptions": {
7250 "typeIdentifier": "t_uint256",
7251 "typeString": "uint256"
7252 }
7253 },
7254 "src": "7270:42:38",
7255 "typeDescriptions": {
7256 "typeIdentifier": "t_uint256",
7257 "typeString": "uint256"
7258 }
7259 },
7260 "id": 12019,
7261 "nodeType": "ExpressionStatement",
7262 "src": "7270:42:38"
7263 },
7264 {
7265 "eventCall": {
7266 "argumentTypes": null,
7267 "arguments": [
7268 {
7269 "argumentTypes": null,
7270 "id": 12021,
7271 "name": "_to",
7272 "nodeType": "Identifier",
7273 "overloadedDeclarations": [],
7274 "referencedDeclaration": 11991,
7275 "src": "7332:3:38",
7276 "typeDescriptions": {
7277 "typeIdentifier": "t_address",
7278 "typeString": "address"
7279 }
7280 },
7281 {
7282 "argumentTypes": null,
7283 "id": 12022,
7284 "name": "_amount",
7285 "nodeType": "Identifier",
7286 "overloadedDeclarations": [],
7287 "referencedDeclaration": 11993,
7288 "src": "7337:7:38",
7289 "typeDescriptions": {
7290 "typeIdentifier": "t_uint256",
7291 "typeString": "uint256"
7292 }
7293 }
7294 ],
7295 "expression": {
7296 "argumentTypes": [
7297 {
7298 "typeIdentifier": "t_address",
7299 "typeString": "address"
7300 },
7301 {
7302 "typeIdentifier": "t_uint256",
7303 "typeString": "uint256"
7304 }
7305 ],
7306 "id": 12020,
7307 "name": "Mint",
7308 "nodeType": "Identifier",
7309 "overloadedDeclarations": [],
7310 "referencedDeclaration": 11975,
7311 "src": "7327:4:38",
7312 "typeDescriptions": {
7313 "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$",
7314 "typeString": "function (address,uint256)"
7315 }
7316 },
7317 "id": 12023,
7318 "isConstant": false,
7319 "isLValue": false,
7320 "isPure": false,
7321 "kind": "functionCall",
7322 "lValueRequested": false,
7323 "names": [],
7324 "nodeType": "FunctionCall",
7325 "src": "7327:18:38",
7326 "typeDescriptions": {
7327 "typeIdentifier": "t_tuple$__$",
7328 "typeString": "tuple()"
7329 }
7330 },
7331 "id": 12024,
7332 "nodeType": "EmitStatement",
7333 "src": "7322:23:38"
7334 },
7335 {
7336 "eventCall": {
7337 "argumentTypes": null,
7338 "arguments": [
7339 {
7340 "argumentTypes": null,
7341 "hexValue": "307830",
7342 "id": 12026,
7343 "isConstant": false,
7344 "isLValue": false,
7345 "isPure": true,
7346 "kind": "number",
7347 "lValueRequested": false,
7348 "nodeType": "Literal",
7349 "src": "7369:3:38",
7350 "subdenomination": null,
7351 "typeDescriptions": {
7352 "typeIdentifier": "t_rational_0_by_1",
7353 "typeString": "int_const 0"
7354 },
7355 "value": "0x0"
7356 },
7357 {
7358 "argumentTypes": null,
7359 "id": 12027,
7360 "name": "_to",
7361 "nodeType": "Identifier",
7362 "overloadedDeclarations": [],
7363 "referencedDeclaration": 11991,
7364 "src": "7374:3:38",
7365 "typeDescriptions": {
7366 "typeIdentifier": "t_address",
7367 "typeString": "address"
7368 }
7369 },
7370 {
7371 "argumentTypes": null,
7372 "id": 12028,
7373 "name": "_amount",
7374 "nodeType": "Identifier",
7375 "overloadedDeclarations": [],
7376 "referencedDeclaration": 11993,
7377 "src": "7379:7:38",
7378 "typeDescriptions": {
7379 "typeIdentifier": "t_uint256",
7380 "typeString": "uint256"
7381 }
7382 }
7383 ],
7384 "expression": {
7385 "argumentTypes": [
7386 {
7387 "typeIdentifier": "t_rational_0_by_1",
7388 "typeString": "int_const 0"
7389 },
7390 {
7391 "typeIdentifier": "t_address",
7392 "typeString": "address"
7393 },
7394 {
7395 "typeIdentifier": "t_uint256",
7396 "typeString": "uint256"
7397 }
7398 ],
7399 "id": 12025,
7400 "name": "Transfer",
7401 "nodeType": "Identifier",
7402 "overloadedDeclarations": [],
7403 "referencedDeclaration": 11570,
7404 "src": "7360:8:38",
7405 "typeDescriptions": {
7406 "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
7407 "typeString": "function (address,address,uint256)"
7408 }
7409 },
7410 "id": 12029,
7411 "isConstant": false,
7412 "isLValue": false,
7413 "isPure": false,
7414 "kind": "functionCall",
7415 "lValueRequested": false,
7416 "names": [],
7417 "nodeType": "FunctionCall",
7418 "src": "7360:27:38",
7419 "typeDescriptions": {
7420 "typeIdentifier": "t_tuple$__$",
7421 "typeString": "tuple()"
7422 }
7423 },
7424 "id": 12030,
7425 "nodeType": "EmitStatement",
7426 "src": "7355:32:38"
7427 },
7428 {
7429 "expression": {
7430 "argumentTypes": null,
7431 "hexValue": "74727565",
7432 "id": 12031,
7433 "isConstant": false,
7434 "isLValue": false,
7435 "isPure": true,
7436 "kind": "bool",
7437 "lValueRequested": false,
7438 "nodeType": "Literal",
7439 "src": "7404:4:38",
7440 "subdenomination": null,
7441 "typeDescriptions": {
7442 "typeIdentifier": "t_bool",
7443 "typeString": "bool"
7444 },
7445 "value": "true"
7446 },
7447 "functionReturnParameters": 12001,
7448 "id": 12032,
7449 "nodeType": "Return",
7450 "src": "7397:11:38"
7451 }
7452 ]
7453 },
7454 "documentation": "@dev Function to mint tokens\n@param _to The address that will receive the minted tokens.\n@param _amount The amount of tokens to mint.\n@return A boolean that indicates if the operation was successful.",
7455 "id": 12034,
7456 "implemented": true,
7457 "isConstructor": false,
7458 "isDeclaredConst": false,
7459 "modifiers": [
7460 {
7461 "arguments": null,
7462 "id": 11996,
7463 "modifierName": {
7464 "argumentTypes": null,
7465 "id": 11995,
7466 "name": "onlyOwner",
7467 "nodeType": "Identifier",
7468 "overloadedDeclarations": [],
7469 "referencedDeclaration": 11712,
7470 "src": "7172:9:38",
7471 "typeDescriptions": {
7472 "typeIdentifier": "t_modifier$__$",
7473 "typeString": "modifier ()"
7474 }
7475 },
7476 "nodeType": "ModifierInvocation",
7477 "src": "7172:9:38"
7478 },
7479 {
7480 "arguments": null,
7481 "id": 11998,
7482 "modifierName": {
7483 "argumentTypes": null,
7484 "id": 11997,
7485 "name": "canMint",
7486 "nodeType": "Identifier",
7487 "overloadedDeclarations": [],
7488 "referencedDeclaration": 11989,
7489 "src": "7182:7:38",
7490 "typeDescriptions": {
7491 "typeIdentifier": "t_modifier$__$",
7492 "typeString": "modifier ()"
7493 }
7494 },
7495 "nodeType": "ModifierInvocation",
7496 "src": "7182:7:38"
7497 }
7498 ],
7499 "name": "mint",
7500 "nodeType": "FunctionDefinition",
7501 "parameters": {
7502 "id": 11994,
7503 "nodeType": "ParameterList",
7504 "parameters": [
7505 {
7506 "constant": false,
7507 "id": 11991,
7508 "name": "_to",
7509 "nodeType": "VariableDeclaration",
7510 "scope": 12034,
7511 "src": "7142:11:38",
7512 "stateVariable": false,
7513 "storageLocation": "default",
7514 "typeDescriptions": {
7515 "typeIdentifier": "t_address",
7516 "typeString": "address"
7517 },
7518 "typeName": {
7519 "id": 11990,
7520 "name": "address",
7521 "nodeType": "ElementaryTypeName",
7522 "src": "7142:7:38",
7523 "typeDescriptions": {
7524 "typeIdentifier": "t_address",
7525 "typeString": "address"
7526 }
7527 },
7528 "value": null,
7529 "visibility": "internal"
7530 },
7531 {
7532 "constant": false,
7533 "id": 11993,
7534 "name": "_amount",
7535 "nodeType": "VariableDeclaration",
7536 "scope": 12034,
7537 "src": "7155:15:38",
7538 "stateVariable": false,
7539 "storageLocation": "default",
7540 "typeDescriptions": {
7541 "typeIdentifier": "t_uint256",
7542 "typeString": "uint256"
7543 },
7544 "typeName": {
7545 "id": 11992,
7546 "name": "uint256",
7547 "nodeType": "ElementaryTypeName",
7548 "src": "7155:7:38",
7549 "typeDescriptions": {
7550 "typeIdentifier": "t_uint256",
7551 "typeString": "uint256"
7552 }
7553 },
7554 "value": null,
7555 "visibility": "internal"
7556 }
7557 ],
7558 "src": "7141:30:38"
7559 },
7560 "payable": false,
7561 "returnParameters": {
7562 "id": 12001,
7563 "nodeType": "ParameterList",
7564 "parameters": [
7565 {
7566 "constant": false,
7567 "id": 12000,
7568 "name": "",
7569 "nodeType": "VariableDeclaration",
7570 "scope": 12034,
7571 "src": "7206:4:38",
7572 "stateVariable": false,
7573 "storageLocation": "default",
7574 "typeDescriptions": {
7575 "typeIdentifier": "t_bool",
7576 "typeString": "bool"
7577 },
7578 "typeName": {
7579 "id": 11999,
7580 "name": "bool",
7581 "nodeType": "ElementaryTypeName",
7582 "src": "7206:4:38",
7583 "typeDescriptions": {
7584 "typeIdentifier": "t_bool",
7585 "typeString": "bool"
7586 }
7587 },
7588 "value": null,
7589 "visibility": "internal"
7590 }
7591 ],
7592 "src": "7205:6:38"
7593 },
7594 "scope": 12052,
7595 "src": "7128:287:38",
7596 "stateMutability": "nonpayable",
7597 "superFunction": null,
7598 "visibility": "public"
7599 },
7600 {
7601 "body": {
7602 "id": 12050,
7603 "nodeType": "Block",
7604 "src": "7596:89:38",
7605 "statements": [
7606 {
7607 "expression": {
7608 "argumentTypes": null,
7609 "id": 12043,
7610 "isConstant": false,
7611 "isLValue": false,
7612 "isPure": false,
7613 "lValueRequested": false,
7614 "leftHandSide": {
7615 "argumentTypes": null,
7616 "id": 12041,
7617 "name": "mintingFinished",
7618 "nodeType": "Identifier",
7619 "overloadedDeclarations": [],
7620 "referencedDeclaration": 11980,
7621 "src": "7606:15:38",
7622 "typeDescriptions": {
7623 "typeIdentifier": "t_bool",
7624 "typeString": "bool"
7625 }
7626 },
7627 "nodeType": "Assignment",
7628 "operator": "=",
7629 "rightHandSide": {
7630 "argumentTypes": null,
7631 "hexValue": "74727565",
7632 "id": 12042,
7633 "isConstant": false,
7634 "isLValue": false,
7635 "isPure": true,
7636 "kind": "bool",
7637 "lValueRequested": false,
7638 "nodeType": "Literal",
7639 "src": "7624:4:38",
7640 "subdenomination": null,
7641 "typeDescriptions": {
7642 "typeIdentifier": "t_bool",
7643 "typeString": "bool"
7644 },
7645 "value": "true"
7646 },
7647 "src": "7606:22:38",
7648 "typeDescriptions": {
7649 "typeIdentifier": "t_bool",
7650 "typeString": "bool"
7651 }
7652 },
7653 "id": 12044,
7654 "nodeType": "ExpressionStatement",
7655 "src": "7606:22:38"
7656 },
7657 {
7658 "eventCall": {
7659 "argumentTypes": null,
7660 "arguments": [],
7661 "expression": {
7662 "argumentTypes": [],
7663 "id": 12045,
7664 "name": "MintFinished",
7665 "nodeType": "Identifier",
7666 "overloadedDeclarations": [],
7667 "referencedDeclaration": 11977,
7668 "src": "7643:12:38",
7669 "typeDescriptions": {
7670 "typeIdentifier": "t_function_event_nonpayable$__$returns$__$",
7671 "typeString": "function ()"
7672 }
7673 },
7674 "id": 12046,
7675 "isConstant": false,
7676 "isLValue": false,
7677 "isPure": false,
7678 "kind": "functionCall",
7679 "lValueRequested": false,
7680 "names": [],
7681 "nodeType": "FunctionCall",
7682 "src": "7643:14:38",
7683 "typeDescriptions": {
7684 "typeIdentifier": "t_tuple$__$",
7685 "typeString": "tuple()"
7686 }
7687 },
7688 "id": 12047,
7689 "nodeType": "EmitStatement",
7690 "src": "7638:19:38"
7691 },
7692 {
7693 "expression": {
7694 "argumentTypes": null,
7695 "hexValue": "74727565",
7696 "id": 12048,
7697 "isConstant": false,
7698 "isLValue": false,
7699 "isPure": true,
7700 "kind": "bool",
7701 "lValueRequested": false,
7702 "nodeType": "Literal",
7703 "src": "7674:4:38",
7704 "subdenomination": null,
7705 "typeDescriptions": {
7706 "typeIdentifier": "t_bool",
7707 "typeString": "bool"
7708 },
7709 "value": "true"
7710 },
7711 "functionReturnParameters": 12040,
7712 "id": 12049,
7713 "nodeType": "Return",
7714 "src": "7667:11:38"
7715 }
7716 ]
7717 },
7718 "documentation": "@dev Function to stop minting new tokens.\n@return True if the operation was successful.",
7719 "id": 12051,
7720 "implemented": true,
7721 "isConstructor": false,
7722 "isDeclaredConst": false,
7723 "modifiers": [
7724 {
7725 "arguments": null,
7726 "id": 12037,
7727 "modifierName": {
7728 "argumentTypes": null,
7729 "id": 12036,
7730 "name": "onlyOwner",
7731 "nodeType": "Identifier",
7732 "overloadedDeclarations": [],
7733 "referencedDeclaration": 11712,
7734 "src": "7564:9:38",
7735 "typeDescriptions": {
7736 "typeIdentifier": "t_modifier$__$",
7737 "typeString": "modifier ()"
7738 }
7739 },
7740 "nodeType": "ModifierInvocation",
7741 "src": "7564:9:38"
7742 }
7743 ],
7744 "name": "finishMinting",
7745 "nodeType": "FunctionDefinition",
7746 "parameters": {
7747 "id": 12035,
7748 "nodeType": "ParameterList",
7749 "parameters": [],
7750 "src": "7561:2:38"
7751 },
7752 "payable": false,
7753 "returnParameters": {
7754 "id": 12040,
7755 "nodeType": "ParameterList",
7756 "parameters": [
7757 {
7758 "constant": false,
7759 "id": 12039,
7760 "name": "",
7761 "nodeType": "VariableDeclaration",
7762 "scope": 12051,
7763 "src": "7590:4:38",
7764 "stateVariable": false,
7765 "storageLocation": "default",
7766 "typeDescriptions": {
7767 "typeIdentifier": "t_bool",
7768 "typeString": "bool"
7769 },
7770 "typeName": {
7771 "id": 12038,
7772 "name": "bool",
7773 "nodeType": "ElementaryTypeName",
7774 "src": "7590:4:38",
7775 "typeDescriptions": {
7776 "typeIdentifier": "t_bool",
7777 "typeString": "bool"
7778 }
7779 },
7780 "value": null,
7781 "visibility": "internal"
7782 }
7783 ],
7784 "src": "7589:6:38"
7785 },
7786 "scope": 12052,
7787 "src": "7539:146:38",
7788 "stateMutability": "nonpayable",
7789 "superFunction": null,
7790 "visibility": "public"
7791 }
7792 ],
7793 "scope": 12078,
7794 "src": "6632:1055:38"
7795 },
7796 {
7797 "baseContracts": [
7798 {
7799 "arguments": null,
7800 "baseName": {
7801 "contractScope": null,
7802 "id": 12053,
7803 "name": "MintableToken",
7804 "nodeType": "UserDefinedTypeName",
7805 "referencedDeclaration": 12052,
7806 "src": "7710:13:38",
7807 "typeDescriptions": {
7808 "typeIdentifier": "t_contract$_MintableToken_$12052",
7809 "typeString": "contract MintableToken"
7810 }
7811 },
7812 "id": 12054,
7813 "nodeType": "InheritanceSpecifier",
7814 "src": "7710:13:38"
7815 }
7816 ],
7817 "contractDependencies": [
7818 11571,
7819 11611,
7820 11684,
7821 11738,
7822 11965,
7823 12052
7824 ],
7825 "contractKind": "contract",
7826 "documentation": null,
7827 "fullyImplemented": true,
7828 "id": 12077,
7829 "linearizedBaseContracts": [
7830 12077,
7831 12052,
7832 11738,
7833 11965,
7834 11684,
7835 11611,
7836 11571
7837 ],
7838 "name": "ZapToken",
7839 "nodeType": "ContractDefinition",
7840 "nodes": [
7841 {
7842 "constant": false,
7843 "id": 12057,
7844 "name": "name",
7845 "nodeType": "VariableDeclaration",
7846 "scope": 12077,
7847 "src": "7730:33:38",
7848 "stateVariable": true,
7849 "storageLocation": "default",
7850 "typeDescriptions": {
7851 "typeIdentifier": "t_string_storage",
7852 "typeString": "string"
7853 },
7854 "typeName": {
7855 "id": 12055,
7856 "name": "string",
7857 "nodeType": "ElementaryTypeName",
7858 "src": "7730:6:38",
7859 "typeDescriptions": {
7860 "typeIdentifier": "t_string_storage_ptr",
7861 "typeString": "string"
7862 }
7863 },
7864 "value": {
7865 "argumentTypes": null,
7866 "hexValue": "5445535420544f4b454e",
7867 "id": 12056,
7868 "isConstant": false,
7869 "isLValue": false,
7870 "isPure": true,
7871 "kind": "string",
7872 "lValueRequested": false,
7873 "nodeType": "Literal",
7874 "src": "7751:12:38",
7875 "subdenomination": null,
7876 "typeDescriptions": {
7877 "typeIdentifier": "t_stringliteral_8cc07e74fc4859642fc3155159df3dd4457185a8cd596d0181af35ff8c613552",
7878 "typeString": "literal_string \"TEST TOKEN\""
7879 },
7880 "value": "TEST TOKEN"
7881 },
7882 "visibility": "public"
7883 },
7884 {
7885 "constant": false,
7886 "id": 12060,
7887 "name": "symbol",
7888 "nodeType": "VariableDeclaration",
7889 "scope": 12077,
7890 "src": "7769:29:38",
7891 "stateVariable": true,
7892 "storageLocation": "default",
7893 "typeDescriptions": {
7894 "typeIdentifier": "t_string_storage",
7895 "typeString": "string"
7896 },
7897 "typeName": {
7898 "id": 12058,
7899 "name": "string",
7900 "nodeType": "ElementaryTypeName",
7901 "src": "7769:6:38",
7902 "typeDescriptions": {
7903 "typeIdentifier": "t_string_storage_ptr",
7904 "typeString": "string"
7905 }
7906 },
7907 "value": {
7908 "argumentTypes": null,
7909 "hexValue": "54455354",
7910 "id": 12059,
7911 "isConstant": false,
7912 "isLValue": false,
7913 "isPure": true,
7914 "kind": "string",
7915 "lValueRequested": false,
7916 "nodeType": "Literal",
7917 "src": "7792:6:38",
7918 "subdenomination": null,
7919 "typeDescriptions": {
7920 "typeIdentifier": "t_stringliteral_852daa74cc3c31fe64542bb9b8764cfb91cc30f9acf9389071ffb44a9eefde46",
7921 "typeString": "literal_string \"TEST\""
7922 },
7923 "value": "TEST"
7924 },
7925 "visibility": "public"
7926 },
7927 {
7928 "constant": false,
7929 "id": 12063,
7930 "name": "decimals",
7931 "nodeType": "VariableDeclaration",
7932 "scope": 12077,
7933 "src": "7804:28:38",
7934 "stateVariable": true,
7935 "storageLocation": "default",
7936 "typeDescriptions": {
7937 "typeIdentifier": "t_uint256",
7938 "typeString": "uint256"
7939 },
7940 "typeName": {
7941 "id": 12061,
7942 "name": "uint256",
7943 "nodeType": "ElementaryTypeName",
7944 "src": "7804:7:38",
7945 "typeDescriptions": {
7946 "typeIdentifier": "t_uint256",
7947 "typeString": "uint256"
7948 }
7949 },
7950 "value": {
7951 "argumentTypes": null,
7952 "hexValue": "3138",
7953 "id": 12062,
7954 "isConstant": false,
7955 "isLValue": false,
7956 "isPure": true,
7957 "kind": "number",
7958 "lValueRequested": false,
7959 "nodeType": "Literal",
7960 "src": "7830:2:38",
7961 "subdenomination": null,
7962 "typeDescriptions": {
7963 "typeIdentifier": "t_rational_18_by_1",
7964 "typeString": "int_const 18"
7965 },
7966 "value": "18"
7967 },
7968 "visibility": "public"
7969 },
7970 {
7971 "body": {
7972 "id": 12075,
7973 "nodeType": "Block",
7974 "src": "7888:32:38",
7975 "statements": [
7976 {
7977 "expression": {
7978 "argumentTypes": null,
7979 "arguments": [
7980 {
7981 "argumentTypes": null,
7982 "id": 12071,
7983 "name": "to",
7984 "nodeType": "Identifier",
7985 "overloadedDeclarations": [],
7986 "referencedDeclaration": 12065,
7987 "src": "7903:2:38",
7988 "typeDescriptions": {
7989 "typeIdentifier": "t_address",
7990 "typeString": "address"
7991 }
7992 },
7993 {
7994 "argumentTypes": null,
7995 "id": 12072,
7996 "name": "amount",
7997 "nodeType": "Identifier",
7998 "overloadedDeclarations": [],
7999 "referencedDeclaration": 12067,
8000 "src": "7906:6:38",
8001 "typeDescriptions": {
8002 "typeIdentifier": "t_uint256",
8003 "typeString": "uint256"
8004 }
8005 }
8006 ],
8007 "expression": {
8008 "argumentTypes": [
8009 {
8010 "typeIdentifier": "t_address",
8011 "typeString": "address"
8012 },
8013 {
8014 "typeIdentifier": "t_uint256",
8015 "typeString": "uint256"
8016 }
8017 ],
8018 "id": 12070,
8019 "name": "mint",
8020 "nodeType": "Identifier",
8021 "overloadedDeclarations": [],
8022 "referencedDeclaration": 12034,
8023 "src": "7898:4:38",
8024 "typeDescriptions": {
8025 "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
8026 "typeString": "function (address,uint256) returns (bool)"
8027 }
8028 },
8029 "id": 12073,
8030 "isConstant": false,
8031 "isLValue": false,
8032 "isPure": false,
8033 "kind": "functionCall",
8034 "lValueRequested": false,
8035 "names": [],
8036 "nodeType": "FunctionCall",
8037 "src": "7898:15:38",
8038 "typeDescriptions": {
8039 "typeIdentifier": "t_bool",
8040 "typeString": "bool"
8041 }
8042 },
8043 "id": 12074,
8044 "nodeType": "ExpressionStatement",
8045 "src": "7898:15:38"
8046 }
8047 ]
8048 },
8049 "documentation": null,
8050 "id": 12076,
8051 "implemented": true,
8052 "isConstructor": false,
8053 "isDeclaredConst": false,
8054 "modifiers": [],
8055 "name": "allocate",
8056 "nodeType": "FunctionDefinition",
8057 "parameters": {
8058 "id": 12068,
8059 "nodeType": "ParameterList",
8060 "parameters": [
8061 {
8062 "constant": false,
8063 "id": 12065,
8064 "name": "to",
8065 "nodeType": "VariableDeclaration",
8066 "scope": 12076,
8067 "src": "7857:10:38",
8068 "stateVariable": false,
8069 "storageLocation": "default",
8070 "typeDescriptions": {
8071 "typeIdentifier": "t_address",
8072 "typeString": "address"
8073 },
8074 "typeName": {
8075 "id": 12064,
8076 "name": "address",
8077 "nodeType": "ElementaryTypeName",
8078 "src": "7857:7:38",
8079 "typeDescriptions": {
8080 "typeIdentifier": "t_address",
8081 "typeString": "address"
8082 }
8083 },
8084 "value": null,
8085 "visibility": "internal"
8086 },
8087 {
8088 "constant": false,
8089 "id": 12067,
8090 "name": "amount",
8091 "nodeType": "VariableDeclaration",
8092 "scope": 12076,
8093 "src": "7869:11:38",
8094 "stateVariable": false,
8095 "storageLocation": "default",
8096 "typeDescriptions": {
8097 "typeIdentifier": "t_uint256",
8098 "typeString": "uint256"
8099 },
8100 "typeName": {
8101 "id": 12066,
8102 "name": "uint",
8103 "nodeType": "ElementaryTypeName",
8104 "src": "7869:4:38",
8105 "typeDescriptions": {
8106 "typeIdentifier": "t_uint256",
8107 "typeString": "uint256"
8108 }
8109 },
8110 "value": null,
8111 "visibility": "internal"
8112 }
8113 ],
8114 "src": "7856:25:38"
8115 },
8116 "payable": false,
8117 "returnParameters": {
8118 "id": 12069,
8119 "nodeType": "ParameterList",
8120 "parameters": [],
8121 "src": "7888:0:38"
8122 },
8123 "scope": 12077,
8124 "src": "7839:81:38",
8125 "stateMutability": "nonpayable",
8126 "superFunction": null,
8127 "visibility": "public"
8128 }
8129 ],
8130 "scope": 12078,
8131 "src": "7689:233:38"
8132 }
8133 ],
8134 "src": "0:7923:38"
8135 },
8136 "legacyAST": {
8137 "absolutePath": "/home/xv702/2zap/zap-ethereum-api/contracts/token/ZapToken.sol",
8138 "exportedSymbols": {
8139 "BasicToken": [
8140 11684
8141 ],
8142 "ERC20": [
8143 11611
8144 ],
8145 "ERC20Basic": [
8146 11571
8147 ],
8148 "MintableToken": [
8149 12052
8150 ],
8151 "Ownable": [
8152 11738
8153 ],
8154 "SafeMath": [
8155 11544
8156 ],
8157 "StandardToken": [
8158 11965
8159 ],
8160 "ZapToken": [
8161 12077
8162 ]
8163 },
8164 "id": 12078,
8165 "nodeType": "SourceUnit",
8166 "nodes": [
8167 {
8168 "id": 11451,
8169 "literals": [
8170 "solidity",
8171 "^",
8172 "0.4",
8173 ".24"
8174 ],
8175 "nodeType": "PragmaDirective",
8176 "src": "0:24:38"
8177 },
8178 {
8179 "baseContracts": [],
8180 "contractDependencies": [],
8181 "contractKind": "library",
8182 "documentation": null,
8183 "fullyImplemented": true,
8184 "id": 11544,
8185 "linearizedBaseContracts": [
8186 11544
8187 ],
8188 "name": "SafeMath",
8189 "nodeType": "ContractDefinition",
8190 "nodes": [
8191 {
8192 "body": {
8193 "id": 11480,
8194 "nodeType": "Block",
8195 "src": "116:90:38",
8196 "statements": [
8197 {
8198 "assignments": [
8199 11461
8200 ],
8201 "declarations": [
8202 {
8203 "constant": false,
8204 "id": 11461,
8205 "name": "c",
8206 "nodeType": "VariableDeclaration",
8207 "scope": 11481,
8208 "src": "126:9:38",
8209 "stateVariable": false,
8210 "storageLocation": "default",
8211 "typeDescriptions": {
8212 "typeIdentifier": "t_uint256",
8213 "typeString": "uint256"
8214 },
8215 "typeName": {
8216 "id": 11460,
8217 "name": "uint256",
8218 "nodeType": "ElementaryTypeName",
8219 "src": "126:7:38",
8220 "typeDescriptions": {
8221 "typeIdentifier": "t_uint256",
8222 "typeString": "uint256"
8223 }
8224 },
8225 "value": null,
8226 "visibility": "internal"
8227 }
8228 ],
8229 "id": 11465,
8230 "initialValue": {
8231 "argumentTypes": null,
8232 "commonType": {
8233 "typeIdentifier": "t_uint256",
8234 "typeString": "uint256"
8235 },
8236 "id": 11464,
8237 "isConstant": false,
8238 "isLValue": false,
8239 "isPure": false,
8240 "lValueRequested": false,
8241 "leftExpression": {
8242 "argumentTypes": null,
8243 "id": 11462,
8244 "name": "a",
8245 "nodeType": "Identifier",
8246 "overloadedDeclarations": [],
8247 "referencedDeclaration": 11453,
8248 "src": "138:1:38",
8249 "typeDescriptions": {
8250 "typeIdentifier": "t_uint256",
8251 "typeString": "uint256"
8252 }
8253 },
8254 "nodeType": "BinaryOperation",
8255 "operator": "*",
8256 "rightExpression": {
8257 "argumentTypes": null,
8258 "id": 11463,
8259 "name": "b",
8260 "nodeType": "Identifier",
8261 "overloadedDeclarations": [],
8262 "referencedDeclaration": 11455,
8263 "src": "142:1:38",
8264 "typeDescriptions": {
8265 "typeIdentifier": "t_uint256",
8266 "typeString": "uint256"
8267 }
8268 },
8269 "src": "138:5:38",
8270 "typeDescriptions": {
8271 "typeIdentifier": "t_uint256",
8272 "typeString": "uint256"
8273 }
8274 },
8275 "nodeType": "VariableDeclarationStatement",
8276 "src": "126:17:38"
8277 },
8278 {
8279 "expression": {
8280 "argumentTypes": null,
8281 "arguments": [
8282 {
8283 "argumentTypes": null,
8284 "commonType": {
8285 "typeIdentifier": "t_bool",
8286 "typeString": "bool"
8287 },
8288 "id": 11475,
8289 "isConstant": false,
8290 "isLValue": false,
8291 "isPure": false,
8292 "lValueRequested": false,
8293 "leftExpression": {
8294 "argumentTypes": null,
8295 "commonType": {
8296 "typeIdentifier": "t_uint256",
8297 "typeString": "uint256"
8298 },
8299 "id": 11469,
8300 "isConstant": false,
8301 "isLValue": false,
8302 "isPure": false,
8303 "lValueRequested": false,
8304 "leftExpression": {
8305 "argumentTypes": null,
8306 "id": 11467,
8307 "name": "a",
8308 "nodeType": "Identifier",
8309 "overloadedDeclarations": [],
8310 "referencedDeclaration": 11453,
8311 "src": "160:1:38",
8312 "typeDescriptions": {
8313 "typeIdentifier": "t_uint256",
8314 "typeString": "uint256"
8315 }
8316 },
8317 "nodeType": "BinaryOperation",
8318 "operator": "==",
8319 "rightExpression": {
8320 "argumentTypes": null,
8321 "hexValue": "30",
8322 "id": 11468,
8323 "isConstant": false,
8324 "isLValue": false,
8325 "isPure": true,
8326 "kind": "number",
8327 "lValueRequested": false,
8328 "nodeType": "Literal",
8329 "src": "165:1:38",
8330 "subdenomination": null,
8331 "typeDescriptions": {
8332 "typeIdentifier": "t_rational_0_by_1",
8333 "typeString": "int_const 0"
8334 },
8335 "value": "0"
8336 },
8337 "src": "160:6:38",
8338 "typeDescriptions": {
8339 "typeIdentifier": "t_bool",
8340 "typeString": "bool"
8341 }
8342 },
8343 "nodeType": "BinaryOperation",
8344 "operator": "||",
8345 "rightExpression": {
8346 "argumentTypes": null,
8347 "commonType": {
8348 "typeIdentifier": "t_uint256",
8349 "typeString": "uint256"
8350 },
8351 "id": 11474,
8352 "isConstant": false,
8353 "isLValue": false,
8354 "isPure": false,
8355 "lValueRequested": false,
8356 "leftExpression": {
8357 "argumentTypes": null,
8358 "commonType": {
8359 "typeIdentifier": "t_uint256",
8360 "typeString": "uint256"
8361 },
8362 "id": 11472,
8363 "isConstant": false,
8364 "isLValue": false,
8365 "isPure": false,
8366 "lValueRequested": false,
8367 "leftExpression": {
8368 "argumentTypes": null,
8369 "id": 11470,
8370 "name": "c",
8371 "nodeType": "Identifier",
8372 "overloadedDeclarations": [],
8373 "referencedDeclaration": 11461,
8374 "src": "170:1:38",
8375 "typeDescriptions": {
8376 "typeIdentifier": "t_uint256",
8377 "typeString": "uint256"
8378 }
8379 },
8380 "nodeType": "BinaryOperation",
8381 "operator": "/",
8382 "rightExpression": {
8383 "argumentTypes": null,
8384 "id": 11471,
8385 "name": "a",
8386 "nodeType": "Identifier",
8387 "overloadedDeclarations": [],
8388 "referencedDeclaration": 11453,
8389 "src": "174:1:38",
8390 "typeDescriptions": {
8391 "typeIdentifier": "t_uint256",
8392 "typeString": "uint256"
8393 }
8394 },
8395 "src": "170:5:38",
8396 "typeDescriptions": {
8397 "typeIdentifier": "t_uint256",
8398 "typeString": "uint256"
8399 }
8400 },
8401 "nodeType": "BinaryOperation",
8402 "operator": "==",
8403 "rightExpression": {
8404 "argumentTypes": null,
8405 "id": 11473,
8406 "name": "b",
8407 "nodeType": "Identifier",
8408 "overloadedDeclarations": [],
8409 "referencedDeclaration": 11455,
8410 "src": "179:1:38",
8411 "typeDescriptions": {
8412 "typeIdentifier": "t_uint256",
8413 "typeString": "uint256"
8414 }
8415 },
8416 "src": "170:10:38",
8417 "typeDescriptions": {
8418 "typeIdentifier": "t_bool",
8419 "typeString": "bool"
8420 }
8421 },
8422 "src": "160:20:38",
8423 "typeDescriptions": {
8424 "typeIdentifier": "t_bool",
8425 "typeString": "bool"
8426 }
8427 }
8428 ],
8429 "expression": {
8430 "argumentTypes": [
8431 {
8432 "typeIdentifier": "t_bool",
8433 "typeString": "bool"
8434 }
8435 ],
8436 "id": 11466,
8437 "name": "assert",
8438 "nodeType": "Identifier",
8439 "overloadedDeclarations": [],
8440 "referencedDeclaration": 12081,
8441 "src": "153:6:38",
8442 "typeDescriptions": {
8443 "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
8444 "typeString": "function (bool) pure"
8445 }
8446 },
8447 "id": 11476,
8448 "isConstant": false,
8449 "isLValue": false,
8450 "isPure": false,
8451 "kind": "functionCall",
8452 "lValueRequested": false,
8453 "names": [],
8454 "nodeType": "FunctionCall",
8455 "src": "153:28:38",
8456 "typeDescriptions": {
8457 "typeIdentifier": "t_tuple$__$",
8458 "typeString": "tuple()"
8459 }
8460 },
8461 "id": 11477,
8462 "nodeType": "ExpressionStatement",
8463 "src": "153:28:38"
8464 },
8465 {
8466 "expression": {
8467 "argumentTypes": null,
8468 "id": 11478,
8469 "name": "c",
8470 "nodeType": "Identifier",
8471 "overloadedDeclarations": [],
8472 "referencedDeclaration": 11461,
8473 "src": "198:1:38",
8474 "typeDescriptions": {
8475 "typeIdentifier": "t_uint256",
8476 "typeString": "uint256"
8477 }
8478 },
8479 "functionReturnParameters": 11459,
8480 "id": 11479,
8481 "nodeType": "Return",
8482 "src": "191:8:38"
8483 }
8484 ]
8485 },
8486 "documentation": null,
8487 "id": 11481,
8488 "implemented": true,
8489 "isConstructor": false,
8490 "isDeclaredConst": true,
8491 "modifiers": [],
8492 "name": "mul",
8493 "nodeType": "FunctionDefinition",
8494 "parameters": {
8495 "id": 11456,
8496 "nodeType": "ParameterList",
8497 "parameters": [
8498 {
8499 "constant": false,
8500 "id": 11453,
8501 "name": "a",
8502 "nodeType": "VariableDeclaration",
8503 "scope": 11481,
8504 "src": "62:9:38",
8505 "stateVariable": false,
8506 "storageLocation": "default",
8507 "typeDescriptions": {
8508 "typeIdentifier": "t_uint256",
8509 "typeString": "uint256"
8510 },
8511 "typeName": {
8512 "id": 11452,
8513 "name": "uint256",
8514 "nodeType": "ElementaryTypeName",
8515 "src": "62:7:38",
8516 "typeDescriptions": {
8517 "typeIdentifier": "t_uint256",
8518 "typeString": "uint256"
8519 }
8520 },
8521 "value": null,
8522 "visibility": "internal"
8523 },
8524 {
8525 "constant": false,
8526 "id": 11455,
8527 "name": "b",
8528 "nodeType": "VariableDeclaration",
8529 "scope": 11481,
8530 "src": "73:9:38",
8531 "stateVariable": false,
8532 "storageLocation": "default",
8533 "typeDescriptions": {
8534 "typeIdentifier": "t_uint256",
8535 "typeString": "uint256"
8536 },
8537 "typeName": {
8538 "id": 11454,
8539 "name": "uint256",
8540 "nodeType": "ElementaryTypeName",
8541 "src": "73:7:38",
8542 "typeDescriptions": {
8543 "typeIdentifier": "t_uint256",
8544 "typeString": "uint256"
8545 }
8546 },
8547 "value": null,
8548 "visibility": "internal"
8549 }
8550 ],
8551 "src": "61:22:38"
8552 },
8553 "payable": false,
8554 "returnParameters": {
8555 "id": 11459,
8556 "nodeType": "ParameterList",
8557 "parameters": [
8558 {
8559 "constant": false,
8560 "id": 11458,
8561 "name": "",
8562 "nodeType": "VariableDeclaration",
8563 "scope": 11481,
8564 "src": "107:7:38",
8565 "stateVariable": false,
8566 "storageLocation": "default",
8567 "typeDescriptions": {
8568 "typeIdentifier": "t_uint256",
8569 "typeString": "uint256"
8570 },
8571 "typeName": {
8572 "id": 11457,
8573 "name": "uint256",
8574 "nodeType": "ElementaryTypeName",
8575 "src": "107:7:38",
8576 "typeDescriptions": {
8577 "typeIdentifier": "t_uint256",
8578 "typeString": "uint256"
8579 }
8580 },
8581 "value": null,
8582 "visibility": "internal"
8583 }
8584 ],
8585 "src": "106:9:38"
8586 },
8587 "scope": 11544,
8588 "src": "49:157:38",
8589 "stateMutability": "pure",
8590 "superFunction": null,
8591 "visibility": "internal"
8592 },
8593 {
8594 "body": {
8595 "id": 11498,
8596 "nodeType": "Block",
8597 "src": "278:216:38",
8598 "statements": [
8599 {
8600 "assignments": [
8601 11491
8602 ],
8603 "declarations": [
8604 {
8605 "constant": false,
8606 "id": 11491,
8607 "name": "c",
8608 "nodeType": "VariableDeclaration",
8609 "scope": 11499,
8610 "src": "366:9:38",
8611 "stateVariable": false,
8612 "storageLocation": "default",
8613 "typeDescriptions": {
8614 "typeIdentifier": "t_uint256",
8615 "typeString": "uint256"
8616 },
8617 "typeName": {
8618 "id": 11490,
8619 "name": "uint256",
8620 "nodeType": "ElementaryTypeName",
8621 "src": "366:7:38",
8622 "typeDescriptions": {
8623 "typeIdentifier": "t_uint256",
8624 "typeString": "uint256"
8625 }
8626 },
8627 "value": null,
8628 "visibility": "internal"
8629 }
8630 ],
8631 "id": 11495,
8632 "initialValue": {
8633 "argumentTypes": null,
8634 "commonType": {
8635 "typeIdentifier": "t_uint256",
8636 "typeString": "uint256"
8637 },
8638 "id": 11494,
8639 "isConstant": false,
8640 "isLValue": false,
8641 "isPure": false,
8642 "lValueRequested": false,
8643 "leftExpression": {
8644 "argumentTypes": null,
8645 "id": 11492,
8646 "name": "a",
8647 "nodeType": "Identifier",
8648 "overloadedDeclarations": [],
8649 "referencedDeclaration": 11483,
8650 "src": "378:1:38",
8651 "typeDescriptions": {
8652 "typeIdentifier": "t_uint256",
8653 "typeString": "uint256"
8654 }
8655 },
8656 "nodeType": "BinaryOperation",
8657 "operator": "/",
8658 "rightExpression": {
8659 "argumentTypes": null,
8660 "id": 11493,
8661 "name": "b",
8662 "nodeType": "Identifier",
8663 "overloadedDeclarations": [],
8664 "referencedDeclaration": 11485,
8665 "src": "382:1:38",
8666 "typeDescriptions": {
8667 "typeIdentifier": "t_uint256",
8668 "typeString": "uint256"
8669 }
8670 },
8671 "src": "378:5:38",
8672 "typeDescriptions": {
8673 "typeIdentifier": "t_uint256",
8674 "typeString": "uint256"
8675 }
8676 },
8677 "nodeType": "VariableDeclarationStatement",
8678 "src": "366:17:38"
8679 },
8680 {
8681 "expression": {
8682 "argumentTypes": null,
8683 "id": 11496,
8684 "name": "c",
8685 "nodeType": "Identifier",
8686 "overloadedDeclarations": [],
8687 "referencedDeclaration": 11491,
8688 "src": "486:1:38",
8689 "typeDescriptions": {
8690 "typeIdentifier": "t_uint256",
8691 "typeString": "uint256"
8692 }
8693 },
8694 "functionReturnParameters": 11489,
8695 "id": 11497,
8696 "nodeType": "Return",
8697 "src": "479:8:38"
8698 }
8699 ]
8700 },
8701 "documentation": null,
8702 "id": 11499,
8703 "implemented": true,
8704 "isConstructor": false,
8705 "isDeclaredConst": true,
8706 "modifiers": [],
8707 "name": "div",
8708 "nodeType": "FunctionDefinition",
8709 "parameters": {
8710 "id": 11486,
8711 "nodeType": "ParameterList",
8712 "parameters": [
8713 {
8714 "constant": false,
8715 "id": 11483,
8716 "name": "a",
8717 "nodeType": "VariableDeclaration",
8718 "scope": 11499,
8719 "src": "224:9:38",
8720 "stateVariable": false,
8721 "storageLocation": "default",
8722 "typeDescriptions": {
8723 "typeIdentifier": "t_uint256",
8724 "typeString": "uint256"
8725 },
8726 "typeName": {
8727 "id": 11482,
8728 "name": "uint256",
8729 "nodeType": "ElementaryTypeName",
8730 "src": "224:7:38",
8731 "typeDescriptions": {
8732 "typeIdentifier": "t_uint256",
8733 "typeString": "uint256"
8734 }
8735 },
8736 "value": null,
8737 "visibility": "internal"
8738 },
8739 {
8740 "constant": false,
8741 "id": 11485,
8742 "name": "b",
8743 "nodeType": "VariableDeclaration",
8744 "scope": 11499,
8745 "src": "235:9:38",
8746 "stateVariable": false,
8747 "storageLocation": "default",
8748 "typeDescriptions": {
8749 "typeIdentifier": "t_uint256",
8750 "typeString": "uint256"
8751 },
8752 "typeName": {
8753 "id": 11484,
8754 "name": "uint256",
8755 "nodeType": "ElementaryTypeName",
8756 "src": "235:7:38",
8757 "typeDescriptions": {
8758 "typeIdentifier": "t_uint256",
8759 "typeString": "uint256"
8760 }
8761 },
8762 "value": null,
8763 "visibility": "internal"
8764 }
8765 ],
8766 "src": "223:22:38"
8767 },
8768 "payable": false,
8769 "returnParameters": {
8770 "id": 11489,
8771 "nodeType": "ParameterList",
8772 "parameters": [
8773 {
8774 "constant": false,
8775 "id": 11488,
8776 "name": "",
8777 "nodeType": "VariableDeclaration",
8778 "scope": 11499,
8779 "src": "269:7:38",
8780 "stateVariable": false,
8781 "storageLocation": "default",
8782 "typeDescriptions": {
8783 "typeIdentifier": "t_uint256",
8784 "typeString": "uint256"
8785 },
8786 "typeName": {
8787 "id": 11487,
8788 "name": "uint256",
8789 "nodeType": "ElementaryTypeName",
8790 "src": "269:7:38",
8791 "typeDescriptions": {
8792 "typeIdentifier": "t_uint256",
8793 "typeString": "uint256"
8794 }
8795 },
8796 "value": null,
8797 "visibility": "internal"
8798 }
8799 ],
8800 "src": "268:9:38"
8801 },
8802 "scope": 11544,
8803 "src": "211:283:38",
8804 "stateMutability": "pure",
8805 "superFunction": null,
8806 "visibility": "internal"
8807 },
8808 {
8809 "body": {
8810 "id": 11518,
8811 "nodeType": "Block",
8812 "src": "566:53:38",
8813 "statements": [
8814 {
8815 "expression": {
8816 "argumentTypes": null,
8817 "arguments": [
8818 {
8819 "argumentTypes": null,
8820 "commonType": {
8821 "typeIdentifier": "t_uint256",
8822 "typeString": "uint256"
8823 },
8824 "id": 11511,
8825 "isConstant": false,
8826 "isLValue": false,
8827 "isPure": false,
8828 "lValueRequested": false,
8829 "leftExpression": {
8830 "argumentTypes": null,
8831 "id": 11509,
8832 "name": "b",
8833 "nodeType": "Identifier",
8834 "overloadedDeclarations": [],
8835 "referencedDeclaration": 11503,
8836 "src": "583:1:38",
8837 "typeDescriptions": {
8838 "typeIdentifier": "t_uint256",
8839 "typeString": "uint256"
8840 }
8841 },
8842 "nodeType": "BinaryOperation",
8843 "operator": "<=",
8844 "rightExpression": {
8845 "argumentTypes": null,
8846 "id": 11510,
8847 "name": "a",
8848 "nodeType": "Identifier",
8849 "overloadedDeclarations": [],
8850 "referencedDeclaration": 11501,
8851 "src": "588:1:38",
8852 "typeDescriptions": {
8853 "typeIdentifier": "t_uint256",
8854 "typeString": "uint256"
8855 }
8856 },
8857 "src": "583:6:38",
8858 "typeDescriptions": {
8859 "typeIdentifier": "t_bool",
8860 "typeString": "bool"
8861 }
8862 }
8863 ],
8864 "expression": {
8865 "argumentTypes": [
8866 {
8867 "typeIdentifier": "t_bool",
8868 "typeString": "bool"
8869 }
8870 ],
8871 "id": 11508,
8872 "name": "assert",
8873 "nodeType": "Identifier",
8874 "overloadedDeclarations": [],
8875 "referencedDeclaration": 12081,
8876 "src": "576:6:38",
8877 "typeDescriptions": {
8878 "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
8879 "typeString": "function (bool) pure"
8880 }
8881 },
8882 "id": 11512,
8883 "isConstant": false,
8884 "isLValue": false,
8885 "isPure": false,
8886 "kind": "functionCall",
8887 "lValueRequested": false,
8888 "names": [],
8889 "nodeType": "FunctionCall",
8890 "src": "576:14:38",
8891 "typeDescriptions": {
8892 "typeIdentifier": "t_tuple$__$",
8893 "typeString": "tuple()"
8894 }
8895 },
8896 "id": 11513,
8897 "nodeType": "ExpressionStatement",
8898 "src": "576:14:38"
8899 },
8900 {
8901 "expression": {
8902 "argumentTypes": null,
8903 "commonType": {
8904 "typeIdentifier": "t_uint256",
8905 "typeString": "uint256"
8906 },
8907 "id": 11516,
8908 "isConstant": false,
8909 "isLValue": false,
8910 "isPure": false,
8911 "lValueRequested": false,
8912 "leftExpression": {
8913 "argumentTypes": null,
8914 "id": 11514,
8915 "name": "a",
8916 "nodeType": "Identifier",
8917 "overloadedDeclarations": [],
8918 "referencedDeclaration": 11501,
8919 "src": "607:1:38",
8920 "typeDescriptions": {
8921 "typeIdentifier": "t_uint256",
8922 "typeString": "uint256"
8923 }
8924 },
8925 "nodeType": "BinaryOperation",
8926 "operator": "-",
8927 "rightExpression": {
8928 "argumentTypes": null,
8929 "id": 11515,
8930 "name": "b",
8931 "nodeType": "Identifier",
8932 "overloadedDeclarations": [],
8933 "referencedDeclaration": 11503,
8934 "src": "611:1:38",
8935 "typeDescriptions": {
8936 "typeIdentifier": "t_uint256",
8937 "typeString": "uint256"
8938 }
8939 },
8940 "src": "607:5:38",
8941 "typeDescriptions": {
8942 "typeIdentifier": "t_uint256",
8943 "typeString": "uint256"
8944 }
8945 },
8946 "functionReturnParameters": 11507,
8947 "id": 11517,
8948 "nodeType": "Return",
8949 "src": "600:12:38"
8950 }
8951 ]
8952 },
8953 "documentation": null,
8954 "id": 11519,
8955 "implemented": true,
8956 "isConstructor": false,
8957 "isDeclaredConst": true,
8958 "modifiers": [],
8959 "name": "sub",
8960 "nodeType": "FunctionDefinition",
8961 "parameters": {
8962 "id": 11504,
8963 "nodeType": "ParameterList",
8964 "parameters": [
8965 {
8966 "constant": false,
8967 "id": 11501,
8968 "name": "a",
8969 "nodeType": "VariableDeclaration",
8970 "scope": 11519,
8971 "src": "512:9:38",
8972 "stateVariable": false,
8973 "storageLocation": "default",
8974 "typeDescriptions": {
8975 "typeIdentifier": "t_uint256",
8976 "typeString": "uint256"
8977 },
8978 "typeName": {
8979 "id": 11500,
8980 "name": "uint256",
8981 "nodeType": "ElementaryTypeName",
8982 "src": "512:7:38",
8983 "typeDescriptions": {
8984 "typeIdentifier": "t_uint256",
8985 "typeString": "uint256"
8986 }
8987 },
8988 "value": null,
8989 "visibility": "internal"
8990 },
8991 {
8992 "constant": false,
8993 "id": 11503,
8994 "name": "b",
8995 "nodeType": "VariableDeclaration",
8996 "scope": 11519,
8997 "src": "523:9:38",
8998 "stateVariable": false,
8999 "storageLocation": "default",
9000 "typeDescriptions": {
9001 "typeIdentifier": "t_uint256",
9002 "typeString": "uint256"
9003 },
9004 "typeName": {
9005 "id": 11502,
9006 "name": "uint256",
9007 "nodeType": "ElementaryTypeName",
9008 "src": "523:7:38",
9009 "typeDescriptions": {
9010 "typeIdentifier": "t_uint256",
9011 "typeString": "uint256"
9012 }
9013 },
9014 "value": null,
9015 "visibility": "internal"
9016 }
9017 ],
9018 "src": "511:22:38"
9019 },
9020 "payable": false,
9021 "returnParameters": {
9022 "id": 11507,
9023 "nodeType": "ParameterList",
9024 "parameters": [
9025 {
9026 "constant": false,
9027 "id": 11506,
9028 "name": "",
9029 "nodeType": "VariableDeclaration",
9030 "scope": 11519,
9031 "src": "557:7:38",
9032 "stateVariable": false,
9033 "storageLocation": "default",
9034 "typeDescriptions": {
9035 "typeIdentifier": "t_uint256",
9036 "typeString": "uint256"
9037 },
9038 "typeName": {
9039 "id": 11505,
9040 "name": "uint256",
9041 "nodeType": "ElementaryTypeName",
9042 "src": "557:7:38",
9043 "typeDescriptions": {
9044 "typeIdentifier": "t_uint256",
9045 "typeString": "uint256"
9046 }
9047 },
9048 "value": null,
9049 "visibility": "internal"
9050 }
9051 ],
9052 "src": "556:9:38"
9053 },
9054 "scope": 11544,
9055 "src": "499:120:38",
9056 "stateMutability": "pure",
9057 "superFunction": null,
9058 "visibility": "internal"
9059 },
9060 {
9061 "body": {
9062 "id": 11542,
9063 "nodeType": "Block",
9064 "src": "691:76:38",
9065 "statements": [
9066 {
9067 "assignments": [
9068 11529
9069 ],
9070 "declarations": [
9071 {
9072 "constant": false,
9073 "id": 11529,
9074 "name": "c",
9075 "nodeType": "VariableDeclaration",
9076 "scope": 11543,
9077 "src": "701:9:38",
9078 "stateVariable": false,
9079 "storageLocation": "default",
9080 "typeDescriptions": {
9081 "typeIdentifier": "t_uint256",
9082 "typeString": "uint256"
9083 },
9084 "typeName": {
9085 "id": 11528,
9086 "name": "uint256",
9087 "nodeType": "ElementaryTypeName",
9088 "src": "701:7:38",
9089 "typeDescriptions": {
9090 "typeIdentifier": "t_uint256",
9091 "typeString": "uint256"
9092 }
9093 },
9094 "value": null,
9095 "visibility": "internal"
9096 }
9097 ],
9098 "id": 11533,
9099 "initialValue": {
9100 "argumentTypes": null,
9101 "commonType": {
9102 "typeIdentifier": "t_uint256",
9103 "typeString": "uint256"
9104 },
9105 "id": 11532,
9106 "isConstant": false,
9107 "isLValue": false,
9108 "isPure": false,
9109 "lValueRequested": false,
9110 "leftExpression": {
9111 "argumentTypes": null,
9112 "id": 11530,
9113 "name": "a",
9114 "nodeType": "Identifier",
9115 "overloadedDeclarations": [],
9116 "referencedDeclaration": 11521,
9117 "src": "713:1:38",
9118 "typeDescriptions": {
9119 "typeIdentifier": "t_uint256",
9120 "typeString": "uint256"
9121 }
9122 },
9123 "nodeType": "BinaryOperation",
9124 "operator": "+",
9125 "rightExpression": {
9126 "argumentTypes": null,
9127 "id": 11531,
9128 "name": "b",
9129 "nodeType": "Identifier",
9130 "overloadedDeclarations": [],
9131 "referencedDeclaration": 11523,
9132 "src": "717:1:38",
9133 "typeDescriptions": {
9134 "typeIdentifier": "t_uint256",
9135 "typeString": "uint256"
9136 }
9137 },
9138 "src": "713:5:38",
9139 "typeDescriptions": {
9140 "typeIdentifier": "t_uint256",
9141 "typeString": "uint256"
9142 }
9143 },
9144 "nodeType": "VariableDeclarationStatement",
9145 "src": "701:17:38"
9146 },
9147 {
9148 "expression": {
9149 "argumentTypes": null,
9150 "arguments": [
9151 {
9152 "argumentTypes": null,
9153 "commonType": {
9154 "typeIdentifier": "t_uint256",
9155 "typeString": "uint256"
9156 },
9157 "id": 11537,
9158 "isConstant": false,
9159 "isLValue": false,
9160 "isPure": false,
9161 "lValueRequested": false,
9162 "leftExpression": {
9163 "argumentTypes": null,
9164 "id": 11535,
9165 "name": "c",
9166 "nodeType": "Identifier",
9167 "overloadedDeclarations": [],
9168 "referencedDeclaration": 11529,
9169 "src": "735:1:38",
9170 "typeDescriptions": {
9171 "typeIdentifier": "t_uint256",
9172 "typeString": "uint256"
9173 }
9174 },
9175 "nodeType": "BinaryOperation",
9176 "operator": ">=",
9177 "rightExpression": {
9178 "argumentTypes": null,
9179 "id": 11536,
9180 "name": "a",
9181 "nodeType": "Identifier",
9182 "overloadedDeclarations": [],
9183 "referencedDeclaration": 11521,
9184 "src": "740:1:38",
9185 "typeDescriptions": {
9186 "typeIdentifier": "t_uint256",
9187 "typeString": "uint256"
9188 }
9189 },
9190 "src": "735:6:38",
9191 "typeDescriptions": {
9192 "typeIdentifier": "t_bool",
9193 "typeString": "bool"
9194 }
9195 }
9196 ],
9197 "expression": {
9198 "argumentTypes": [
9199 {
9200 "typeIdentifier": "t_bool",
9201 "typeString": "bool"
9202 }
9203 ],
9204 "id": 11534,
9205 "name": "assert",
9206 "nodeType": "Identifier",
9207 "overloadedDeclarations": [],
9208 "referencedDeclaration": 12081,
9209 "src": "728:6:38",
9210 "typeDescriptions": {
9211 "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
9212 "typeString": "function (bool) pure"
9213 }
9214 },
9215 "id": 11538,
9216 "isConstant": false,
9217 "isLValue": false,
9218 "isPure": false,
9219 "kind": "functionCall",
9220 "lValueRequested": false,
9221 "names": [],
9222 "nodeType": "FunctionCall",
9223 "src": "728:14:38",
9224 "typeDescriptions": {
9225 "typeIdentifier": "t_tuple$__$",
9226 "typeString": "tuple()"
9227 }
9228 },
9229 "id": 11539,
9230 "nodeType": "ExpressionStatement",
9231 "src": "728:14:38"
9232 },
9233 {
9234 "expression": {
9235 "argumentTypes": null,
9236 "id": 11540,
9237 "name": "c",
9238 "nodeType": "Identifier",
9239 "overloadedDeclarations": [],
9240 "referencedDeclaration": 11529,
9241 "src": "759:1:38",
9242 "typeDescriptions": {
9243 "typeIdentifier": "t_uint256",
9244 "typeString": "uint256"
9245 }
9246 },
9247 "functionReturnParameters": 11527,
9248 "id": 11541,
9249 "nodeType": "Return",
9250 "src": "752:8:38"
9251 }
9252 ]
9253 },
9254 "documentation": null,
9255 "id": 11543,
9256 "implemented": true,
9257 "isConstructor": false,
9258 "isDeclaredConst": true,
9259 "modifiers": [],
9260 "name": "add",
9261 "nodeType": "FunctionDefinition",
9262 "parameters": {
9263 "id": 11524,
9264 "nodeType": "ParameterList",
9265 "parameters": [
9266 {
9267 "constant": false,
9268 "id": 11521,
9269 "name": "a",
9270 "nodeType": "VariableDeclaration",
9271 "scope": 11543,
9272 "src": "637:9:38",
9273 "stateVariable": false,
9274 "storageLocation": "default",
9275 "typeDescriptions": {
9276 "typeIdentifier": "t_uint256",
9277 "typeString": "uint256"
9278 },
9279 "typeName": {
9280 "id": 11520,
9281 "name": "uint256",
9282 "nodeType": "ElementaryTypeName",
9283 "src": "637:7:38",
9284 "typeDescriptions": {
9285 "typeIdentifier": "t_uint256",
9286 "typeString": "uint256"
9287 }
9288 },
9289 "value": null,
9290 "visibility": "internal"
9291 },
9292 {
9293 "constant": false,
9294 "id": 11523,
9295 "name": "b",
9296 "nodeType": "VariableDeclaration",
9297 "scope": 11543,
9298 "src": "648:9:38",
9299 "stateVariable": false,
9300 "storageLocation": "default",
9301 "typeDescriptions": {
9302 "typeIdentifier": "t_uint256",
9303 "typeString": "uint256"
9304 },
9305 "typeName": {
9306 "id": 11522,
9307 "name": "uint256",
9308 "nodeType": "ElementaryTypeName",
9309 "src": "648:7:38",
9310 "typeDescriptions": {
9311 "typeIdentifier": "t_uint256",
9312 "typeString": "uint256"
9313 }
9314 },
9315 "value": null,
9316 "visibility": "internal"
9317 }
9318 ],
9319 "src": "636:22:38"
9320 },
9321 "payable": false,
9322 "returnParameters": {
9323 "id": 11527,
9324 "nodeType": "ParameterList",
9325 "parameters": [
9326 {
9327 "constant": false,
9328 "id": 11526,
9329 "name": "",
9330 "nodeType": "VariableDeclaration",
9331 "scope": 11543,
9332 "src": "682:7:38",
9333 "stateVariable": false,
9334 "storageLocation": "default",
9335 "typeDescriptions": {
9336 "typeIdentifier": "t_uint256",
9337 "typeString": "uint256"
9338 },
9339 "typeName": {
9340 "id": 11525,
9341 "name": "uint256",
9342 "nodeType": "ElementaryTypeName",
9343 "src": "682:7:38",
9344 "typeDescriptions": {
9345 "typeIdentifier": "t_uint256",
9346 "typeString": "uint256"
9347 }
9348 },
9349 "value": null,
9350 "visibility": "internal"
9351 }
9352 ],
9353 "src": "681:9:38"
9354 },
9355 "scope": 11544,
9356 "src": "624:143:38",
9357 "stateMutability": "pure",
9358 "superFunction": null,
9359 "visibility": "internal"
9360 }
9361 ],
9362 "scope": 12078,
9363 "src": "26:743:38"
9364 },
9365 {
9366 "baseContracts": [],
9367 "contractDependencies": [],
9368 "contractKind": "contract",
9369 "documentation": null,
9370 "fullyImplemented": false,
9371 "id": 11571,
9372 "linearizedBaseContracts": [
9373 11571
9374 ],
9375 "name": "ERC20Basic",
9376 "nodeType": "ContractDefinition",
9377 "nodes": [
9378 {
9379 "constant": false,
9380 "id": 11546,
9381 "name": "totalSupply",
9382 "nodeType": "VariableDeclaration",
9383 "scope": 11571,
9384 "src": "797:26:38",
9385 "stateVariable": true,
9386 "storageLocation": "default",
9387 "typeDescriptions": {
9388 "typeIdentifier": "t_uint256",
9389 "typeString": "uint256"
9390 },
9391 "typeName": {
9392 "id": 11545,
9393 "name": "uint256",
9394 "nodeType": "ElementaryTypeName",
9395 "src": "797:7:38",
9396 "typeDescriptions": {
9397 "typeIdentifier": "t_uint256",
9398 "typeString": "uint256"
9399 }
9400 },
9401 "value": null,
9402 "visibility": "public"
9403 },
9404 {
9405 "body": null,
9406 "documentation": null,
9407 "id": 11553,
9408 "implemented": false,
9409 "isConstructor": false,
9410 "isDeclaredConst": true,
9411 "modifiers": [],
9412 "name": "balanceOf",
9413 "nodeType": "FunctionDefinition",
9414 "parameters": {
9415 "id": 11549,
9416 "nodeType": "ParameterList",
9417 "parameters": [
9418 {
9419 "constant": false,
9420 "id": 11548,
9421 "name": "who",
9422 "nodeType": "VariableDeclaration",
9423 "scope": 11553,
9424 "src": "848:11:38",
9425 "stateVariable": false,
9426 "storageLocation": "default",
9427 "typeDescriptions": {
9428 "typeIdentifier": "t_address",
9429 "typeString": "address"
9430 },
9431 "typeName": {
9432 "id": 11547,
9433 "name": "address",
9434 "nodeType": "ElementaryTypeName",
9435 "src": "848:7:38",
9436 "typeDescriptions": {
9437 "typeIdentifier": "t_address",
9438 "typeString": "address"
9439 }
9440 },
9441 "value": null,
9442 "visibility": "internal"
9443 }
9444 ],
9445 "src": "847:13:38"
9446 },
9447 "payable": false,
9448 "returnParameters": {
9449 "id": 11552,
9450 "nodeType": "ParameterList",
9451 "parameters": [
9452 {
9453 "constant": false,
9454 "id": 11551,
9455 "name": "",
9456 "nodeType": "VariableDeclaration",
9457 "scope": 11553,
9458 "src": "886:7:38",
9459 "stateVariable": false,
9460 "storageLocation": "default",
9461 "typeDescriptions": {
9462 "typeIdentifier": "t_uint256",
9463 "typeString": "uint256"
9464 },
9465 "typeName": {
9466 "id": 11550,
9467 "name": "uint256",
9468 "nodeType": "ElementaryTypeName",
9469 "src": "886:7:38",
9470 "typeDescriptions": {
9471 "typeIdentifier": "t_uint256",
9472 "typeString": "uint256"
9473 }
9474 },
9475 "value": null,
9476 "visibility": "internal"
9477 }
9478 ],
9479 "src": "885:9:38"
9480 },
9481 "scope": 11571,
9482 "src": "829:66:38",
9483 "stateMutability": "view",
9484 "superFunction": null,
9485 "visibility": "public"
9486 },
9487 {
9488 "body": null,
9489 "documentation": null,
9490 "id": 11562,
9491 "implemented": false,
9492 "isConstructor": false,
9493 "isDeclaredConst": false,
9494 "modifiers": [],
9495 "name": "transfer",
9496 "nodeType": "FunctionDefinition",
9497 "parameters": {
9498 "id": 11558,
9499 "nodeType": "ParameterList",
9500 "parameters": [
9501 {
9502 "constant": false,
9503 "id": 11555,
9504 "name": "to",
9505 "nodeType": "VariableDeclaration",
9506 "scope": 11562,
9507 "src": "918:10:38",
9508 "stateVariable": false,
9509 "storageLocation": "default",
9510 "typeDescriptions": {
9511 "typeIdentifier": "t_address",
9512 "typeString": "address"
9513 },
9514 "typeName": {
9515 "id": 11554,
9516 "name": "address",
9517 "nodeType": "ElementaryTypeName",
9518 "src": "918:7:38",
9519 "typeDescriptions": {
9520 "typeIdentifier": "t_address",
9521 "typeString": "address"
9522 }
9523 },
9524 "value": null,
9525 "visibility": "internal"
9526 },
9527 {
9528 "constant": false,
9529 "id": 11557,
9530 "name": "value",
9531 "nodeType": "VariableDeclaration",
9532 "scope": 11562,
9533 "src": "930:13:38",
9534 "stateVariable": false,
9535 "storageLocation": "default",
9536 "typeDescriptions": {
9537 "typeIdentifier": "t_uint256",
9538 "typeString": "uint256"
9539 },
9540 "typeName": {
9541 "id": 11556,
9542 "name": "uint256",
9543 "nodeType": "ElementaryTypeName",
9544 "src": "930:7:38",
9545 "typeDescriptions": {
9546 "typeIdentifier": "t_uint256",
9547 "typeString": "uint256"
9548 }
9549 },
9550 "value": null,
9551 "visibility": "internal"
9552 }
9553 ],
9554 "src": "917:27:38"
9555 },
9556 "payable": false,
9557 "returnParameters": {
9558 "id": 11561,
9559 "nodeType": "ParameterList",
9560 "parameters": [
9561 {
9562 "constant": false,
9563 "id": 11560,
9564 "name": "",
9565 "nodeType": "VariableDeclaration",
9566 "scope": 11562,
9567 "src": "961:4:38",
9568 "stateVariable": false,
9569 "storageLocation": "default",
9570 "typeDescriptions": {
9571 "typeIdentifier": "t_bool",
9572 "typeString": "bool"
9573 },
9574 "typeName": {
9575 "id": 11559,
9576 "name": "bool",
9577 "nodeType": "ElementaryTypeName",
9578 "src": "961:4:38",
9579 "typeDescriptions": {
9580 "typeIdentifier": "t_bool",
9581 "typeString": "bool"
9582 }
9583 },
9584 "value": null,
9585 "visibility": "internal"
9586 }
9587 ],
9588 "src": "960:6:38"
9589 },
9590 "scope": 11571,
9591 "src": "900:67:38",
9592 "stateMutability": "nonpayable",
9593 "superFunction": null,
9594 "visibility": "public"
9595 },
9596 {
9597 "anonymous": false,
9598 "documentation": null,
9599 "id": 11570,
9600 "name": "Transfer",
9601 "nodeType": "EventDefinition",
9602 "parameters": {
9603 "id": 11569,
9604 "nodeType": "ParameterList",
9605 "parameters": [
9606 {
9607 "constant": false,
9608 "id": 11564,
9609 "indexed": true,
9610 "name": "from",
9611 "nodeType": "VariableDeclaration",
9612 "scope": 11570,
9613 "src": "987:20:38",
9614 "stateVariable": false,
9615 "storageLocation": "default",
9616 "typeDescriptions": {
9617 "typeIdentifier": "t_address",
9618 "typeString": "address"
9619 },
9620 "typeName": {
9621 "id": 11563,
9622 "name": "address",
9623 "nodeType": "ElementaryTypeName",
9624 "src": "987:7:38",
9625 "typeDescriptions": {
9626 "typeIdentifier": "t_address",
9627 "typeString": "address"
9628 }
9629 },
9630 "value": null,
9631 "visibility": "internal"
9632 },
9633 {
9634 "constant": false,
9635 "id": 11566,
9636 "indexed": true,
9637 "name": "to",
9638 "nodeType": "VariableDeclaration",
9639 "scope": 11570,
9640 "src": "1009:18:38",
9641 "stateVariable": false,
9642 "storageLocation": "default",
9643 "typeDescriptions": {
9644 "typeIdentifier": "t_address",
9645 "typeString": "address"
9646 },
9647 "typeName": {
9648 "id": 11565,
9649 "name": "address",
9650 "nodeType": "ElementaryTypeName",
9651 "src": "1009:7:38",
9652 "typeDescriptions": {
9653 "typeIdentifier": "t_address",
9654 "typeString": "address"
9655 }
9656 },
9657 "value": null,
9658 "visibility": "internal"
9659 },
9660 {
9661 "constant": false,
9662 "id": 11568,
9663 "indexed": false,
9664 "name": "value",
9665 "nodeType": "VariableDeclaration",
9666 "scope": 11570,
9667 "src": "1029:13:38",
9668 "stateVariable": false,
9669 "storageLocation": "default",
9670 "typeDescriptions": {
9671 "typeIdentifier": "t_uint256",
9672 "typeString": "uint256"
9673 },
9674 "typeName": {
9675 "id": 11567,
9676 "name": "uint256",
9677 "nodeType": "ElementaryTypeName",
9678 "src": "1029:7:38",
9679 "typeDescriptions": {
9680 "typeIdentifier": "t_uint256",
9681 "typeString": "uint256"
9682 }
9683 },
9684 "value": null,
9685 "visibility": "internal"
9686 }
9687 ],
9688 "src": "986:57:38"
9689 },
9690 "src": "972:72:38"
9691 }
9692 ],
9693 "scope": 12078,
9694 "src": "771:275:38"
9695 },
9696 {
9697 "baseContracts": [
9698 {
9699 "arguments": null,
9700 "baseName": {
9701 "contractScope": null,
9702 "id": 11572,
9703 "name": "ERC20Basic",
9704 "nodeType": "UserDefinedTypeName",
9705 "referencedDeclaration": 11571,
9706 "src": "1155:10:38",
9707 "typeDescriptions": {
9708 "typeIdentifier": "t_contract$_ERC20Basic_$11571",
9709 "typeString": "contract ERC20Basic"
9710 }
9711 },
9712 "id": 11573,
9713 "nodeType": "InheritanceSpecifier",
9714 "src": "1155:10:38"
9715 }
9716 ],
9717 "contractDependencies": [
9718 11571
9719 ],
9720 "contractKind": "contract",
9721 "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20",
9722 "fullyImplemented": false,
9723 "id": 11611,
9724 "linearizedBaseContracts": [
9725 11611,
9726 11571
9727 ],
9728 "name": "ERC20",
9729 "nodeType": "ContractDefinition",
9730 "nodes": [
9731 {
9732 "body": null,
9733 "documentation": null,
9734 "id": 11582,
9735 "implemented": false,
9736 "isConstructor": false,
9737 "isDeclaredConst": true,
9738 "modifiers": [],
9739 "name": "allowance",
9740 "nodeType": "FunctionDefinition",
9741 "parameters": {
9742 "id": 11578,
9743 "nodeType": "ParameterList",
9744 "parameters": [
9745 {
9746 "constant": false,
9747 "id": 11575,
9748 "name": "owner",
9749 "nodeType": "VariableDeclaration",
9750 "scope": 11582,
9751 "src": "1191:13:38",
9752 "stateVariable": false,
9753 "storageLocation": "default",
9754 "typeDescriptions": {
9755 "typeIdentifier": "t_address",
9756 "typeString": "address"
9757 },
9758 "typeName": {
9759 "id": 11574,
9760 "name": "address",
9761 "nodeType": "ElementaryTypeName",
9762 "src": "1191:7:38",
9763 "typeDescriptions": {
9764 "typeIdentifier": "t_address",
9765 "typeString": "address"
9766 }
9767 },
9768 "value": null,
9769 "visibility": "internal"
9770 },
9771 {
9772 "constant": false,
9773 "id": 11577,
9774 "name": "spender",
9775 "nodeType": "VariableDeclaration",
9776 "scope": 11582,
9777 "src": "1206:15:38",
9778 "stateVariable": false,
9779 "storageLocation": "default",
9780 "typeDescriptions": {
9781 "typeIdentifier": "t_address",
9782 "typeString": "address"
9783 },
9784 "typeName": {
9785 "id": 11576,
9786 "name": "address",
9787 "nodeType": "ElementaryTypeName",
9788 "src": "1206:7:38",
9789 "typeDescriptions": {
9790 "typeIdentifier": "t_address",
9791 "typeString": "address"
9792 }
9793 },
9794 "value": null,
9795 "visibility": "internal"
9796 }
9797 ],
9798 "src": "1190:32:38"
9799 },
9800 "payable": false,
9801 "returnParameters": {
9802 "id": 11581,
9803 "nodeType": "ParameterList",
9804 "parameters": [
9805 {
9806 "constant": false,
9807 "id": 11580,
9808 "name": "",
9809 "nodeType": "VariableDeclaration",
9810 "scope": 11582,
9811 "src": "1248:7:38",
9812 "stateVariable": false,
9813 "storageLocation": "default",
9814 "typeDescriptions": {
9815 "typeIdentifier": "t_uint256",
9816 "typeString": "uint256"
9817 },
9818 "typeName": {
9819 "id": 11579,
9820 "name": "uint256",
9821 "nodeType": "ElementaryTypeName",
9822 "src": "1248:7:38",
9823 "typeDescriptions": {
9824 "typeIdentifier": "t_uint256",
9825 "typeString": "uint256"
9826 }
9827 },
9828 "value": null,
9829 "visibility": "internal"
9830 }
9831 ],
9832 "src": "1247:9:38"
9833 },
9834 "scope": 11611,
9835 "src": "1172:85:38",
9836 "stateMutability": "view",
9837 "superFunction": null,
9838 "visibility": "public"
9839 },
9840 {
9841 "body": null,
9842 "documentation": null,
9843 "id": 11593,
9844 "implemented": false,
9845 "isConstructor": false,
9846 "isDeclaredConst": false,
9847 "modifiers": [],
9848 "name": "transferFrom",
9849 "nodeType": "FunctionDefinition",
9850 "parameters": {
9851 "id": 11589,
9852 "nodeType": "ParameterList",
9853 "parameters": [
9854 {
9855 "constant": false,
9856 "id": 11584,
9857 "name": "from",
9858 "nodeType": "VariableDeclaration",
9859 "scope": 11593,
9860 "src": "1284:12:38",
9861 "stateVariable": false,
9862 "storageLocation": "default",
9863 "typeDescriptions": {
9864 "typeIdentifier": "t_address",
9865 "typeString": "address"
9866 },
9867 "typeName": {
9868 "id": 11583,
9869 "name": "address",
9870 "nodeType": "ElementaryTypeName",
9871 "src": "1284:7:38",
9872 "typeDescriptions": {
9873 "typeIdentifier": "t_address",
9874 "typeString": "address"
9875 }
9876 },
9877 "value": null,
9878 "visibility": "internal"
9879 },
9880 {
9881 "constant": false,
9882 "id": 11586,
9883 "name": "to",
9884 "nodeType": "VariableDeclaration",
9885 "scope": 11593,
9886 "src": "1298:10:38",
9887 "stateVariable": false,
9888 "storageLocation": "default",
9889 "typeDescriptions": {
9890 "typeIdentifier": "t_address",
9891 "typeString": "address"
9892 },
9893 "typeName": {
9894 "id": 11585,
9895 "name": "address",
9896 "nodeType": "ElementaryTypeName",
9897 "src": "1298:7:38",
9898 "typeDescriptions": {
9899 "typeIdentifier": "t_address",
9900 "typeString": "address"
9901 }
9902 },
9903 "value": null,
9904 "visibility": "internal"
9905 },
9906 {
9907 "constant": false,
9908 "id": 11588,
9909 "name": "value",
9910 "nodeType": "VariableDeclaration",
9911 "scope": 11593,
9912 "src": "1310:13:38",
9913 "stateVariable": false,
9914 "storageLocation": "default",
9915 "typeDescriptions": {
9916 "typeIdentifier": "t_uint256",
9917 "typeString": "uint256"
9918 },
9919 "typeName": {
9920 "id": 11587,
9921 "name": "uint256",
9922 "nodeType": "ElementaryTypeName",
9923 "src": "1310:7:38",
9924 "typeDescriptions": {
9925 "typeIdentifier": "t_uint256",
9926 "typeString": "uint256"
9927 }
9928 },
9929 "value": null,
9930 "visibility": "internal"
9931 }
9932 ],
9933 "src": "1283:41:38"
9934 },
9935 "payable": false,
9936 "returnParameters": {
9937 "id": 11592,
9938 "nodeType": "ParameterList",
9939 "parameters": [
9940 {
9941 "constant": false,
9942 "id": 11591,
9943 "name": "",
9944 "nodeType": "VariableDeclaration",
9945 "scope": 11593,
9946 "src": "1341:4:38",
9947 "stateVariable": false,
9948 "storageLocation": "default",
9949 "typeDescriptions": {
9950 "typeIdentifier": "t_bool",
9951 "typeString": "bool"
9952 },
9953 "typeName": {
9954 "id": 11590,
9955 "name": "bool",
9956 "nodeType": "ElementaryTypeName",
9957 "src": "1341:4:38",
9958 "typeDescriptions": {
9959 "typeIdentifier": "t_bool",
9960 "typeString": "bool"
9961 }
9962 },
9963 "value": null,
9964 "visibility": "internal"
9965 }
9966 ],
9967 "src": "1340:6:38"
9968 },
9969 "scope": 11611,
9970 "src": "1262:85:38",
9971 "stateMutability": "nonpayable",
9972 "superFunction": null,
9973 "visibility": "public"
9974 },
9975 {
9976 "body": null,
9977 "documentation": null,
9978 "id": 11602,
9979 "implemented": false,
9980 "isConstructor": false,
9981 "isDeclaredConst": false,
9982 "modifiers": [],
9983 "name": "approve",
9984 "nodeType": "FunctionDefinition",
9985 "parameters": {
9986 "id": 11598,
9987 "nodeType": "ParameterList",
9988 "parameters": [
9989 {
9990 "constant": false,
9991 "id": 11595,
9992 "name": "spender",
9993 "nodeType": "VariableDeclaration",
9994 "scope": 11602,
9995 "src": "1369:15:38",
9996 "stateVariable": false,
9997 "storageLocation": "default",
9998 "typeDescriptions": {
9999 "typeIdentifier": "t_address",
10000 "typeString": "address"
10001 },
10002 "typeName": {
10003 "id": 11594,
10004 "name": "address",
10005 "nodeType": "ElementaryTypeName",
10006 "src": "1369:7:38",
10007 "typeDescriptions": {
10008 "typeIdentifier": "t_address",
10009 "typeString": "address"
10010 }
10011 },
10012 "value": null,
10013 "visibility": "internal"
10014 },
10015 {
10016 "constant": false,
10017 "id": 11597,
10018 "name": "value",
10019 "nodeType": "VariableDeclaration",
10020 "scope": 11602,
10021 "src": "1386:13:38",
10022 "stateVariable": false,
10023 "storageLocation": "default",
10024 "typeDescriptions": {
10025 "typeIdentifier": "t_uint256",
10026 "typeString": "uint256"
10027 },
10028 "typeName": {
10029 "id": 11596,
10030 "name": "uint256",
10031 "nodeType": "ElementaryTypeName",
10032 "src": "1386:7:38",
10033 "typeDescriptions": {
10034 "typeIdentifier": "t_uint256",
10035 "typeString": "uint256"
10036 }
10037 },
10038 "value": null,
10039 "visibility": "internal"
10040 }
10041 ],
10042 "src": "1368:32:38"
10043 },
10044 "payable": false,
10045 "returnParameters": {
10046 "id": 11601,
10047 "nodeType": "ParameterList",
10048 "parameters": [
10049 {
10050 "constant": false,
10051 "id": 11600,
10052 "name": "",
10053 "nodeType": "VariableDeclaration",
10054 "scope": 11602,
10055 "src": "1417:4:38",
10056 "stateVariable": false,
10057 "storageLocation": "default",
10058 "typeDescriptions": {
10059 "typeIdentifier": "t_bool",
10060 "typeString": "bool"
10061 },
10062 "typeName": {
10063 "id": 11599,
10064 "name": "bool",
10065 "nodeType": "ElementaryTypeName",
10066 "src": "1417:4:38",
10067 "typeDescriptions": {
10068 "typeIdentifier": "t_bool",
10069 "typeString": "bool"
10070 }
10071 },
10072 "value": null,
10073 "visibility": "internal"
10074 }
10075 ],
10076 "src": "1416:6:38"
10077 },
10078 "scope": 11611,
10079 "src": "1352:71:38",
10080 "stateMutability": "nonpayable",
10081 "superFunction": null,
10082 "visibility": "public"
10083 },
10084 {
10085 "anonymous": false,
10086 "documentation": null,
10087 "id": 11610,
10088 "name": "Approval",
10089 "nodeType": "EventDefinition",
10090 "parameters": {
10091 "id": 11609,
10092 "nodeType": "ParameterList",
10093 "parameters": [
10094 {
10095 "constant": false,
10096 "id": 11604,
10097 "indexed": true,
10098 "name": "owner",
10099 "nodeType": "VariableDeclaration",
10100 "scope": 11610,
10101 "src": "1443:21:38",
10102 "stateVariable": false,
10103 "storageLocation": "default",
10104 "typeDescriptions": {
10105 "typeIdentifier": "t_address",
10106 "typeString": "address"
10107 },
10108 "typeName": {
10109 "id": 11603,
10110 "name": "address",
10111 "nodeType": "ElementaryTypeName",
10112 "src": "1443:7:38",
10113 "typeDescriptions": {
10114 "typeIdentifier": "t_address",
10115 "typeString": "address"
10116 }
10117 },
10118 "value": null,
10119 "visibility": "internal"
10120 },
10121 {
10122 "constant": false,
10123 "id": 11606,
10124 "indexed": true,
10125 "name": "spender",
10126 "nodeType": "VariableDeclaration",
10127 "scope": 11610,
10128 "src": "1466:23:38",
10129 "stateVariable": false,
10130 "storageLocation": "default",
10131 "typeDescriptions": {
10132 "typeIdentifier": "t_address",
10133 "typeString": "address"
10134 },
10135 "typeName": {
10136 "id": 11605,
10137 "name": "address",
10138 "nodeType": "ElementaryTypeName",
10139 "src": "1466:7:38",
10140 "typeDescriptions": {
10141 "typeIdentifier": "t_address",
10142 "typeString": "address"
10143 }
10144 },
10145 "value": null,
10146 "visibility": "internal"
10147 },
10148 {
10149 "constant": false,
10150 "id": 11608,
10151 "indexed": false,
10152 "name": "value",
10153 "nodeType": "VariableDeclaration",
10154 "scope": 11610,
10155 "src": "1491:13:38",
10156 "stateVariable": false,
10157 "storageLocation": "default",
10158 "typeDescriptions": {
10159 "typeIdentifier": "t_uint256",
10160 "typeString": "uint256"
10161 },
10162 "typeName": {
10163 "id": 11607,
10164 "name": "uint256",
10165 "nodeType": "ElementaryTypeName",
10166 "src": "1491:7:38",
10167 "typeDescriptions": {
10168 "typeIdentifier": "t_uint256",
10169 "typeString": "uint256"
10170 }
10171 },
10172 "value": null,
10173 "visibility": "internal"
10174 }
10175 ],
10176 "src": "1442:63:38"
10177 },
10178 "src": "1428:78:38"
10179 }
10180 ],
10181 "scope": 12078,
10182 "src": "1137:371:38"
10183 },
10184 {
10185 "baseContracts": [
10186 {
10187 "arguments": null,
10188 "baseName": {
10189 "contractScope": null,
10190 "id": 11612,
10191 "name": "ERC20Basic",
10192 "nodeType": "UserDefinedTypeName",
10193 "referencedDeclaration": 11571,
10194 "src": "1533:10:38",
10195 "typeDescriptions": {
10196 "typeIdentifier": "t_contract$_ERC20Basic_$11571",
10197 "typeString": "contract ERC20Basic"
10198 }
10199 },
10200 "id": 11613,
10201 "nodeType": "InheritanceSpecifier",
10202 "src": "1533:10:38"
10203 }
10204 ],
10205 "contractDependencies": [
10206 11571
10207 ],
10208 "contractKind": "contract",
10209 "documentation": null,
10210 "fullyImplemented": true,
10211 "id": 11684,
10212 "linearizedBaseContracts": [
10213 11684,
10214 11571
10215 ],
10216 "name": "BasicToken",
10217 "nodeType": "ContractDefinition",
10218 "nodes": [
10219 {
10220 "id": 11616,
10221 "libraryName": {
10222 "contractScope": null,
10223 "id": 11614,
10224 "name": "SafeMath",
10225 "nodeType": "UserDefinedTypeName",
10226 "referencedDeclaration": 11544,
10227 "src": "1556:8:38",
10228 "typeDescriptions": {
10229 "typeIdentifier": "t_contract$_SafeMath_$11544",
10230 "typeString": "library SafeMath"
10231 }
10232 },
10233 "nodeType": "UsingForDirective",
10234 "src": "1550:27:38",
10235 "typeName": {
10236 "id": 11615,
10237 "name": "uint256",
10238 "nodeType": "ElementaryTypeName",
10239 "src": "1569:7:38",
10240 "typeDescriptions": {
10241 "typeIdentifier": "t_uint256",
10242 "typeString": "uint256"
10243 }
10244 }
10245 },
10246 {
10247 "constant": false,
10248 "id": 11620,
10249 "name": "balances",
10250 "nodeType": "VariableDeclaration",
10251 "scope": 11684,
10252 "src": "1582:36:38",
10253 "stateVariable": true,
10254 "storageLocation": "default",
10255 "typeDescriptions": {
10256 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
10257 "typeString": "mapping(address => uint256)"
10258 },
10259 "typeName": {
10260 "id": 11619,
10261 "keyType": {
10262 "id": 11617,
10263 "name": "address",
10264 "nodeType": "ElementaryTypeName",
10265 "src": "1590:7:38",
10266 "typeDescriptions": {
10267 "typeIdentifier": "t_address",
10268 "typeString": "address"
10269 }
10270 },
10271 "nodeType": "Mapping",
10272 "src": "1582:27:38",
10273 "typeDescriptions": {
10274 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
10275 "typeString": "mapping(address => uint256)"
10276 },
10277 "valueType": {
10278 "id": 11618,
10279 "name": "uint256",
10280 "nodeType": "ElementaryTypeName",
10281 "src": "1601:7:38",
10282 "typeDescriptions": {
10283 "typeIdentifier": "t_uint256",
10284 "typeString": "uint256"
10285 }
10286 }
10287 },
10288 "value": null,
10289 "visibility": "internal"
10290 },
10291 {
10292 "body": {
10293 "id": 11670,
10294 "nodeType": "Block",
10295 "src": "1853:295:38",
10296 "statements": [
10297 {
10298 "expression": {
10299 "argumentTypes": null,
10300 "arguments": [
10301 {
10302 "argumentTypes": null,
10303 "commonType": {
10304 "typeIdentifier": "t_address",
10305 "typeString": "address"
10306 },
10307 "id": 11634,
10308 "isConstant": false,
10309 "isLValue": false,
10310 "isPure": false,
10311 "lValueRequested": false,
10312 "leftExpression": {
10313 "argumentTypes": null,
10314 "id": 11630,
10315 "name": "_to",
10316 "nodeType": "Identifier",
10317 "overloadedDeclarations": [],
10318 "referencedDeclaration": 11622,
10319 "src": "1871:3:38",
10320 "typeDescriptions": {
10321 "typeIdentifier": "t_address",
10322 "typeString": "address"
10323 }
10324 },
10325 "nodeType": "BinaryOperation",
10326 "operator": "!=",
10327 "rightExpression": {
10328 "argumentTypes": null,
10329 "arguments": [
10330 {
10331 "argumentTypes": null,
10332 "hexValue": "30",
10333 "id": 11632,
10334 "isConstant": false,
10335 "isLValue": false,
10336 "isPure": true,
10337 "kind": "number",
10338 "lValueRequested": false,
10339 "nodeType": "Literal",
10340 "src": "1886:1:38",
10341 "subdenomination": null,
10342 "typeDescriptions": {
10343 "typeIdentifier": "t_rational_0_by_1",
10344 "typeString": "int_const 0"
10345 },
10346 "value": "0"
10347 }
10348 ],
10349 "expression": {
10350 "argumentTypes": [
10351 {
10352 "typeIdentifier": "t_rational_0_by_1",
10353 "typeString": "int_const 0"
10354 }
10355 ],
10356 "id": 11631,
10357 "isConstant": false,
10358 "isLValue": false,
10359 "isPure": true,
10360 "lValueRequested": false,
10361 "nodeType": "ElementaryTypeNameExpression",
10362 "src": "1878:7:38",
10363 "typeDescriptions": {
10364 "typeIdentifier": "t_type$_t_address_$",
10365 "typeString": "type(address)"
10366 },
10367 "typeName": "address"
10368 },
10369 "id": 11633,
10370 "isConstant": false,
10371 "isLValue": false,
10372 "isPure": true,
10373 "kind": "typeConversion",
10374 "lValueRequested": false,
10375 "names": [],
10376 "nodeType": "FunctionCall",
10377 "src": "1878:10:38",
10378 "typeDescriptions": {
10379 "typeIdentifier": "t_address",
10380 "typeString": "address"
10381 }
10382 },
10383 "src": "1871:17:38",
10384 "typeDescriptions": {
10385 "typeIdentifier": "t_bool",
10386 "typeString": "bool"
10387 }
10388 }
10389 ],
10390 "expression": {
10391 "argumentTypes": [
10392 {
10393 "typeIdentifier": "t_bool",
10394 "typeString": "bool"
10395 }
10396 ],
10397 "id": 11629,
10398 "name": "require",
10399 "nodeType": "Identifier",
10400 "overloadedDeclarations": [
10401 12095,
10402 12096
10403 ],
10404 "referencedDeclaration": 12095,
10405 "src": "1863:7:38",
10406 "typeDescriptions": {
10407 "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
10408 "typeString": "function (bool) pure"
10409 }
10410 },
10411 "id": 11635,
10412 "isConstant": false,
10413 "isLValue": false,
10414 "isPure": false,
10415 "kind": "functionCall",
10416 "lValueRequested": false,
10417 "names": [],
10418 "nodeType": "FunctionCall",
10419 "src": "1863:26:38",
10420 "typeDescriptions": {
10421 "typeIdentifier": "t_tuple$__$",
10422 "typeString": "tuple()"
10423 }
10424 },
10425 "id": 11636,
10426 "nodeType": "ExpressionStatement",
10427 "src": "1863:26:38"
10428 },
10429 {
10430 "expression": {
10431 "argumentTypes": null,
10432 "id": 11648,
10433 "isConstant": false,
10434 "isLValue": false,
10435 "isPure": false,
10436 "lValueRequested": false,
10437 "leftHandSide": {
10438 "argumentTypes": null,
10439 "baseExpression": {
10440 "argumentTypes": null,
10441 "id": 11637,
10442 "name": "balances",
10443 "nodeType": "Identifier",
10444 "overloadedDeclarations": [],
10445 "referencedDeclaration": 11620,
10446 "src": "1966:8:38",
10447 "typeDescriptions": {
10448 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
10449 "typeString": "mapping(address => uint256)"
10450 }
10451 },
10452 "id": 11640,
10453 "indexExpression": {
10454 "argumentTypes": null,
10455 "expression": {
10456 "argumentTypes": null,
10457 "id": 11638,
10458 "name": "msg",
10459 "nodeType": "Identifier",
10460 "overloadedDeclarations": [],
10461 "referencedDeclaration": 12092,
10462 "src": "1975:3:38",
10463 "typeDescriptions": {
10464 "typeIdentifier": "t_magic_message",
10465 "typeString": "msg"
10466 }
10467 },
10468 "id": 11639,
10469 "isConstant": false,
10470 "isLValue": false,
10471 "isPure": false,
10472 "lValueRequested": false,
10473 "memberName": "sender",
10474 "nodeType": "MemberAccess",
10475 "referencedDeclaration": null,
10476 "src": "1975:10:38",
10477 "typeDescriptions": {
10478 "typeIdentifier": "t_address",
10479 "typeString": "address"
10480 }
10481 },
10482 "isConstant": false,
10483 "isLValue": true,
10484 "isPure": false,
10485 "lValueRequested": true,
10486 "nodeType": "IndexAccess",
10487 "src": "1966:20:38",
10488 "typeDescriptions": {
10489 "typeIdentifier": "t_uint256",
10490 "typeString": "uint256"
10491 }
10492 },
10493 "nodeType": "Assignment",
10494 "operator": "=",
10495 "rightHandSide": {
10496 "argumentTypes": null,
10497 "arguments": [
10498 {
10499 "argumentTypes": null,
10500 "id": 11646,
10501 "name": "_value",
10502 "nodeType": "Identifier",
10503 "overloadedDeclarations": [],
10504 "referencedDeclaration": 11624,
10505 "src": "2014:6:38",
10506 "typeDescriptions": {
10507 "typeIdentifier": "t_uint256",
10508 "typeString": "uint256"
10509 }
10510 }
10511 ],
10512 "expression": {
10513 "argumentTypes": [
10514 {
10515 "typeIdentifier": "t_uint256",
10516 "typeString": "uint256"
10517 }
10518 ],
10519 "expression": {
10520 "argumentTypes": null,
10521 "baseExpression": {
10522 "argumentTypes": null,
10523 "id": 11641,
10524 "name": "balances",
10525 "nodeType": "Identifier",
10526 "overloadedDeclarations": [],
10527 "referencedDeclaration": 11620,
10528 "src": "1989:8:38",
10529 "typeDescriptions": {
10530 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
10531 "typeString": "mapping(address => uint256)"
10532 }
10533 },
10534 "id": 11644,
10535 "indexExpression": {
10536 "argumentTypes": null,
10537 "expression": {
10538 "argumentTypes": null,
10539 "id": 11642,
10540 "name": "msg",
10541 "nodeType": "Identifier",
10542 "overloadedDeclarations": [],
10543 "referencedDeclaration": 12092,
10544 "src": "1998:3:38",
10545 "typeDescriptions": {
10546 "typeIdentifier": "t_magic_message",
10547 "typeString": "msg"
10548 }
10549 },
10550 "id": 11643,
10551 "isConstant": false,
10552 "isLValue": false,
10553 "isPure": false,
10554 "lValueRequested": false,
10555 "memberName": "sender",
10556 "nodeType": "MemberAccess",
10557 "referencedDeclaration": null,
10558 "src": "1998:10:38",
10559 "typeDescriptions": {
10560 "typeIdentifier": "t_address",
10561 "typeString": "address"
10562 }
10563 },
10564 "isConstant": false,
10565 "isLValue": true,
10566 "isPure": false,
10567 "lValueRequested": false,
10568 "nodeType": "IndexAccess",
10569 "src": "1989:20:38",
10570 "typeDescriptions": {
10571 "typeIdentifier": "t_uint256",
10572 "typeString": "uint256"
10573 }
10574 },
10575 "id": 11645,
10576 "isConstant": false,
10577 "isLValue": false,
10578 "isPure": false,
10579 "lValueRequested": false,
10580 "memberName": "sub",
10581 "nodeType": "MemberAccess",
10582 "referencedDeclaration": 11519,
10583 "src": "1989:24:38",
10584 "typeDescriptions": {
10585 "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
10586 "typeString": "function (uint256,uint256) pure returns (uint256)"
10587 }
10588 },
10589 "id": 11647,
10590 "isConstant": false,
10591 "isLValue": false,
10592 "isPure": false,
10593 "kind": "functionCall",
10594 "lValueRequested": false,
10595 "names": [],
10596 "nodeType": "FunctionCall",
10597 "src": "1989:32:38",
10598 "typeDescriptions": {
10599 "typeIdentifier": "t_uint256",
10600 "typeString": "uint256"
10601 }
10602 },
10603 "src": "1966:55:38",
10604 "typeDescriptions": {
10605 "typeIdentifier": "t_uint256",
10606 "typeString": "uint256"
10607 }
10608 },
10609 "id": 11649,
10610 "nodeType": "ExpressionStatement",
10611 "src": "1966:55:38"
10612 },
10613 {
10614 "expression": {
10615 "argumentTypes": null,
10616 "id": 11659,
10617 "isConstant": false,
10618 "isLValue": false,
10619 "isPure": false,
10620 "lValueRequested": false,
10621 "leftHandSide": {
10622 "argumentTypes": null,
10623 "baseExpression": {
10624 "argumentTypes": null,
10625 "id": 11650,
10626 "name": "balances",
10627 "nodeType": "Identifier",
10628 "overloadedDeclarations": [],
10629 "referencedDeclaration": 11620,
10630 "src": "2031:8:38",
10631 "typeDescriptions": {
10632 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
10633 "typeString": "mapping(address => uint256)"
10634 }
10635 },
10636 "id": 11652,
10637 "indexExpression": {
10638 "argumentTypes": null,
10639 "id": 11651,
10640 "name": "_to",
10641 "nodeType": "Identifier",
10642 "overloadedDeclarations": [],
10643 "referencedDeclaration": 11622,
10644 "src": "2040:3:38",
10645 "typeDescriptions": {
10646 "typeIdentifier": "t_address",
10647 "typeString": "address"
10648 }
10649 },
10650 "isConstant": false,
10651 "isLValue": true,
10652 "isPure": false,
10653 "lValueRequested": true,
10654 "nodeType": "IndexAccess",
10655 "src": "2031:13:38",
10656 "typeDescriptions": {
10657 "typeIdentifier": "t_uint256",
10658 "typeString": "uint256"
10659 }
10660 },
10661 "nodeType": "Assignment",
10662 "operator": "=",
10663 "rightHandSide": {
10664 "argumentTypes": null,
10665 "arguments": [
10666 {
10667 "argumentTypes": null,
10668 "id": 11657,
10669 "name": "_value",
10670 "nodeType": "Identifier",
10671 "overloadedDeclarations": [],
10672 "referencedDeclaration": 11624,
10673 "src": "2065:6:38",
10674 "typeDescriptions": {
10675 "typeIdentifier": "t_uint256",
10676 "typeString": "uint256"
10677 }
10678 }
10679 ],
10680 "expression": {
10681 "argumentTypes": [
10682 {
10683 "typeIdentifier": "t_uint256",
10684 "typeString": "uint256"
10685 }
10686 ],
10687 "expression": {
10688 "argumentTypes": null,
10689 "baseExpression": {
10690 "argumentTypes": null,
10691 "id": 11653,
10692 "name": "balances",
10693 "nodeType": "Identifier",
10694 "overloadedDeclarations": [],
10695 "referencedDeclaration": 11620,
10696 "src": "2047:8:38",
10697 "typeDescriptions": {
10698 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
10699 "typeString": "mapping(address => uint256)"
10700 }
10701 },
10702 "id": 11655,
10703 "indexExpression": {
10704 "argumentTypes": null,
10705 "id": 11654,
10706 "name": "_to",
10707 "nodeType": "Identifier",
10708 "overloadedDeclarations": [],
10709 "referencedDeclaration": 11622,
10710 "src": "2056:3:38",
10711 "typeDescriptions": {
10712 "typeIdentifier": "t_address",
10713 "typeString": "address"
10714 }
10715 },
10716 "isConstant": false,
10717 "isLValue": true,
10718 "isPure": false,
10719 "lValueRequested": false,
10720 "nodeType": "IndexAccess",
10721 "src": "2047:13:38",
10722 "typeDescriptions": {
10723 "typeIdentifier": "t_uint256",
10724 "typeString": "uint256"
10725 }
10726 },
10727 "id": 11656,
10728 "isConstant": false,
10729 "isLValue": false,
10730 "isPure": false,
10731 "lValueRequested": false,
10732 "memberName": "add",
10733 "nodeType": "MemberAccess",
10734 "referencedDeclaration": 11543,
10735 "src": "2047:17:38",
10736 "typeDescriptions": {
10737 "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
10738 "typeString": "function (uint256,uint256) pure returns (uint256)"
10739 }
10740 },
10741 "id": 11658,
10742 "isConstant": false,
10743 "isLValue": false,
10744 "isPure": false,
10745 "kind": "functionCall",
10746 "lValueRequested": false,
10747 "names": [],
10748 "nodeType": "FunctionCall",
10749 "src": "2047:25:38",
10750 "typeDescriptions": {
10751 "typeIdentifier": "t_uint256",
10752 "typeString": "uint256"
10753 }
10754 },
10755 "src": "2031:41:38",
10756 "typeDescriptions": {
10757 "typeIdentifier": "t_uint256",
10758 "typeString": "uint256"
10759 }
10760 },
10761 "id": 11660,
10762 "nodeType": "ExpressionStatement",
10763 "src": "2031:41:38"
10764 },
10765 {
10766 "eventCall": {
10767 "argumentTypes": null,
10768 "arguments": [
10769 {
10770 "argumentTypes": null,
10771 "expression": {
10772 "argumentTypes": null,
10773 "id": 11662,
10774 "name": "msg",
10775 "nodeType": "Identifier",
10776 "overloadedDeclarations": [],
10777 "referencedDeclaration": 12092,
10778 "src": "2096:3:38",
10779 "typeDescriptions": {
10780 "typeIdentifier": "t_magic_message",
10781 "typeString": "msg"
10782 }
10783 },
10784 "id": 11663,
10785 "isConstant": false,
10786 "isLValue": false,
10787 "isPure": false,
10788 "lValueRequested": false,
10789 "memberName": "sender",
10790 "nodeType": "MemberAccess",
10791 "referencedDeclaration": null,
10792 "src": "2096:10:38",
10793 "typeDescriptions": {
10794 "typeIdentifier": "t_address",
10795 "typeString": "address"
10796 }
10797 },
10798 {
10799 "argumentTypes": null,
10800 "id": 11664,
10801 "name": "_to",
10802 "nodeType": "Identifier",
10803 "overloadedDeclarations": [],
10804 "referencedDeclaration": 11622,
10805 "src": "2108:3:38",
10806 "typeDescriptions": {
10807 "typeIdentifier": "t_address",
10808 "typeString": "address"
10809 }
10810 },
10811 {
10812 "argumentTypes": null,
10813 "id": 11665,
10814 "name": "_value",
10815 "nodeType": "Identifier",
10816 "overloadedDeclarations": [],
10817 "referencedDeclaration": 11624,
10818 "src": "2113:6:38",
10819 "typeDescriptions": {
10820 "typeIdentifier": "t_uint256",
10821 "typeString": "uint256"
10822 }
10823 }
10824 ],
10825 "expression": {
10826 "argumentTypes": [
10827 {
10828 "typeIdentifier": "t_address",
10829 "typeString": "address"
10830 },
10831 {
10832 "typeIdentifier": "t_address",
10833 "typeString": "address"
10834 },
10835 {
10836 "typeIdentifier": "t_uint256",
10837 "typeString": "uint256"
10838 }
10839 ],
10840 "id": 11661,
10841 "name": "Transfer",
10842 "nodeType": "Identifier",
10843 "overloadedDeclarations": [],
10844 "referencedDeclaration": 11570,
10845 "src": "2087:8:38",
10846 "typeDescriptions": {
10847 "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
10848 "typeString": "function (address,address,uint256)"
10849 }
10850 },
10851 "id": 11666,
10852 "isConstant": false,
10853 "isLValue": false,
10854 "isPure": false,
10855 "kind": "functionCall",
10856 "lValueRequested": false,
10857 "names": [],
10858 "nodeType": "FunctionCall",
10859 "src": "2087:33:38",
10860 "typeDescriptions": {
10861 "typeIdentifier": "t_tuple$__$",
10862 "typeString": "tuple()"
10863 }
10864 },
10865 "id": 11667,
10866 "nodeType": "EmitStatement",
10867 "src": "2082:38:38"
10868 },
10869 {
10870 "expression": {
10871 "argumentTypes": null,
10872 "hexValue": "74727565",
10873 "id": 11668,
10874 "isConstant": false,
10875 "isLValue": false,
10876 "isPure": true,
10877 "kind": "bool",
10878 "lValueRequested": false,
10879 "nodeType": "Literal",
10880 "src": "2137:4:38",
10881 "subdenomination": null,
10882 "typeDescriptions": {
10883 "typeIdentifier": "t_bool",
10884 "typeString": "bool"
10885 },
10886 "value": "true"
10887 },
10888 "functionReturnParameters": 11628,
10889 "id": 11669,
10890 "nodeType": "Return",
10891 "src": "2130:11:38"
10892 }
10893 ]
10894 },
10895 "documentation": "@dev transfer token for a specified address\n@param _to The address to transfer to.\n@param _value The amount to be transferred.",
10896 "id": 11671,
10897 "implemented": true,
10898 "isConstructor": false,
10899 "isDeclaredConst": false,
10900 "modifiers": [],
10901 "name": "transfer",
10902 "nodeType": "FunctionDefinition",
10903 "parameters": {
10904 "id": 11625,
10905 "nodeType": "ParameterList",
10906 "parameters": [
10907 {
10908 "constant": false,
10909 "id": 11622,
10910 "name": "_to",
10911 "nodeType": "VariableDeclaration",
10912 "scope": 11671,
10913 "src": "1802:11:38",
10914 "stateVariable": false,
10915 "storageLocation": "default",
10916 "typeDescriptions": {
10917 "typeIdentifier": "t_address",
10918 "typeString": "address"
10919 },
10920 "typeName": {
10921 "id": 11621,
10922 "name": "address",
10923 "nodeType": "ElementaryTypeName",
10924 "src": "1802:7:38",
10925 "typeDescriptions": {
10926 "typeIdentifier": "t_address",
10927 "typeString": "address"
10928 }
10929 },
10930 "value": null,
10931 "visibility": "internal"
10932 },
10933 {
10934 "constant": false,
10935 "id": 11624,
10936 "name": "_value",
10937 "nodeType": "VariableDeclaration",
10938 "scope": 11671,
10939 "src": "1815:14:38",
10940 "stateVariable": false,
10941 "storageLocation": "default",
10942 "typeDescriptions": {
10943 "typeIdentifier": "t_uint256",
10944 "typeString": "uint256"
10945 },
10946 "typeName": {
10947 "id": 11623,
10948 "name": "uint256",
10949 "nodeType": "ElementaryTypeName",
10950 "src": "1815:7:38",
10951 "typeDescriptions": {
10952 "typeIdentifier": "t_uint256",
10953 "typeString": "uint256"
10954 }
10955 },
10956 "value": null,
10957 "visibility": "internal"
10958 }
10959 ],
10960 "src": "1801:29:38"
10961 },
10962 "payable": false,
10963 "returnParameters": {
10964 "id": 11628,
10965 "nodeType": "ParameterList",
10966 "parameters": [
10967 {
10968 "constant": false,
10969 "id": 11627,
10970 "name": "",
10971 "nodeType": "VariableDeclaration",
10972 "scope": 11671,
10973 "src": "1847:4:38",
10974 "stateVariable": false,
10975 "storageLocation": "default",
10976 "typeDescriptions": {
10977 "typeIdentifier": "t_bool",
10978 "typeString": "bool"
10979 },
10980 "typeName": {
10981 "id": 11626,
10982 "name": "bool",
10983 "nodeType": "ElementaryTypeName",
10984 "src": "1847:4:38",
10985 "typeDescriptions": {
10986 "typeIdentifier": "t_bool",
10987 "typeString": "bool"
10988 }
10989 },
10990 "value": null,
10991 "visibility": "internal"
10992 }
10993 ],
10994 "src": "1846:6:38"
10995 },
10996 "scope": 11684,
10997 "src": "1784:364:38",
10998 "stateMutability": "nonpayable",
10999 "superFunction": 11562,
11000 "visibility": "public"
11001 },
11002 {
11003 "body": {
11004 "id": 11682,
11005 "nodeType": "Block",
11006 "src": "2438:40:38",
11007 "statements": [
11008 {
11009 "expression": {
11010 "argumentTypes": null,
11011 "baseExpression": {
11012 "argumentTypes": null,
11013 "id": 11678,
11014 "name": "balances",
11015 "nodeType": "Identifier",
11016 "overloadedDeclarations": [],
11017 "referencedDeclaration": 11620,
11018 "src": "2455:8:38",
11019 "typeDescriptions": {
11020 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
11021 "typeString": "mapping(address => uint256)"
11022 }
11023 },
11024 "id": 11680,
11025 "indexExpression": {
11026 "argumentTypes": null,
11027 "id": 11679,
11028 "name": "_owner",
11029 "nodeType": "Identifier",
11030 "overloadedDeclarations": [],
11031 "referencedDeclaration": 11673,
11032 "src": "2464:6:38",
11033 "typeDescriptions": {
11034 "typeIdentifier": "t_address",
11035 "typeString": "address"
11036 }
11037 },
11038 "isConstant": false,
11039 "isLValue": true,
11040 "isPure": false,
11041 "lValueRequested": false,
11042 "nodeType": "IndexAccess",
11043 "src": "2455:16:38",
11044 "typeDescriptions": {
11045 "typeIdentifier": "t_uint256",
11046 "typeString": "uint256"
11047 }
11048 },
11049 "functionReturnParameters": 11677,
11050 "id": 11681,
11051 "nodeType": "Return",
11052 "src": "2448:23:38"
11053 }
11054 ]
11055 },
11056 "documentation": "@dev Gets the balance of the specified address.\n@param _owner The address to query the the balance of.\n@return An uint256 representing the amount owned by the passed address.",
11057 "id": 11683,
11058 "implemented": true,
11059 "isConstructor": false,
11060 "isDeclaredConst": true,
11061 "modifiers": [],
11062 "name": "balanceOf",
11063 "nodeType": "FunctionDefinition",
11064 "parameters": {
11065 "id": 11674,
11066 "nodeType": "ParameterList",
11067 "parameters": [
11068 {
11069 "constant": false,
11070 "id": 11673,
11071 "name": "_owner",
11072 "nodeType": "VariableDeclaration",
11073 "scope": 11683,
11074 "src": "2380:14:38",
11075 "stateVariable": false,
11076 "storageLocation": "default",
11077 "typeDescriptions": {
11078 "typeIdentifier": "t_address",
11079 "typeString": "address"
11080 },
11081 "typeName": {
11082 "id": 11672,
11083 "name": "address",
11084 "nodeType": "ElementaryTypeName",
11085 "src": "2380:7:38",
11086 "typeDescriptions": {
11087 "typeIdentifier": "t_address",
11088 "typeString": "address"
11089 }
11090 },
11091 "value": null,
11092 "visibility": "internal"
11093 }
11094 ],
11095 "src": "2379:16:38"
11096 },
11097 "payable": false,
11098 "returnParameters": {
11099 "id": 11677,
11100 "nodeType": "ParameterList",
11101 "parameters": [
11102 {
11103 "constant": false,
11104 "id": 11676,
11105 "name": "balance",
11106 "nodeType": "VariableDeclaration",
11107 "scope": 11683,
11108 "src": "2421:15:38",
11109 "stateVariable": false,
11110 "storageLocation": "default",
11111 "typeDescriptions": {
11112 "typeIdentifier": "t_uint256",
11113 "typeString": "uint256"
11114 },
11115 "typeName": {
11116 "id": 11675,
11117 "name": "uint256",
11118 "nodeType": "ElementaryTypeName",
11119 "src": "2421:7:38",
11120 "typeDescriptions": {
11121 "typeIdentifier": "t_uint256",
11122 "typeString": "uint256"
11123 }
11124 },
11125 "value": null,
11126 "visibility": "internal"
11127 }
11128 ],
11129 "src": "2420:17:38"
11130 },
11131 "scope": 11684,
11132 "src": "2361:117:38",
11133 "stateMutability": "view",
11134 "superFunction": 11553,
11135 "visibility": "public"
11136 }
11137 ],
11138 "scope": 12078,
11139 "src": "1510:970:38"
11140 },
11141 {
11142 "baseContracts": [],
11143 "contractDependencies": [],
11144 "contractKind": "contract",
11145 "documentation": null,
11146 "fullyImplemented": true,
11147 "id": 11738,
11148 "linearizedBaseContracts": [
11149 11738
11150 ],
11151 "name": "Ownable",
11152 "nodeType": "ContractDefinition",
11153 "nodes": [
11154 {
11155 "constant": false,
11156 "id": 11686,
11157 "name": "owner",
11158 "nodeType": "VariableDeclaration",
11159 "scope": 11738,
11160 "src": "2505:20:38",
11161 "stateVariable": true,
11162 "storageLocation": "default",
11163 "typeDescriptions": {
11164 "typeIdentifier": "t_address",
11165 "typeString": "address"
11166 },
11167 "typeName": {
11168 "id": 11685,
11169 "name": "address",
11170 "nodeType": "ElementaryTypeName",
11171 "src": "2505:7:38",
11172 "typeDescriptions": {
11173 "typeIdentifier": "t_address",
11174 "typeString": "address"
11175 }
11176 },
11177 "value": null,
11178 "visibility": "public"
11179 },
11180 {
11181 "anonymous": false,
11182 "documentation": null,
11183 "id": 11692,
11184 "name": "OwnershipTransferred",
11185 "nodeType": "EventDefinition",
11186 "parameters": {
11187 "id": 11691,
11188 "nodeType": "ParameterList",
11189 "parameters": [
11190 {
11191 "constant": false,
11192 "id": 11688,
11193 "indexed": true,
11194 "name": "previousOwner",
11195 "nodeType": "VariableDeclaration",
11196 "scope": 11692,
11197 "src": "2558:29:38",
11198 "stateVariable": false,
11199 "storageLocation": "default",
11200 "typeDescriptions": {
11201 "typeIdentifier": "t_address",
11202 "typeString": "address"
11203 },
11204 "typeName": {
11205 "id": 11687,
11206 "name": "address",
11207 "nodeType": "ElementaryTypeName",
11208 "src": "2558:7:38",
11209 "typeDescriptions": {
11210 "typeIdentifier": "t_address",
11211 "typeString": "address"
11212 }
11213 },
11214 "value": null,
11215 "visibility": "internal"
11216 },
11217 {
11218 "constant": false,
11219 "id": 11690,
11220 "indexed": true,
11221 "name": "newOwner",
11222 "nodeType": "VariableDeclaration",
11223 "scope": 11692,
11224 "src": "2589:24:38",
11225 "stateVariable": false,
11226 "storageLocation": "default",
11227 "typeDescriptions": {
11228 "typeIdentifier": "t_address",
11229 "typeString": "address"
11230 },
11231 "typeName": {
11232 "id": 11689,
11233 "name": "address",
11234 "nodeType": "ElementaryTypeName",
11235 "src": "2589:7:38",
11236 "typeDescriptions": {
11237 "typeIdentifier": "t_address",
11238 "typeString": "address"
11239 }
11240 },
11241 "value": null,
11242 "visibility": "internal"
11243 }
11244 ],
11245 "src": "2557:57:38"
11246 },
11247 "src": "2531:84:38"
11248 },
11249 {
11250 "body": {
11251 "id": 11700,
11252 "nodeType": "Block",
11253 "src": "2765:35:38",
11254 "statements": [
11255 {
11256 "expression": {
11257 "argumentTypes": null,
11258 "id": 11698,
11259 "isConstant": false,
11260 "isLValue": false,
11261 "isPure": false,
11262 "lValueRequested": false,
11263 "leftHandSide": {
11264 "argumentTypes": null,
11265 "id": 11695,
11266 "name": "owner",
11267 "nodeType": "Identifier",
11268 "overloadedDeclarations": [],
11269 "referencedDeclaration": 11686,
11270 "src": "2775:5:38",
11271 "typeDescriptions": {
11272 "typeIdentifier": "t_address",
11273 "typeString": "address"
11274 }
11275 },
11276 "nodeType": "Assignment",
11277 "operator": "=",
11278 "rightHandSide": {
11279 "argumentTypes": null,
11280 "expression": {
11281 "argumentTypes": null,
11282 "id": 11696,
11283 "name": "msg",
11284 "nodeType": "Identifier",
11285 "overloadedDeclarations": [],
11286 "referencedDeclaration": 12092,
11287 "src": "2783:3:38",
11288 "typeDescriptions": {
11289 "typeIdentifier": "t_magic_message",
11290 "typeString": "msg"
11291 }
11292 },
11293 "id": 11697,
11294 "isConstant": false,
11295 "isLValue": false,
11296 "isPure": false,
11297 "lValueRequested": false,
11298 "memberName": "sender",
11299 "nodeType": "MemberAccess",
11300 "referencedDeclaration": null,
11301 "src": "2783:10:38",
11302 "typeDescriptions": {
11303 "typeIdentifier": "t_address",
11304 "typeString": "address"
11305 }
11306 },
11307 "src": "2775:18:38",
11308 "typeDescriptions": {
11309 "typeIdentifier": "t_address",
11310 "typeString": "address"
11311 }
11312 },
11313 "id": 11699,
11314 "nodeType": "ExpressionStatement",
11315 "src": "2775:18:38"
11316 }
11317 ]
11318 },
11319 "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.",
11320 "id": 11701,
11321 "implemented": true,
11322 "isConstructor": true,
11323 "isDeclaredConst": false,
11324 "modifiers": [],
11325 "name": "",
11326 "nodeType": "FunctionDefinition",
11327 "parameters": {
11328 "id": 11693,
11329 "nodeType": "ParameterList",
11330 "parameters": [],
11331 "src": "2755:2:38"
11332 },
11333 "payable": false,
11334 "returnParameters": {
11335 "id": 11694,
11336 "nodeType": "ParameterList",
11337 "parameters": [],
11338 "src": "2765:0:38"
11339 },
11340 "scope": 11738,
11341 "src": "2744:56:38",
11342 "stateMutability": "nonpayable",
11343 "superFunction": null,
11344 "visibility": "public"
11345 },
11346 {
11347 "body": {
11348 "id": 11711,
11349 "nodeType": "Block",
11350 "src": "2908:56:38",
11351 "statements": [
11352 {
11353 "expression": {
11354 "argumentTypes": null,
11355 "arguments": [
11356 {
11357 "argumentTypes": null,
11358 "commonType": {
11359 "typeIdentifier": "t_address",
11360 "typeString": "address"
11361 },
11362 "id": 11707,
11363 "isConstant": false,
11364 "isLValue": false,
11365 "isPure": false,
11366 "lValueRequested": false,
11367 "leftExpression": {
11368 "argumentTypes": null,
11369 "expression": {
11370 "argumentTypes": null,
11371 "id": 11704,
11372 "name": "msg",
11373 "nodeType": "Identifier",
11374 "overloadedDeclarations": [],
11375 "referencedDeclaration": 12092,
11376 "src": "2926:3:38",
11377 "typeDescriptions": {
11378 "typeIdentifier": "t_magic_message",
11379 "typeString": "msg"
11380 }
11381 },
11382 "id": 11705,
11383 "isConstant": false,
11384 "isLValue": false,
11385 "isPure": false,
11386 "lValueRequested": false,
11387 "memberName": "sender",
11388 "nodeType": "MemberAccess",
11389 "referencedDeclaration": null,
11390 "src": "2926:10:38",
11391 "typeDescriptions": {
11392 "typeIdentifier": "t_address",
11393 "typeString": "address"
11394 }
11395 },
11396 "nodeType": "BinaryOperation",
11397 "operator": "==",
11398 "rightExpression": {
11399 "argumentTypes": null,
11400 "id": 11706,
11401 "name": "owner",
11402 "nodeType": "Identifier",
11403 "overloadedDeclarations": [],
11404 "referencedDeclaration": 11686,
11405 "src": "2940:5:38",
11406 "typeDescriptions": {
11407 "typeIdentifier": "t_address",
11408 "typeString": "address"
11409 }
11410 },
11411 "src": "2926:19:38",
11412 "typeDescriptions": {
11413 "typeIdentifier": "t_bool",
11414 "typeString": "bool"
11415 }
11416 }
11417 ],
11418 "expression": {
11419 "argumentTypes": [
11420 {
11421 "typeIdentifier": "t_bool",
11422 "typeString": "bool"
11423 }
11424 ],
11425 "id": 11703,
11426 "name": "require",
11427 "nodeType": "Identifier",
11428 "overloadedDeclarations": [
11429 12095,
11430 12096
11431 ],
11432 "referencedDeclaration": 12095,
11433 "src": "2918:7:38",
11434 "typeDescriptions": {
11435 "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
11436 "typeString": "function (bool) pure"
11437 }
11438 },
11439 "id": 11708,
11440 "isConstant": false,
11441 "isLValue": false,
11442 "isPure": false,
11443 "kind": "functionCall",
11444 "lValueRequested": false,
11445 "names": [],
11446 "nodeType": "FunctionCall",
11447 "src": "2918:28:38",
11448 "typeDescriptions": {
11449 "typeIdentifier": "t_tuple$__$",
11450 "typeString": "tuple()"
11451 }
11452 },
11453 "id": 11709,
11454 "nodeType": "ExpressionStatement",
11455 "src": "2918:28:38"
11456 },
11457 {
11458 "id": 11710,
11459 "nodeType": "PlaceholderStatement",
11460 "src": "2956:1:38"
11461 }
11462 ]
11463 },
11464 "documentation": "@dev Throws if called by any account other than the owner.",
11465 "id": 11712,
11466 "name": "onlyOwner",
11467 "nodeType": "ModifierDefinition",
11468 "parameters": {
11469 "id": 11702,
11470 "nodeType": "ParameterList",
11471 "parameters": [],
11472 "src": "2905:2:38"
11473 },
11474 "src": "2887:77:38",
11475 "visibility": "internal"
11476 },
11477 {
11478 "body": {
11479 "id": 11736,
11480 "nodeType": "Block",
11481 "src": "3196:126:38",
11482 "statements": [
11483 {
11484 "expression": {
11485 "argumentTypes": null,
11486 "arguments": [
11487 {
11488 "argumentTypes": null,
11489 "commonType": {
11490 "typeIdentifier": "t_address",
11491 "typeString": "address"
11492 },
11493 "id": 11724,
11494 "isConstant": false,
11495 "isLValue": false,
11496 "isPure": false,
11497 "lValueRequested": false,
11498 "leftExpression": {
11499 "argumentTypes": null,
11500 "id": 11720,
11501 "name": "newOwner",
11502 "nodeType": "Identifier",
11503 "overloadedDeclarations": [],
11504 "referencedDeclaration": 11714,
11505 "src": "3214:8:38",
11506 "typeDescriptions": {
11507 "typeIdentifier": "t_address",
11508 "typeString": "address"
11509 }
11510 },
11511 "nodeType": "BinaryOperation",
11512 "operator": "!=",
11513 "rightExpression": {
11514 "argumentTypes": null,
11515 "arguments": [
11516 {
11517 "argumentTypes": null,
11518 "hexValue": "30",
11519 "id": 11722,
11520 "isConstant": false,
11521 "isLValue": false,
11522 "isPure": true,
11523 "kind": "number",
11524 "lValueRequested": false,
11525 "nodeType": "Literal",
11526 "src": "3234:1:38",
11527 "subdenomination": null,
11528 "typeDescriptions": {
11529 "typeIdentifier": "t_rational_0_by_1",
11530 "typeString": "int_const 0"
11531 },
11532 "value": "0"
11533 }
11534 ],
11535 "expression": {
11536 "argumentTypes": [
11537 {
11538 "typeIdentifier": "t_rational_0_by_1",
11539 "typeString": "int_const 0"
11540 }
11541 ],
11542 "id": 11721,
11543 "isConstant": false,
11544 "isLValue": false,
11545 "isPure": true,
11546 "lValueRequested": false,
11547 "nodeType": "ElementaryTypeNameExpression",
11548 "src": "3226:7:38",
11549 "typeDescriptions": {
11550 "typeIdentifier": "t_type$_t_address_$",
11551 "typeString": "type(address)"
11552 },
11553 "typeName": "address"
11554 },
11555 "id": 11723,
11556 "isConstant": false,
11557 "isLValue": false,
11558 "isPure": true,
11559 "kind": "typeConversion",
11560 "lValueRequested": false,
11561 "names": [],
11562 "nodeType": "FunctionCall",
11563 "src": "3226:10:38",
11564 "typeDescriptions": {
11565 "typeIdentifier": "t_address",
11566 "typeString": "address"
11567 }
11568 },
11569 "src": "3214:22:38",
11570 "typeDescriptions": {
11571 "typeIdentifier": "t_bool",
11572 "typeString": "bool"
11573 }
11574 }
11575 ],
11576 "expression": {
11577 "argumentTypes": [
11578 {
11579 "typeIdentifier": "t_bool",
11580 "typeString": "bool"
11581 }
11582 ],
11583 "id": 11719,
11584 "name": "require",
11585 "nodeType": "Identifier",
11586 "overloadedDeclarations": [
11587 12095,
11588 12096
11589 ],
11590 "referencedDeclaration": 12095,
11591 "src": "3206:7:38",
11592 "typeDescriptions": {
11593 "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
11594 "typeString": "function (bool) pure"
11595 }
11596 },
11597 "id": 11725,
11598 "isConstant": false,
11599 "isLValue": false,
11600 "isPure": false,
11601 "kind": "functionCall",
11602 "lValueRequested": false,
11603 "names": [],
11604 "nodeType": "FunctionCall",
11605 "src": "3206:31:38",
11606 "typeDescriptions": {
11607 "typeIdentifier": "t_tuple$__$",
11608 "typeString": "tuple()"
11609 }
11610 },
11611 "id": 11726,
11612 "nodeType": "ExpressionStatement",
11613 "src": "3206:31:38"
11614 },
11615 {
11616 "eventCall": {
11617 "argumentTypes": null,
11618 "arguments": [
11619 {
11620 "argumentTypes": null,
11621 "id": 11728,
11622 "name": "owner",
11623 "nodeType": "Identifier",
11624 "overloadedDeclarations": [],
11625 "referencedDeclaration": 11686,
11626 "src": "3273:5:38",
11627 "typeDescriptions": {
11628 "typeIdentifier": "t_address",
11629 "typeString": "address"
11630 }
11631 },
11632 {
11633 "argumentTypes": null,
11634 "id": 11729,
11635 "name": "newOwner",
11636 "nodeType": "Identifier",
11637 "overloadedDeclarations": [],
11638 "referencedDeclaration": 11714,
11639 "src": "3280:8:38",
11640 "typeDescriptions": {
11641 "typeIdentifier": "t_address",
11642 "typeString": "address"
11643 }
11644 }
11645 ],
11646 "expression": {
11647 "argumentTypes": [
11648 {
11649 "typeIdentifier": "t_address",
11650 "typeString": "address"
11651 },
11652 {
11653 "typeIdentifier": "t_address",
11654 "typeString": "address"
11655 }
11656 ],
11657 "id": 11727,
11658 "name": "OwnershipTransferred",
11659 "nodeType": "Identifier",
11660 "overloadedDeclarations": [],
11661 "referencedDeclaration": 11692,
11662 "src": "3252:20:38",
11663 "typeDescriptions": {
11664 "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$",
11665 "typeString": "function (address,address)"
11666 }
11667 },
11668 "id": 11730,
11669 "isConstant": false,
11670 "isLValue": false,
11671 "isPure": false,
11672 "kind": "functionCall",
11673 "lValueRequested": false,
11674 "names": [],
11675 "nodeType": "FunctionCall",
11676 "src": "3252:37:38",
11677 "typeDescriptions": {
11678 "typeIdentifier": "t_tuple$__$",
11679 "typeString": "tuple()"
11680 }
11681 },
11682 "id": 11731,
11683 "nodeType": "EmitStatement",
11684 "src": "3247:42:38"
11685 },
11686 {
11687 "expression": {
11688 "argumentTypes": null,
11689 "id": 11734,
11690 "isConstant": false,
11691 "isLValue": false,
11692 "isPure": false,
11693 "lValueRequested": false,
11694 "leftHandSide": {
11695 "argumentTypes": null,
11696 "id": 11732,
11697 "name": "owner",
11698 "nodeType": "Identifier",
11699 "overloadedDeclarations": [],
11700 "referencedDeclaration": 11686,
11701 "src": "3299:5:38",
11702 "typeDescriptions": {
11703 "typeIdentifier": "t_address",
11704 "typeString": "address"
11705 }
11706 },
11707 "nodeType": "Assignment",
11708 "operator": "=",
11709 "rightHandSide": {
11710 "argumentTypes": null,
11711 "id": 11733,
11712 "name": "newOwner",
11713 "nodeType": "Identifier",
11714 "overloadedDeclarations": [],
11715 "referencedDeclaration": 11714,
11716 "src": "3307:8:38",
11717 "typeDescriptions": {
11718 "typeIdentifier": "t_address",
11719 "typeString": "address"
11720 }
11721 },
11722 "src": "3299:16:38",
11723 "typeDescriptions": {
11724 "typeIdentifier": "t_address",
11725 "typeString": "address"
11726 }
11727 },
11728 "id": 11735,
11729 "nodeType": "ExpressionStatement",
11730 "src": "3299:16:38"
11731 }
11732 ]
11733 },
11734 "documentation": "@dev Allows the current owner to transfer control of the contract to a newOwner.\n@param newOwner The address to transfer ownership to.",
11735 "id": 11737,
11736 "implemented": true,
11737 "isConstructor": false,
11738 "isDeclaredConst": false,
11739 "modifiers": [
11740 {
11741 "arguments": null,
11742 "id": 11717,
11743 "modifierName": {
11744 "argumentTypes": null,
11745 "id": 11716,
11746 "name": "onlyOwner",
11747 "nodeType": "Identifier",
11748 "overloadedDeclarations": [],
11749 "referencedDeclaration": 11712,
11750 "src": "3179:9:38",
11751 "typeDescriptions": {
11752 "typeIdentifier": "t_modifier$__$",
11753 "typeString": "modifier ()"
11754 }
11755 },
11756 "nodeType": "ModifierInvocation",
11757 "src": "3179:9:38"
11758 }
11759 ],
11760 "name": "transferOwnership",
11761 "nodeType": "FunctionDefinition",
11762 "parameters": {
11763 "id": 11715,
11764 "nodeType": "ParameterList",
11765 "parameters": [
11766 {
11767 "constant": false,
11768 "id": 11714,
11769 "name": "newOwner",
11770 "nodeType": "VariableDeclaration",
11771 "scope": 11737,
11772 "src": "3161:16:38",
11773 "stateVariable": false,
11774 "storageLocation": "default",
11775 "typeDescriptions": {
11776 "typeIdentifier": "t_address",
11777 "typeString": "address"
11778 },
11779 "typeName": {
11780 "id": 11713,
11781 "name": "address",
11782 "nodeType": "ElementaryTypeName",
11783 "src": "3161:7:38",
11784 "typeDescriptions": {
11785 "typeIdentifier": "t_address",
11786 "typeString": "address"
11787 }
11788 },
11789 "value": null,
11790 "visibility": "internal"
11791 }
11792 ],
11793 "src": "3160:18:38"
11794 },
11795 "payable": false,
11796 "returnParameters": {
11797 "id": 11718,
11798 "nodeType": "ParameterList",
11799 "parameters": [],
11800 "src": "3196:0:38"
11801 },
11802 "scope": 11738,
11803 "src": "3134:188:38",
11804 "stateMutability": "nonpayable",
11805 "superFunction": null,
11806 "visibility": "public"
11807 }
11808 ],
11809 "scope": 12078,
11810 "src": "2482:842:38"
11811 },
11812 {
11813 "baseContracts": [
11814 {
11815 "arguments": null,
11816 "baseName": {
11817 "contractScope": null,
11818 "id": 11739,
11819 "name": "ERC20",
11820 "nodeType": "UserDefinedTypeName",
11821 "referencedDeclaration": 11611,
11822 "src": "3352:5:38",
11823 "typeDescriptions": {
11824 "typeIdentifier": "t_contract$_ERC20_$11611",
11825 "typeString": "contract ERC20"
11826 }
11827 },
11828 "id": 11740,
11829 "nodeType": "InheritanceSpecifier",
11830 "src": "3352:5:38"
11831 },
11832 {
11833 "arguments": null,
11834 "baseName": {
11835 "contractScope": null,
11836 "id": 11741,
11837 "name": "BasicToken",
11838 "nodeType": "UserDefinedTypeName",
11839 "referencedDeclaration": 11684,
11840 "src": "3359:10:38",
11841 "typeDescriptions": {
11842 "typeIdentifier": "t_contract$_BasicToken_$11684",
11843 "typeString": "contract BasicToken"
11844 }
11845 },
11846 "id": 11742,
11847 "nodeType": "InheritanceSpecifier",
11848 "src": "3359:10:38"
11849 }
11850 ],
11851 "contractDependencies": [
11852 11571,
11853 11611,
11854 11684
11855 ],
11856 "contractKind": "contract",
11857 "documentation": null,
11858 "fullyImplemented": true,
11859 "id": 11965,
11860 "linearizedBaseContracts": [
11861 11965,
11862 11684,
11863 11611,
11864 11571
11865 ],
11866 "name": "StandardToken",
11867 "nodeType": "ContractDefinition",
11868 "nodes": [
11869 {
11870 "constant": false,
11871 "id": 11748,
11872 "name": "allowed",
11873 "nodeType": "VariableDeclaration",
11874 "scope": 11965,
11875 "src": "3376:57:38",
11876 "stateVariable": true,
11877 "storageLocation": "default",
11878 "typeDescriptions": {
11879 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
11880 "typeString": "mapping(address => mapping(address => uint256))"
11881 },
11882 "typeName": {
11883 "id": 11747,
11884 "keyType": {
11885 "id": 11743,
11886 "name": "address",
11887 "nodeType": "ElementaryTypeName",
11888 "src": "3385:7:38",
11889 "typeDescriptions": {
11890 "typeIdentifier": "t_address",
11891 "typeString": "address"
11892 }
11893 },
11894 "nodeType": "Mapping",
11895 "src": "3376:49:38",
11896 "typeDescriptions": {
11897 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
11898 "typeString": "mapping(address => mapping(address => uint256))"
11899 },
11900 "valueType": {
11901 "id": 11746,
11902 "keyType": {
11903 "id": 11744,
11904 "name": "address",
11905 "nodeType": "ElementaryTypeName",
11906 "src": "3405:7:38",
11907 "typeDescriptions": {
11908 "typeIdentifier": "t_address",
11909 "typeString": "address"
11910 }
11911 },
11912 "nodeType": "Mapping",
11913 "src": "3396:28:38",
11914 "typeDescriptions": {
11915 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
11916 "typeString": "mapping(address => uint256)"
11917 },
11918 "valueType": {
11919 "id": 11745,
11920 "name": "uint256",
11921 "nodeType": "ElementaryTypeName",
11922 "src": "3416:7:38",
11923 "typeDescriptions": {
11924 "typeIdentifier": "t_uint256",
11925 "typeString": "uint256"
11926 }
11927 }
11928 }
11929 },
11930 "value": null,
11931 "visibility": "internal"
11932 },
11933 {
11934 "body": {
11935 "id": 11818,
11936 "nodeType": "Block",
11937 "src": "3810:485:38",
11938 "statements": [
11939 {
11940 "expression": {
11941 "argumentTypes": null,
11942 "arguments": [
11943 {
11944 "argumentTypes": null,
11945 "commonType": {
11946 "typeIdentifier": "t_address",
11947 "typeString": "address"
11948 },
11949 "id": 11764,
11950 "isConstant": false,
11951 "isLValue": false,
11952 "isPure": false,
11953 "lValueRequested": false,
11954 "leftExpression": {
11955 "argumentTypes": null,
11956 "id": 11760,
11957 "name": "_to",
11958 "nodeType": "Identifier",
11959 "overloadedDeclarations": [],
11960 "referencedDeclaration": 11752,
11961 "src": "3828:3:38",
11962 "typeDescriptions": {
11963 "typeIdentifier": "t_address",
11964 "typeString": "address"
11965 }
11966 },
11967 "nodeType": "BinaryOperation",
11968 "operator": "!=",
11969 "rightExpression": {
11970 "argumentTypes": null,
11971 "arguments": [
11972 {
11973 "argumentTypes": null,
11974 "hexValue": "30",
11975 "id": 11762,
11976 "isConstant": false,
11977 "isLValue": false,
11978 "isPure": true,
11979 "kind": "number",
11980 "lValueRequested": false,
11981 "nodeType": "Literal",
11982 "src": "3843:1:38",
11983 "subdenomination": null,
11984 "typeDescriptions": {
11985 "typeIdentifier": "t_rational_0_by_1",
11986 "typeString": "int_const 0"
11987 },
11988 "value": "0"
11989 }
11990 ],
11991 "expression": {
11992 "argumentTypes": [
11993 {
11994 "typeIdentifier": "t_rational_0_by_1",
11995 "typeString": "int_const 0"
11996 }
11997 ],
11998 "id": 11761,
11999 "isConstant": false,
12000 "isLValue": false,
12001 "isPure": true,
12002 "lValueRequested": false,
12003 "nodeType": "ElementaryTypeNameExpression",
12004 "src": "3835:7:38",
12005 "typeDescriptions": {
12006 "typeIdentifier": "t_type$_t_address_$",
12007 "typeString": "type(address)"
12008 },
12009 "typeName": "address"
12010 },
12011 "id": 11763,
12012 "isConstant": false,
12013 "isLValue": false,
12014 "isPure": true,
12015 "kind": "typeConversion",
12016 "lValueRequested": false,
12017 "names": [],
12018 "nodeType": "FunctionCall",
12019 "src": "3835:10:38",
12020 "typeDescriptions": {
12021 "typeIdentifier": "t_address",
12022 "typeString": "address"
12023 }
12024 },
12025 "src": "3828:17:38",
12026 "typeDescriptions": {
12027 "typeIdentifier": "t_bool",
12028 "typeString": "bool"
12029 }
12030 }
12031 ],
12032 "expression": {
12033 "argumentTypes": [
12034 {
12035 "typeIdentifier": "t_bool",
12036 "typeString": "bool"
12037 }
12038 ],
12039 "id": 11759,
12040 "name": "require",
12041 "nodeType": "Identifier",
12042 "overloadedDeclarations": [
12043 12095,
12044 12096
12045 ],
12046 "referencedDeclaration": 12095,
12047 "src": "3820:7:38",
12048 "typeDescriptions": {
12049 "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
12050 "typeString": "function (bool) pure"
12051 }
12052 },
12053 "id": 11765,
12054 "isConstant": false,
12055 "isLValue": false,
12056 "isPure": false,
12057 "kind": "functionCall",
12058 "lValueRequested": false,
12059 "names": [],
12060 "nodeType": "FunctionCall",
12061 "src": "3820:26:38",
12062 "typeDescriptions": {
12063 "typeIdentifier": "t_tuple$__$",
12064 "typeString": "tuple()"
12065 }
12066 },
12067 "id": 11766,
12068 "nodeType": "ExpressionStatement",
12069 "src": "3820:26:38"
12070 },
12071 {
12072 "assignments": [
12073 11768
12074 ],
12075 "declarations": [
12076 {
12077 "constant": false,
12078 "id": 11768,
12079 "name": "_allowance",
12080 "nodeType": "VariableDeclaration",
12081 "scope": 11819,
12082 "src": "3856:18:38",
12083 "stateVariable": false,
12084 "storageLocation": "default",
12085 "typeDescriptions": {
12086 "typeIdentifier": "t_uint256",
12087 "typeString": "uint256"
12088 },
12089 "typeName": {
12090 "id": 11767,
12091 "name": "uint256",
12092 "nodeType": "ElementaryTypeName",
12093 "src": "3856:7:38",
12094 "typeDescriptions": {
12095 "typeIdentifier": "t_uint256",
12096 "typeString": "uint256"
12097 }
12098 },
12099 "value": null,
12100 "visibility": "internal"
12101 }
12102 ],
12103 "id": 11775,
12104 "initialValue": {
12105 "argumentTypes": null,
12106 "baseExpression": {
12107 "argumentTypes": null,
12108 "baseExpression": {
12109 "argumentTypes": null,
12110 "id": 11769,
12111 "name": "allowed",
12112 "nodeType": "Identifier",
12113 "overloadedDeclarations": [],
12114 "referencedDeclaration": 11748,
12115 "src": "3877:7:38",
12116 "typeDescriptions": {
12117 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
12118 "typeString": "mapping(address => mapping(address => uint256))"
12119 }
12120 },
12121 "id": 11771,
12122 "indexExpression": {
12123 "argumentTypes": null,
12124 "id": 11770,
12125 "name": "_from",
12126 "nodeType": "Identifier",
12127 "overloadedDeclarations": [],
12128 "referencedDeclaration": 11750,
12129 "src": "3885:5:38",
12130 "typeDescriptions": {
12131 "typeIdentifier": "t_address",
12132 "typeString": "address"
12133 }
12134 },
12135 "isConstant": false,
12136 "isLValue": true,
12137 "isPure": false,
12138 "lValueRequested": false,
12139 "nodeType": "IndexAccess",
12140 "src": "3877:14:38",
12141 "typeDescriptions": {
12142 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
12143 "typeString": "mapping(address => uint256)"
12144 }
12145 },
12146 "id": 11774,
12147 "indexExpression": {
12148 "argumentTypes": null,
12149 "expression": {
12150 "argumentTypes": null,
12151 "id": 11772,
12152 "name": "msg",
12153 "nodeType": "Identifier",
12154 "overloadedDeclarations": [],
12155 "referencedDeclaration": 12092,
12156 "src": "3892:3:38",
12157 "typeDescriptions": {
12158 "typeIdentifier": "t_magic_message",
12159 "typeString": "msg"
12160 }
12161 },
12162 "id": 11773,
12163 "isConstant": false,
12164 "isLValue": false,
12165 "isPure": false,
12166 "lValueRequested": false,
12167 "memberName": "sender",
12168 "nodeType": "MemberAccess",
12169 "referencedDeclaration": null,
12170 "src": "3892:10:38",
12171 "typeDescriptions": {
12172 "typeIdentifier": "t_address",
12173 "typeString": "address"
12174 }
12175 },
12176 "isConstant": false,
12177 "isLValue": true,
12178 "isPure": false,
12179 "lValueRequested": false,
12180 "nodeType": "IndexAccess",
12181 "src": "3877:26:38",
12182 "typeDescriptions": {
12183 "typeIdentifier": "t_uint256",
12184 "typeString": "uint256"
12185 }
12186 },
12187 "nodeType": "VariableDeclarationStatement",
12188 "src": "3856:47:38"
12189 },
12190 {
12191 "expression": {
12192 "argumentTypes": null,
12193 "id": 11785,
12194 "isConstant": false,
12195 "isLValue": false,
12196 "isPure": false,
12197 "lValueRequested": false,
12198 "leftHandSide": {
12199 "argumentTypes": null,
12200 "baseExpression": {
12201 "argumentTypes": null,
12202 "id": 11776,
12203 "name": "balances",
12204 "nodeType": "Identifier",
12205 "overloadedDeclarations": [],
12206 "referencedDeclaration": 11620,
12207 "src": "4067:8:38",
12208 "typeDescriptions": {
12209 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
12210 "typeString": "mapping(address => uint256)"
12211 }
12212 },
12213 "id": 11778,
12214 "indexExpression": {
12215 "argumentTypes": null,
12216 "id": 11777,
12217 "name": "_from",
12218 "nodeType": "Identifier",
12219 "overloadedDeclarations": [],
12220 "referencedDeclaration": 11750,
12221 "src": "4076:5:38",
12222 "typeDescriptions": {
12223 "typeIdentifier": "t_address",
12224 "typeString": "address"
12225 }
12226 },
12227 "isConstant": false,
12228 "isLValue": true,
12229 "isPure": false,
12230 "lValueRequested": true,
12231 "nodeType": "IndexAccess",
12232 "src": "4067:15:38",
12233 "typeDescriptions": {
12234 "typeIdentifier": "t_uint256",
12235 "typeString": "uint256"
12236 }
12237 },
12238 "nodeType": "Assignment",
12239 "operator": "=",
12240 "rightHandSide": {
12241 "argumentTypes": null,
12242 "arguments": [
12243 {
12244 "argumentTypes": null,
12245 "id": 11783,
12246 "name": "_value",
12247 "nodeType": "Identifier",
12248 "overloadedDeclarations": [],
12249 "referencedDeclaration": 11754,
12250 "src": "4105:6:38",
12251 "typeDescriptions": {
12252 "typeIdentifier": "t_uint256",
12253 "typeString": "uint256"
12254 }
12255 }
12256 ],
12257 "expression": {
12258 "argumentTypes": [
12259 {
12260 "typeIdentifier": "t_uint256",
12261 "typeString": "uint256"
12262 }
12263 ],
12264 "expression": {
12265 "argumentTypes": null,
12266 "baseExpression": {
12267 "argumentTypes": null,
12268 "id": 11779,
12269 "name": "balances",
12270 "nodeType": "Identifier",
12271 "overloadedDeclarations": [],
12272 "referencedDeclaration": 11620,
12273 "src": "4085:8:38",
12274 "typeDescriptions": {
12275 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
12276 "typeString": "mapping(address => uint256)"
12277 }
12278 },
12279 "id": 11781,
12280 "indexExpression": {
12281 "argumentTypes": null,
12282 "id": 11780,
12283 "name": "_from",
12284 "nodeType": "Identifier",
12285 "overloadedDeclarations": [],
12286 "referencedDeclaration": 11750,
12287 "src": "4094:5:38",
12288 "typeDescriptions": {
12289 "typeIdentifier": "t_address",
12290 "typeString": "address"
12291 }
12292 },
12293 "isConstant": false,
12294 "isLValue": true,
12295 "isPure": false,
12296 "lValueRequested": false,
12297 "nodeType": "IndexAccess",
12298 "src": "4085:15:38",
12299 "typeDescriptions": {
12300 "typeIdentifier": "t_uint256",
12301 "typeString": "uint256"
12302 }
12303 },
12304 "id": 11782,
12305 "isConstant": false,
12306 "isLValue": false,
12307 "isPure": false,
12308 "lValueRequested": false,
12309 "memberName": "sub",
12310 "nodeType": "MemberAccess",
12311 "referencedDeclaration": 11519,
12312 "src": "4085:19:38",
12313 "typeDescriptions": {
12314 "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
12315 "typeString": "function (uint256,uint256) pure returns (uint256)"
12316 }
12317 },
12318 "id": 11784,
12319 "isConstant": false,
12320 "isLValue": false,
12321 "isPure": false,
12322 "kind": "functionCall",
12323 "lValueRequested": false,
12324 "names": [],
12325 "nodeType": "FunctionCall",
12326 "src": "4085:27:38",
12327 "typeDescriptions": {
12328 "typeIdentifier": "t_uint256",
12329 "typeString": "uint256"
12330 }
12331 },
12332 "src": "4067:45:38",
12333 "typeDescriptions": {
12334 "typeIdentifier": "t_uint256",
12335 "typeString": "uint256"
12336 }
12337 },
12338 "id": 11786,
12339 "nodeType": "ExpressionStatement",
12340 "src": "4067:45:38"
12341 },
12342 {
12343 "expression": {
12344 "argumentTypes": null,
12345 "id": 11796,
12346 "isConstant": false,
12347 "isLValue": false,
12348 "isPure": false,
12349 "lValueRequested": false,
12350 "leftHandSide": {
12351 "argumentTypes": null,
12352 "baseExpression": {
12353 "argumentTypes": null,
12354 "id": 11787,
12355 "name": "balances",
12356 "nodeType": "Identifier",
12357 "overloadedDeclarations": [],
12358 "referencedDeclaration": 11620,
12359 "src": "4122:8:38",
12360 "typeDescriptions": {
12361 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
12362 "typeString": "mapping(address => uint256)"
12363 }
12364 },
12365 "id": 11789,
12366 "indexExpression": {
12367 "argumentTypes": null,
12368 "id": 11788,
12369 "name": "_to",
12370 "nodeType": "Identifier",
12371 "overloadedDeclarations": [],
12372 "referencedDeclaration": 11752,
12373 "src": "4131:3:38",
12374 "typeDescriptions": {
12375 "typeIdentifier": "t_address",
12376 "typeString": "address"
12377 }
12378 },
12379 "isConstant": false,
12380 "isLValue": true,
12381 "isPure": false,
12382 "lValueRequested": true,
12383 "nodeType": "IndexAccess",
12384 "src": "4122:13:38",
12385 "typeDescriptions": {
12386 "typeIdentifier": "t_uint256",
12387 "typeString": "uint256"
12388 }
12389 },
12390 "nodeType": "Assignment",
12391 "operator": "=",
12392 "rightHandSide": {
12393 "argumentTypes": null,
12394 "arguments": [
12395 {
12396 "argumentTypes": null,
12397 "id": 11794,
12398 "name": "_value",
12399 "nodeType": "Identifier",
12400 "overloadedDeclarations": [],
12401 "referencedDeclaration": 11754,
12402 "src": "4156:6:38",
12403 "typeDescriptions": {
12404 "typeIdentifier": "t_uint256",
12405 "typeString": "uint256"
12406 }
12407 }
12408 ],
12409 "expression": {
12410 "argumentTypes": [
12411 {
12412 "typeIdentifier": "t_uint256",
12413 "typeString": "uint256"
12414 }
12415 ],
12416 "expression": {
12417 "argumentTypes": null,
12418 "baseExpression": {
12419 "argumentTypes": null,
12420 "id": 11790,
12421 "name": "balances",
12422 "nodeType": "Identifier",
12423 "overloadedDeclarations": [],
12424 "referencedDeclaration": 11620,
12425 "src": "4138:8:38",
12426 "typeDescriptions": {
12427 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
12428 "typeString": "mapping(address => uint256)"
12429 }
12430 },
12431 "id": 11792,
12432 "indexExpression": {
12433 "argumentTypes": null,
12434 "id": 11791,
12435 "name": "_to",
12436 "nodeType": "Identifier",
12437 "overloadedDeclarations": [],
12438 "referencedDeclaration": 11752,
12439 "src": "4147:3:38",
12440 "typeDescriptions": {
12441 "typeIdentifier": "t_address",
12442 "typeString": "address"
12443 }
12444 },
12445 "isConstant": false,
12446 "isLValue": true,
12447 "isPure": false,
12448 "lValueRequested": false,
12449 "nodeType": "IndexAccess",
12450 "src": "4138:13:38",
12451 "typeDescriptions": {
12452 "typeIdentifier": "t_uint256",
12453 "typeString": "uint256"
12454 }
12455 },
12456 "id": 11793,
12457 "isConstant": false,
12458 "isLValue": false,
12459 "isPure": false,
12460 "lValueRequested": false,
12461 "memberName": "add",
12462 "nodeType": "MemberAccess",
12463 "referencedDeclaration": 11543,
12464 "src": "4138:17:38",
12465 "typeDescriptions": {
12466 "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
12467 "typeString": "function (uint256,uint256) pure returns (uint256)"
12468 }
12469 },
12470 "id": 11795,
12471 "isConstant": false,
12472 "isLValue": false,
12473 "isPure": false,
12474 "kind": "functionCall",
12475 "lValueRequested": false,
12476 "names": [],
12477 "nodeType": "FunctionCall",
12478 "src": "4138:25:38",
12479 "typeDescriptions": {
12480 "typeIdentifier": "t_uint256",
12481 "typeString": "uint256"
12482 }
12483 },
12484 "src": "4122:41:38",
12485 "typeDescriptions": {
12486 "typeIdentifier": "t_uint256",
12487 "typeString": "uint256"
12488 }
12489 },
12490 "id": 11797,
12491 "nodeType": "ExpressionStatement",
12492 "src": "4122:41:38"
12493 },
12494 {
12495 "expression": {
12496 "argumentTypes": null,
12497 "id": 11808,
12498 "isConstant": false,
12499 "isLValue": false,
12500 "isPure": false,
12501 "lValueRequested": false,
12502 "leftHandSide": {
12503 "argumentTypes": null,
12504 "baseExpression": {
12505 "argumentTypes": null,
12506 "baseExpression": {
12507 "argumentTypes": null,
12508 "id": 11798,
12509 "name": "allowed",
12510 "nodeType": "Identifier",
12511 "overloadedDeclarations": [],
12512 "referencedDeclaration": 11748,
12513 "src": "4173:7:38",
12514 "typeDescriptions": {
12515 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
12516 "typeString": "mapping(address => mapping(address => uint256))"
12517 }
12518 },
12519 "id": 11802,
12520 "indexExpression": {
12521 "argumentTypes": null,
12522 "id": 11799,
12523 "name": "_from",
12524 "nodeType": "Identifier",
12525 "overloadedDeclarations": [],
12526 "referencedDeclaration": 11750,
12527 "src": "4181:5:38",
12528 "typeDescriptions": {
12529 "typeIdentifier": "t_address",
12530 "typeString": "address"
12531 }
12532 },
12533 "isConstant": false,
12534 "isLValue": true,
12535 "isPure": false,
12536 "lValueRequested": false,
12537 "nodeType": "IndexAccess",
12538 "src": "4173:14:38",
12539 "typeDescriptions": {
12540 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
12541 "typeString": "mapping(address => uint256)"
12542 }
12543 },
12544 "id": 11803,
12545 "indexExpression": {
12546 "argumentTypes": null,
12547 "expression": {
12548 "argumentTypes": null,
12549 "id": 11800,
12550 "name": "msg",
12551 "nodeType": "Identifier",
12552 "overloadedDeclarations": [],
12553 "referencedDeclaration": 12092,
12554 "src": "4188:3:38",
12555 "typeDescriptions": {
12556 "typeIdentifier": "t_magic_message",
12557 "typeString": "msg"
12558 }
12559 },
12560 "id": 11801,
12561 "isConstant": false,
12562 "isLValue": false,
12563 "isPure": false,
12564 "lValueRequested": false,
12565 "memberName": "sender",
12566 "nodeType": "MemberAccess",
12567 "referencedDeclaration": null,
12568 "src": "4188:10:38",
12569 "typeDescriptions": {
12570 "typeIdentifier": "t_address",
12571 "typeString": "address"
12572 }
12573 },
12574 "isConstant": false,
12575 "isLValue": true,
12576 "isPure": false,
12577 "lValueRequested": true,
12578 "nodeType": "IndexAccess",
12579 "src": "4173:26:38",
12580 "typeDescriptions": {
12581 "typeIdentifier": "t_uint256",
12582 "typeString": "uint256"
12583 }
12584 },
12585 "nodeType": "Assignment",
12586 "operator": "=",
12587 "rightHandSide": {
12588 "argumentTypes": null,
12589 "arguments": [
12590 {
12591 "argumentTypes": null,
12592 "id": 11806,
12593 "name": "_value",
12594 "nodeType": "Identifier",
12595 "overloadedDeclarations": [],
12596 "referencedDeclaration": 11754,
12597 "src": "4217:6:38",
12598 "typeDescriptions": {
12599 "typeIdentifier": "t_uint256",
12600 "typeString": "uint256"
12601 }
12602 }
12603 ],
12604 "expression": {
12605 "argumentTypes": [
12606 {
12607 "typeIdentifier": "t_uint256",
12608 "typeString": "uint256"
12609 }
12610 ],
12611 "expression": {
12612 "argumentTypes": null,
12613 "id": 11804,
12614 "name": "_allowance",
12615 "nodeType": "Identifier",
12616 "overloadedDeclarations": [],
12617 "referencedDeclaration": 11768,
12618 "src": "4202:10:38",
12619 "typeDescriptions": {
12620 "typeIdentifier": "t_uint256",
12621 "typeString": "uint256"
12622 }
12623 },
12624 "id": 11805,
12625 "isConstant": false,
12626 "isLValue": false,
12627 "isPure": false,
12628 "lValueRequested": false,
12629 "memberName": "sub",
12630 "nodeType": "MemberAccess",
12631 "referencedDeclaration": 11519,
12632 "src": "4202:14:38",
12633 "typeDescriptions": {
12634 "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
12635 "typeString": "function (uint256,uint256) pure returns (uint256)"
12636 }
12637 },
12638 "id": 11807,
12639 "isConstant": false,
12640 "isLValue": false,
12641 "isPure": false,
12642 "kind": "functionCall",
12643 "lValueRequested": false,
12644 "names": [],
12645 "nodeType": "FunctionCall",
12646 "src": "4202:22:38",
12647 "typeDescriptions": {
12648 "typeIdentifier": "t_uint256",
12649 "typeString": "uint256"
12650 }
12651 },
12652 "src": "4173:51:38",
12653 "typeDescriptions": {
12654 "typeIdentifier": "t_uint256",
12655 "typeString": "uint256"
12656 }
12657 },
12658 "id": 11809,
12659 "nodeType": "ExpressionStatement",
12660 "src": "4173:51:38"
12661 },
12662 {
12663 "eventCall": {
12664 "argumentTypes": null,
12665 "arguments": [
12666 {
12667 "argumentTypes": null,
12668 "id": 11811,
12669 "name": "_from",
12670 "nodeType": "Identifier",
12671 "overloadedDeclarations": [],
12672 "referencedDeclaration": 11750,
12673 "src": "4248:5:38",
12674 "typeDescriptions": {
12675 "typeIdentifier": "t_address",
12676 "typeString": "address"
12677 }
12678 },
12679 {
12680 "argumentTypes": null,
12681 "id": 11812,
12682 "name": "_to",
12683 "nodeType": "Identifier",
12684 "overloadedDeclarations": [],
12685 "referencedDeclaration": 11752,
12686 "src": "4255:3:38",
12687 "typeDescriptions": {
12688 "typeIdentifier": "t_address",
12689 "typeString": "address"
12690 }
12691 },
12692 {
12693 "argumentTypes": null,
12694 "id": 11813,
12695 "name": "_value",
12696 "nodeType": "Identifier",
12697 "overloadedDeclarations": [],
12698 "referencedDeclaration": 11754,
12699 "src": "4260:6:38",
12700 "typeDescriptions": {
12701 "typeIdentifier": "t_uint256",
12702 "typeString": "uint256"
12703 }
12704 }
12705 ],
12706 "expression": {
12707 "argumentTypes": [
12708 {
12709 "typeIdentifier": "t_address",
12710 "typeString": "address"
12711 },
12712 {
12713 "typeIdentifier": "t_address",
12714 "typeString": "address"
12715 },
12716 {
12717 "typeIdentifier": "t_uint256",
12718 "typeString": "uint256"
12719 }
12720 ],
12721 "id": 11810,
12722 "name": "Transfer",
12723 "nodeType": "Identifier",
12724 "overloadedDeclarations": [],
12725 "referencedDeclaration": 11570,
12726 "src": "4239:8:38",
12727 "typeDescriptions": {
12728 "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
12729 "typeString": "function (address,address,uint256)"
12730 }
12731 },
12732 "id": 11814,
12733 "isConstant": false,
12734 "isLValue": false,
12735 "isPure": false,
12736 "kind": "functionCall",
12737 "lValueRequested": false,
12738 "names": [],
12739 "nodeType": "FunctionCall",
12740 "src": "4239:28:38",
12741 "typeDescriptions": {
12742 "typeIdentifier": "t_tuple$__$",
12743 "typeString": "tuple()"
12744 }
12745 },
12746 "id": 11815,
12747 "nodeType": "EmitStatement",
12748 "src": "4234:33:38"
12749 },
12750 {
12751 "expression": {
12752 "argumentTypes": null,
12753 "hexValue": "74727565",
12754 "id": 11816,
12755 "isConstant": false,
12756 "isLValue": false,
12757 "isPure": true,
12758 "kind": "bool",
12759 "lValueRequested": false,
12760 "nodeType": "Literal",
12761 "src": "4284:4:38",
12762 "subdenomination": null,
12763 "typeDescriptions": {
12764 "typeIdentifier": "t_bool",
12765 "typeString": "bool"
12766 },
12767 "value": "true"
12768 },
12769 "functionReturnParameters": 11758,
12770 "id": 11817,
12771 "nodeType": "Return",
12772 "src": "4277:11:38"
12773 }
12774 ]
12775 },
12776 "documentation": "@dev Transfer tokens from one address to another\n@param _from address The address which you want to send tokens from\n@param _to address The address which you want to transfer to\n@param _value uint256 the amount of tokens to be transferred",
12777 "id": 11819,
12778 "implemented": true,
12779 "isConstructor": false,
12780 "isDeclaredConst": false,
12781 "modifiers": [],
12782 "name": "transferFrom",
12783 "nodeType": "FunctionDefinition",
12784 "parameters": {
12785 "id": 11755,
12786 "nodeType": "ParameterList",
12787 "parameters": [
12788 {
12789 "constant": false,
12790 "id": 11750,
12791 "name": "_from",
12792 "nodeType": "VariableDeclaration",
12793 "scope": 11819,
12794 "src": "3744:13:38",
12795 "stateVariable": false,
12796 "storageLocation": "default",
12797 "typeDescriptions": {
12798 "typeIdentifier": "t_address",
12799 "typeString": "address"
12800 },
12801 "typeName": {
12802 "id": 11749,
12803 "name": "address",
12804 "nodeType": "ElementaryTypeName",
12805 "src": "3744:7:38",
12806 "typeDescriptions": {
12807 "typeIdentifier": "t_address",
12808 "typeString": "address"
12809 }
12810 },
12811 "value": null,
12812 "visibility": "internal"
12813 },
12814 {
12815 "constant": false,
12816 "id": 11752,
12817 "name": "_to",
12818 "nodeType": "VariableDeclaration",
12819 "scope": 11819,
12820 "src": "3759:11:38",
12821 "stateVariable": false,
12822 "storageLocation": "default",
12823 "typeDescriptions": {
12824 "typeIdentifier": "t_address",
12825 "typeString": "address"
12826 },
12827 "typeName": {
12828 "id": 11751,
12829 "name": "address",
12830 "nodeType": "ElementaryTypeName",
12831 "src": "3759:7:38",
12832 "typeDescriptions": {
12833 "typeIdentifier": "t_address",
12834 "typeString": "address"
12835 }
12836 },
12837 "value": null,
12838 "visibility": "internal"
12839 },
12840 {
12841 "constant": false,
12842 "id": 11754,
12843 "name": "_value",
12844 "nodeType": "VariableDeclaration",
12845 "scope": 11819,
12846 "src": "3772:14:38",
12847 "stateVariable": false,
12848 "storageLocation": "default",
12849 "typeDescriptions": {
12850 "typeIdentifier": "t_uint256",
12851 "typeString": "uint256"
12852 },
12853 "typeName": {
12854 "id": 11753,
12855 "name": "uint256",
12856 "nodeType": "ElementaryTypeName",
12857 "src": "3772:7:38",
12858 "typeDescriptions": {
12859 "typeIdentifier": "t_uint256",
12860 "typeString": "uint256"
12861 }
12862 },
12863 "value": null,
12864 "visibility": "internal"
12865 }
12866 ],
12867 "src": "3743:44:38"
12868 },
12869 "payable": false,
12870 "returnParameters": {
12871 "id": 11758,
12872 "nodeType": "ParameterList",
12873 "parameters": [
12874 {
12875 "constant": false,
12876 "id": 11757,
12877 "name": "",
12878 "nodeType": "VariableDeclaration",
12879 "scope": 11819,
12880 "src": "3804:4:38",
12881 "stateVariable": false,
12882 "storageLocation": "default",
12883 "typeDescriptions": {
12884 "typeIdentifier": "t_bool",
12885 "typeString": "bool"
12886 },
12887 "typeName": {
12888 "id": 11756,
12889 "name": "bool",
12890 "nodeType": "ElementaryTypeName",
12891 "src": "3804:4:38",
12892 "typeDescriptions": {
12893 "typeIdentifier": "t_bool",
12894 "typeString": "bool"
12895 }
12896 },
12897 "value": null,
12898 "visibility": "internal"
12899 }
12900 ],
12901 "src": "3803:6:38"
12902 },
12903 "scope": 11965,
12904 "src": "3722:573:38",
12905 "stateMutability": "nonpayable",
12906 "superFunction": 11593,
12907 "visibility": "public"
12908 },
12909 {
12910 "body": {
12911 "id": 11846,
12912 "nodeType": "Block",
12913 "src": "5012:129:38",
12914 "statements": [
12915 {
12916 "expression": {
12917 "argumentTypes": null,
12918 "id": 11835,
12919 "isConstant": false,
12920 "isLValue": false,
12921 "isPure": false,
12922 "lValueRequested": false,
12923 "leftHandSide": {
12924 "argumentTypes": null,
12925 "baseExpression": {
12926 "argumentTypes": null,
12927 "baseExpression": {
12928 "argumentTypes": null,
12929 "id": 11828,
12930 "name": "allowed",
12931 "nodeType": "Identifier",
12932 "overloadedDeclarations": [],
12933 "referencedDeclaration": 11748,
12934 "src": "5022:7:38",
12935 "typeDescriptions": {
12936 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
12937 "typeString": "mapping(address => mapping(address => uint256))"
12938 }
12939 },
12940 "id": 11832,
12941 "indexExpression": {
12942 "argumentTypes": null,
12943 "expression": {
12944 "argumentTypes": null,
12945 "id": 11829,
12946 "name": "msg",
12947 "nodeType": "Identifier",
12948 "overloadedDeclarations": [],
12949 "referencedDeclaration": 12092,
12950 "src": "5030:3:38",
12951 "typeDescriptions": {
12952 "typeIdentifier": "t_magic_message",
12953 "typeString": "msg"
12954 }
12955 },
12956 "id": 11830,
12957 "isConstant": false,
12958 "isLValue": false,
12959 "isPure": false,
12960 "lValueRequested": false,
12961 "memberName": "sender",
12962 "nodeType": "MemberAccess",
12963 "referencedDeclaration": null,
12964 "src": "5030:10:38",
12965 "typeDescriptions": {
12966 "typeIdentifier": "t_address",
12967 "typeString": "address"
12968 }
12969 },
12970 "isConstant": false,
12971 "isLValue": true,
12972 "isPure": false,
12973 "lValueRequested": false,
12974 "nodeType": "IndexAccess",
12975 "src": "5022:19:38",
12976 "typeDescriptions": {
12977 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
12978 "typeString": "mapping(address => uint256)"
12979 }
12980 },
12981 "id": 11833,
12982 "indexExpression": {
12983 "argumentTypes": null,
12984 "id": 11831,
12985 "name": "_spender",
12986 "nodeType": "Identifier",
12987 "overloadedDeclarations": [],
12988 "referencedDeclaration": 11821,
12989 "src": "5042:8:38",
12990 "typeDescriptions": {
12991 "typeIdentifier": "t_address",
12992 "typeString": "address"
12993 }
12994 },
12995 "isConstant": false,
12996 "isLValue": true,
12997 "isPure": false,
12998 "lValueRequested": true,
12999 "nodeType": "IndexAccess",
13000 "src": "5022:29:38",
13001 "typeDescriptions": {
13002 "typeIdentifier": "t_uint256",
13003 "typeString": "uint256"
13004 }
13005 },
13006 "nodeType": "Assignment",
13007 "operator": "=",
13008 "rightHandSide": {
13009 "argumentTypes": null,
13010 "id": 11834,
13011 "name": "_value",
13012 "nodeType": "Identifier",
13013 "overloadedDeclarations": [],
13014 "referencedDeclaration": 11823,
13015 "src": "5054:6:38",
13016 "typeDescriptions": {
13017 "typeIdentifier": "t_uint256",
13018 "typeString": "uint256"
13019 }
13020 },
13021 "src": "5022:38:38",
13022 "typeDescriptions": {
13023 "typeIdentifier": "t_uint256",
13024 "typeString": "uint256"
13025 }
13026 },
13027 "id": 11836,
13028 "nodeType": "ExpressionStatement",
13029 "src": "5022:38:38"
13030 },
13031 {
13032 "eventCall": {
13033 "argumentTypes": null,
13034 "arguments": [
13035 {
13036 "argumentTypes": null,
13037 "expression": {
13038 "argumentTypes": null,
13039 "id": 11838,
13040 "name": "msg",
13041 "nodeType": "Identifier",
13042 "overloadedDeclarations": [],
13043 "referencedDeclaration": 12092,
13044 "src": "5084:3:38",
13045 "typeDescriptions": {
13046 "typeIdentifier": "t_magic_message",
13047 "typeString": "msg"
13048 }
13049 },
13050 "id": 11839,
13051 "isConstant": false,
13052 "isLValue": false,
13053 "isPure": false,
13054 "lValueRequested": false,
13055 "memberName": "sender",
13056 "nodeType": "MemberAccess",
13057 "referencedDeclaration": null,
13058 "src": "5084:10:38",
13059 "typeDescriptions": {
13060 "typeIdentifier": "t_address",
13061 "typeString": "address"
13062 }
13063 },
13064 {
13065 "argumentTypes": null,
13066 "id": 11840,
13067 "name": "_spender",
13068 "nodeType": "Identifier",
13069 "overloadedDeclarations": [],
13070 "referencedDeclaration": 11821,
13071 "src": "5096:8:38",
13072 "typeDescriptions": {
13073 "typeIdentifier": "t_address",
13074 "typeString": "address"
13075 }
13076 },
13077 {
13078 "argumentTypes": null,
13079 "id": 11841,
13080 "name": "_value",
13081 "nodeType": "Identifier",
13082 "overloadedDeclarations": [],
13083 "referencedDeclaration": 11823,
13084 "src": "5106:6:38",
13085 "typeDescriptions": {
13086 "typeIdentifier": "t_uint256",
13087 "typeString": "uint256"
13088 }
13089 }
13090 ],
13091 "expression": {
13092 "argumentTypes": [
13093 {
13094 "typeIdentifier": "t_address",
13095 "typeString": "address"
13096 },
13097 {
13098 "typeIdentifier": "t_address",
13099 "typeString": "address"
13100 },
13101 {
13102 "typeIdentifier": "t_uint256",
13103 "typeString": "uint256"
13104 }
13105 ],
13106 "id": 11837,
13107 "name": "Approval",
13108 "nodeType": "Identifier",
13109 "overloadedDeclarations": [],
13110 "referencedDeclaration": 11610,
13111 "src": "5075:8:38",
13112 "typeDescriptions": {
13113 "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
13114 "typeString": "function (address,address,uint256)"
13115 }
13116 },
13117 "id": 11842,
13118 "isConstant": false,
13119 "isLValue": false,
13120 "isPure": false,
13121 "kind": "functionCall",
13122 "lValueRequested": false,
13123 "names": [],
13124 "nodeType": "FunctionCall",
13125 "src": "5075:38:38",
13126 "typeDescriptions": {
13127 "typeIdentifier": "t_tuple$__$",
13128 "typeString": "tuple()"
13129 }
13130 },
13131 "id": 11843,
13132 "nodeType": "EmitStatement",
13133 "src": "5070:43:38"
13134 },
13135 {
13136 "expression": {
13137 "argumentTypes": null,
13138 "hexValue": "74727565",
13139 "id": 11844,
13140 "isConstant": false,
13141 "isLValue": false,
13142 "isPure": true,
13143 "kind": "bool",
13144 "lValueRequested": false,
13145 "nodeType": "Literal",
13146 "src": "5130:4:38",
13147 "subdenomination": null,
13148 "typeDescriptions": {
13149 "typeIdentifier": "t_bool",
13150 "typeString": "bool"
13151 },
13152 "value": "true"
13153 },
13154 "functionReturnParameters": 11827,
13155 "id": 11845,
13156 "nodeType": "Return",
13157 "src": "5123:11:38"
13158 }
13159 ]
13160 },
13161 "documentation": "@dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\n * Beware that changing an allowance with this method brings the risk that someone may use both the old\nand the new allowance by unfortunate transaction ordering. One possible solution to mitigate this\nrace condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n@param _spender The address which will spend the funds.\n@param _value The amount of tokens to be spent.",
13162 "id": 11847,
13163 "implemented": true,
13164 "isConstructor": false,
13165 "isDeclaredConst": false,
13166 "modifiers": [],
13167 "name": "approve",
13168 "nodeType": "FunctionDefinition",
13169 "parameters": {
13170 "id": 11824,
13171 "nodeType": "ParameterList",
13172 "parameters": [
13173 {
13174 "constant": false,
13175 "id": 11821,
13176 "name": "_spender",
13177 "nodeType": "VariableDeclaration",
13178 "scope": 11847,
13179 "src": "4956:16:38",
13180 "stateVariable": false,
13181 "storageLocation": "default",
13182 "typeDescriptions": {
13183 "typeIdentifier": "t_address",
13184 "typeString": "address"
13185 },
13186 "typeName": {
13187 "id": 11820,
13188 "name": "address",
13189 "nodeType": "ElementaryTypeName",
13190 "src": "4956:7:38",
13191 "typeDescriptions": {
13192 "typeIdentifier": "t_address",
13193 "typeString": "address"
13194 }
13195 },
13196 "value": null,
13197 "visibility": "internal"
13198 },
13199 {
13200 "constant": false,
13201 "id": 11823,
13202 "name": "_value",
13203 "nodeType": "VariableDeclaration",
13204 "scope": 11847,
13205 "src": "4974:14:38",
13206 "stateVariable": false,
13207 "storageLocation": "default",
13208 "typeDescriptions": {
13209 "typeIdentifier": "t_uint256",
13210 "typeString": "uint256"
13211 },
13212 "typeName": {
13213 "id": 11822,
13214 "name": "uint256",
13215 "nodeType": "ElementaryTypeName",
13216 "src": "4974:7:38",
13217 "typeDescriptions": {
13218 "typeIdentifier": "t_uint256",
13219 "typeString": "uint256"
13220 }
13221 },
13222 "value": null,
13223 "visibility": "internal"
13224 }
13225 ],
13226 "src": "4955:34:38"
13227 },
13228 "payable": false,
13229 "returnParameters": {
13230 "id": 11827,
13231 "nodeType": "ParameterList",
13232 "parameters": [
13233 {
13234 "constant": false,
13235 "id": 11826,
13236 "name": "",
13237 "nodeType": "VariableDeclaration",
13238 "scope": 11847,
13239 "src": "5006:4:38",
13240 "stateVariable": false,
13241 "storageLocation": "default",
13242 "typeDescriptions": {
13243 "typeIdentifier": "t_bool",
13244 "typeString": "bool"
13245 },
13246 "typeName": {
13247 "id": 11825,
13248 "name": "bool",
13249 "nodeType": "ElementaryTypeName",
13250 "src": "5006:4:38",
13251 "typeDescriptions": {
13252 "typeIdentifier": "t_bool",
13253 "typeString": "bool"
13254 }
13255 },
13256 "value": null,
13257 "visibility": "internal"
13258 }
13259 ],
13260 "src": "5005:6:38"
13261 },
13262 "scope": 11965,
13263 "src": "4939:202:38",
13264 "stateMutability": "nonpayable",
13265 "superFunction": 11602,
13266 "visibility": "public"
13267 },
13268 {
13269 "body": {
13270 "id": 11862,
13271 "nodeType": "Block",
13272 "src": "5570:49:38",
13273 "statements": [
13274 {
13275 "expression": {
13276 "argumentTypes": null,
13277 "baseExpression": {
13278 "argumentTypes": null,
13279 "baseExpression": {
13280 "argumentTypes": null,
13281 "id": 11856,
13282 "name": "allowed",
13283 "nodeType": "Identifier",
13284 "overloadedDeclarations": [],
13285 "referencedDeclaration": 11748,
13286 "src": "5587:7:38",
13287 "typeDescriptions": {
13288 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
13289 "typeString": "mapping(address => mapping(address => uint256))"
13290 }
13291 },
13292 "id": 11858,
13293 "indexExpression": {
13294 "argumentTypes": null,
13295 "id": 11857,
13296 "name": "_owner",
13297 "nodeType": "Identifier",
13298 "overloadedDeclarations": [],
13299 "referencedDeclaration": 11849,
13300 "src": "5595:6:38",
13301 "typeDescriptions": {
13302 "typeIdentifier": "t_address",
13303 "typeString": "address"
13304 }
13305 },
13306 "isConstant": false,
13307 "isLValue": true,
13308 "isPure": false,
13309 "lValueRequested": false,
13310 "nodeType": "IndexAccess",
13311 "src": "5587:15:38",
13312 "typeDescriptions": {
13313 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
13314 "typeString": "mapping(address => uint256)"
13315 }
13316 },
13317 "id": 11860,
13318 "indexExpression": {
13319 "argumentTypes": null,
13320 "id": 11859,
13321 "name": "_spender",
13322 "nodeType": "Identifier",
13323 "overloadedDeclarations": [],
13324 "referencedDeclaration": 11851,
13325 "src": "5603:8:38",
13326 "typeDescriptions": {
13327 "typeIdentifier": "t_address",
13328 "typeString": "address"
13329 }
13330 },
13331 "isConstant": false,
13332 "isLValue": true,
13333 "isPure": false,
13334 "lValueRequested": false,
13335 "nodeType": "IndexAccess",
13336 "src": "5587:25:38",
13337 "typeDescriptions": {
13338 "typeIdentifier": "t_uint256",
13339 "typeString": "uint256"
13340 }
13341 },
13342 "functionReturnParameters": 11855,
13343 "id": 11861,
13344 "nodeType": "Return",
13345 "src": "5580:32:38"
13346 }
13347 ]
13348 },
13349 "documentation": "@dev Function to check the amount of tokens that an owner allowed to a spender.\n@param _owner address The address which owns the funds.\n@param _spender address The address which will spend the funds.\n@return A uint256 specifying the amount of tokens still available for the spender.",
13350 "id": 11863,
13351 "implemented": true,
13352 "isConstructor": false,
13353 "isDeclaredConst": true,
13354 "modifiers": [],
13355 "name": "allowance",
13356 "nodeType": "FunctionDefinition",
13357 "parameters": {
13358 "id": 11852,
13359 "nodeType": "ParameterList",
13360 "parameters": [
13361 {
13362 "constant": false,
13363 "id": 11849,
13364 "name": "_owner",
13365 "nodeType": "VariableDeclaration",
13366 "scope": 11863,
13367 "src": "5492:14:38",
13368 "stateVariable": false,
13369 "storageLocation": "default",
13370 "typeDescriptions": {
13371 "typeIdentifier": "t_address",
13372 "typeString": "address"
13373 },
13374 "typeName": {
13375 "id": 11848,
13376 "name": "address",
13377 "nodeType": "ElementaryTypeName",
13378 "src": "5492:7:38",
13379 "typeDescriptions": {
13380 "typeIdentifier": "t_address",
13381 "typeString": "address"
13382 }
13383 },
13384 "value": null,
13385 "visibility": "internal"
13386 },
13387 {
13388 "constant": false,
13389 "id": 11851,
13390 "name": "_spender",
13391 "nodeType": "VariableDeclaration",
13392 "scope": 11863,
13393 "src": "5508:16:38",
13394 "stateVariable": false,
13395 "storageLocation": "default",
13396 "typeDescriptions": {
13397 "typeIdentifier": "t_address",
13398 "typeString": "address"
13399 },
13400 "typeName": {
13401 "id": 11850,
13402 "name": "address",
13403 "nodeType": "ElementaryTypeName",
13404 "src": "5508:7:38",
13405 "typeDescriptions": {
13406 "typeIdentifier": "t_address",
13407 "typeString": "address"
13408 }
13409 },
13410 "value": null,
13411 "visibility": "internal"
13412 }
13413 ],
13414 "src": "5491:34:38"
13415 },
13416 "payable": false,
13417 "returnParameters": {
13418 "id": 11855,
13419 "nodeType": "ParameterList",
13420 "parameters": [
13421 {
13422 "constant": false,
13423 "id": 11854,
13424 "name": "remaining",
13425 "nodeType": "VariableDeclaration",
13426 "scope": 11863,
13427 "src": "5551:17:38",
13428 "stateVariable": false,
13429 "storageLocation": "default",
13430 "typeDescriptions": {
13431 "typeIdentifier": "t_uint256",
13432 "typeString": "uint256"
13433 },
13434 "typeName": {
13435 "id": 11853,
13436 "name": "uint256",
13437 "nodeType": "ElementaryTypeName",
13438 "src": "5551:7:38",
13439 "typeDescriptions": {
13440 "typeIdentifier": "t_uint256",
13441 "typeString": "uint256"
13442 }
13443 },
13444 "value": null,
13445 "visibility": "internal"
13446 }
13447 ],
13448 "src": "5550:19:38"
13449 },
13450 "scope": 11965,
13451 "src": "5473:146:38",
13452 "stateMutability": "view",
13453 "superFunction": 11582,
13454 "visibility": "public"
13455 },
13456 {
13457 "body": {
13458 "id": 11903,
13459 "nodeType": "Block",
13460 "src": "5973:192:38",
13461 "statements": [
13462 {
13463 "expression": {
13464 "argumentTypes": null,
13465 "id": 11887,
13466 "isConstant": false,
13467 "isLValue": false,
13468 "isPure": false,
13469 "lValueRequested": false,
13470 "leftHandSide": {
13471 "argumentTypes": null,
13472 "baseExpression": {
13473 "argumentTypes": null,
13474 "baseExpression": {
13475 "argumentTypes": null,
13476 "id": 11872,
13477 "name": "allowed",
13478 "nodeType": "Identifier",
13479 "overloadedDeclarations": [],
13480 "referencedDeclaration": 11748,
13481 "src": "5983:7:38",
13482 "typeDescriptions": {
13483 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
13484 "typeString": "mapping(address => mapping(address => uint256))"
13485 }
13486 },
13487 "id": 11876,
13488 "indexExpression": {
13489 "argumentTypes": null,
13490 "expression": {
13491 "argumentTypes": null,
13492 "id": 11873,
13493 "name": "msg",
13494 "nodeType": "Identifier",
13495 "overloadedDeclarations": [],
13496 "referencedDeclaration": 12092,
13497 "src": "5991:3:38",
13498 "typeDescriptions": {
13499 "typeIdentifier": "t_magic_message",
13500 "typeString": "msg"
13501 }
13502 },
13503 "id": 11874,
13504 "isConstant": false,
13505 "isLValue": false,
13506 "isPure": false,
13507 "lValueRequested": false,
13508 "memberName": "sender",
13509 "nodeType": "MemberAccess",
13510 "referencedDeclaration": null,
13511 "src": "5991:10:38",
13512 "typeDescriptions": {
13513 "typeIdentifier": "t_address",
13514 "typeString": "address"
13515 }
13516 },
13517 "isConstant": false,
13518 "isLValue": true,
13519 "isPure": false,
13520 "lValueRequested": false,
13521 "nodeType": "IndexAccess",
13522 "src": "5983:19:38",
13523 "typeDescriptions": {
13524 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
13525 "typeString": "mapping(address => uint256)"
13526 }
13527 },
13528 "id": 11877,
13529 "indexExpression": {
13530 "argumentTypes": null,
13531 "id": 11875,
13532 "name": "_spender",
13533 "nodeType": "Identifier",
13534 "overloadedDeclarations": [],
13535 "referencedDeclaration": 11865,
13536 "src": "6003:8:38",
13537 "typeDescriptions": {
13538 "typeIdentifier": "t_address",
13539 "typeString": "address"
13540 }
13541 },
13542 "isConstant": false,
13543 "isLValue": true,
13544 "isPure": false,
13545 "lValueRequested": true,
13546 "nodeType": "IndexAccess",
13547 "src": "5983:29:38",
13548 "typeDescriptions": {
13549 "typeIdentifier": "t_uint256",
13550 "typeString": "uint256"
13551 }
13552 },
13553 "nodeType": "Assignment",
13554 "operator": "=",
13555 "rightHandSide": {
13556 "argumentTypes": null,
13557 "arguments": [
13558 {
13559 "argumentTypes": null,
13560 "id": 11885,
13561 "name": "_addedValue",
13562 "nodeType": "Identifier",
13563 "overloadedDeclarations": [],
13564 "referencedDeclaration": 11867,
13565 "src": "6049:11:38",
13566 "typeDescriptions": {
13567 "typeIdentifier": "t_uint256",
13568 "typeString": "uint256"
13569 }
13570 }
13571 ],
13572 "expression": {
13573 "argumentTypes": [
13574 {
13575 "typeIdentifier": "t_uint256",
13576 "typeString": "uint256"
13577 }
13578 ],
13579 "expression": {
13580 "argumentTypes": null,
13581 "baseExpression": {
13582 "argumentTypes": null,
13583 "baseExpression": {
13584 "argumentTypes": null,
13585 "id": 11878,
13586 "name": "allowed",
13587 "nodeType": "Identifier",
13588 "overloadedDeclarations": [],
13589 "referencedDeclaration": 11748,
13590 "src": "6015:7:38",
13591 "typeDescriptions": {
13592 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
13593 "typeString": "mapping(address => mapping(address => uint256))"
13594 }
13595 },
13596 "id": 11881,
13597 "indexExpression": {
13598 "argumentTypes": null,
13599 "expression": {
13600 "argumentTypes": null,
13601 "id": 11879,
13602 "name": "msg",
13603 "nodeType": "Identifier",
13604 "overloadedDeclarations": [],
13605 "referencedDeclaration": 12092,
13606 "src": "6023:3:38",
13607 "typeDescriptions": {
13608 "typeIdentifier": "t_magic_message",
13609 "typeString": "msg"
13610 }
13611 },
13612 "id": 11880,
13613 "isConstant": false,
13614 "isLValue": false,
13615 "isPure": false,
13616 "lValueRequested": false,
13617 "memberName": "sender",
13618 "nodeType": "MemberAccess",
13619 "referencedDeclaration": null,
13620 "src": "6023:10:38",
13621 "typeDescriptions": {
13622 "typeIdentifier": "t_address",
13623 "typeString": "address"
13624 }
13625 },
13626 "isConstant": false,
13627 "isLValue": true,
13628 "isPure": false,
13629 "lValueRequested": false,
13630 "nodeType": "IndexAccess",
13631 "src": "6015:19:38",
13632 "typeDescriptions": {
13633 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
13634 "typeString": "mapping(address => uint256)"
13635 }
13636 },
13637 "id": 11883,
13638 "indexExpression": {
13639 "argumentTypes": null,
13640 "id": 11882,
13641 "name": "_spender",
13642 "nodeType": "Identifier",
13643 "overloadedDeclarations": [],
13644 "referencedDeclaration": 11865,
13645 "src": "6035:8:38",
13646 "typeDescriptions": {
13647 "typeIdentifier": "t_address",
13648 "typeString": "address"
13649 }
13650 },
13651 "isConstant": false,
13652 "isLValue": true,
13653 "isPure": false,
13654 "lValueRequested": false,
13655 "nodeType": "IndexAccess",
13656 "src": "6015:29:38",
13657 "typeDescriptions": {
13658 "typeIdentifier": "t_uint256",
13659 "typeString": "uint256"
13660 }
13661 },
13662 "id": 11884,
13663 "isConstant": false,
13664 "isLValue": false,
13665 "isPure": false,
13666 "lValueRequested": false,
13667 "memberName": "add",
13668 "nodeType": "MemberAccess",
13669 "referencedDeclaration": 11543,
13670 "src": "6015:33:38",
13671 "typeDescriptions": {
13672 "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
13673 "typeString": "function (uint256,uint256) pure returns (uint256)"
13674 }
13675 },
13676 "id": 11886,
13677 "isConstant": false,
13678 "isLValue": false,
13679 "isPure": false,
13680 "kind": "functionCall",
13681 "lValueRequested": false,
13682 "names": [],
13683 "nodeType": "FunctionCall",
13684 "src": "6015:46:38",
13685 "typeDescriptions": {
13686 "typeIdentifier": "t_uint256",
13687 "typeString": "uint256"
13688 }
13689 },
13690 "src": "5983:78:38",
13691 "typeDescriptions": {
13692 "typeIdentifier": "t_uint256",
13693 "typeString": "uint256"
13694 }
13695 },
13696 "id": 11888,
13697 "nodeType": "ExpressionStatement",
13698 "src": "5983:78:38"
13699 },
13700 {
13701 "eventCall": {
13702 "argumentTypes": null,
13703 "arguments": [
13704 {
13705 "argumentTypes": null,
13706 "expression": {
13707 "argumentTypes": null,
13708 "id": 11890,
13709 "name": "msg",
13710 "nodeType": "Identifier",
13711 "overloadedDeclarations": [],
13712 "referencedDeclaration": 12092,
13713 "src": "6085:3:38",
13714 "typeDescriptions": {
13715 "typeIdentifier": "t_magic_message",
13716 "typeString": "msg"
13717 }
13718 },
13719 "id": 11891,
13720 "isConstant": false,
13721 "isLValue": false,
13722 "isPure": false,
13723 "lValueRequested": false,
13724 "memberName": "sender",
13725 "nodeType": "MemberAccess",
13726 "referencedDeclaration": null,
13727 "src": "6085:10:38",
13728 "typeDescriptions": {
13729 "typeIdentifier": "t_address",
13730 "typeString": "address"
13731 }
13732 },
13733 {
13734 "argumentTypes": null,
13735 "id": 11892,
13736 "name": "_spender",
13737 "nodeType": "Identifier",
13738 "overloadedDeclarations": [],
13739 "referencedDeclaration": 11865,
13740 "src": "6097:8:38",
13741 "typeDescriptions": {
13742 "typeIdentifier": "t_address",
13743 "typeString": "address"
13744 }
13745 },
13746 {
13747 "argumentTypes": null,
13748 "baseExpression": {
13749 "argumentTypes": null,
13750 "baseExpression": {
13751 "argumentTypes": null,
13752 "id": 11893,
13753 "name": "allowed",
13754 "nodeType": "Identifier",
13755 "overloadedDeclarations": [],
13756 "referencedDeclaration": 11748,
13757 "src": "6107:7:38",
13758 "typeDescriptions": {
13759 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
13760 "typeString": "mapping(address => mapping(address => uint256))"
13761 }
13762 },
13763 "id": 11896,
13764 "indexExpression": {
13765 "argumentTypes": null,
13766 "expression": {
13767 "argumentTypes": null,
13768 "id": 11894,
13769 "name": "msg",
13770 "nodeType": "Identifier",
13771 "overloadedDeclarations": [],
13772 "referencedDeclaration": 12092,
13773 "src": "6115:3:38",
13774 "typeDescriptions": {
13775 "typeIdentifier": "t_magic_message",
13776 "typeString": "msg"
13777 }
13778 },
13779 "id": 11895,
13780 "isConstant": false,
13781 "isLValue": false,
13782 "isPure": false,
13783 "lValueRequested": false,
13784 "memberName": "sender",
13785 "nodeType": "MemberAccess",
13786 "referencedDeclaration": null,
13787 "src": "6115:10:38",
13788 "typeDescriptions": {
13789 "typeIdentifier": "t_address",
13790 "typeString": "address"
13791 }
13792 },
13793 "isConstant": false,
13794 "isLValue": true,
13795 "isPure": false,
13796 "lValueRequested": false,
13797 "nodeType": "IndexAccess",
13798 "src": "6107:19:38",
13799 "typeDescriptions": {
13800 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
13801 "typeString": "mapping(address => uint256)"
13802 }
13803 },
13804 "id": 11898,
13805 "indexExpression": {
13806 "argumentTypes": null,
13807 "id": 11897,
13808 "name": "_spender",
13809 "nodeType": "Identifier",
13810 "overloadedDeclarations": [],
13811 "referencedDeclaration": 11865,
13812 "src": "6127:8:38",
13813 "typeDescriptions": {
13814 "typeIdentifier": "t_address",
13815 "typeString": "address"
13816 }
13817 },
13818 "isConstant": false,
13819 "isLValue": true,
13820 "isPure": false,
13821 "lValueRequested": false,
13822 "nodeType": "IndexAccess",
13823 "src": "6107:29:38",
13824 "typeDescriptions": {
13825 "typeIdentifier": "t_uint256",
13826 "typeString": "uint256"
13827 }
13828 }
13829 ],
13830 "expression": {
13831 "argumentTypes": [
13832 {
13833 "typeIdentifier": "t_address",
13834 "typeString": "address"
13835 },
13836 {
13837 "typeIdentifier": "t_address",
13838 "typeString": "address"
13839 },
13840 {
13841 "typeIdentifier": "t_uint256",
13842 "typeString": "uint256"
13843 }
13844 ],
13845 "id": 11889,
13846 "name": "Approval",
13847 "nodeType": "Identifier",
13848 "overloadedDeclarations": [],
13849 "referencedDeclaration": 11610,
13850 "src": "6076:8:38",
13851 "typeDescriptions": {
13852 "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
13853 "typeString": "function (address,address,uint256)"
13854 }
13855 },
13856 "id": 11899,
13857 "isConstant": false,
13858 "isLValue": false,
13859 "isPure": false,
13860 "kind": "functionCall",
13861 "lValueRequested": false,
13862 "names": [],
13863 "nodeType": "FunctionCall",
13864 "src": "6076:61:38",
13865 "typeDescriptions": {
13866 "typeIdentifier": "t_tuple$__$",
13867 "typeString": "tuple()"
13868 }
13869 },
13870 "id": 11900,
13871 "nodeType": "EmitStatement",
13872 "src": "6071:66:38"
13873 },
13874 {
13875 "expression": {
13876 "argumentTypes": null,
13877 "hexValue": "74727565",
13878 "id": 11901,
13879 "isConstant": false,
13880 "isLValue": false,
13881 "isPure": true,
13882 "kind": "bool",
13883 "lValueRequested": false,
13884 "nodeType": "Literal",
13885 "src": "6154:4:38",
13886 "subdenomination": null,
13887 "typeDescriptions": {
13888 "typeIdentifier": "t_bool",
13889 "typeString": "bool"
13890 },
13891 "value": "true"
13892 },
13893 "functionReturnParameters": 11871,
13894 "id": 11902,
13895 "nodeType": "Return",
13896 "src": "6147:11:38"
13897 }
13898 ]
13899 },
13900 "documentation": "approve should be called when allowed[_spender] == 0. To increment\nallowed value is better to use this function to avoid 2 calls (and wait until\nthe first transaction is mined)\nFrom MonolithDAO Token.sol",
13901 "id": 11904,
13902 "implemented": true,
13903 "isConstructor": false,
13904 "isDeclaredConst": false,
13905 "modifiers": [],
13906 "name": "increaseApproval",
13907 "nodeType": "FunctionDefinition",
13908 "parameters": {
13909 "id": 11868,
13910 "nodeType": "ParameterList",
13911 "parameters": [
13912 {
13913 "constant": false,
13914 "id": 11865,
13915 "name": "_spender",
13916 "nodeType": "VariableDeclaration",
13917 "scope": 11904,
13918 "src": "5899:16:38",
13919 "stateVariable": false,
13920 "storageLocation": "default",
13921 "typeDescriptions": {
13922 "typeIdentifier": "t_address",
13923 "typeString": "address"
13924 },
13925 "typeName": {
13926 "id": 11864,
13927 "name": "address",
13928 "nodeType": "ElementaryTypeName",
13929 "src": "5899:7:38",
13930 "typeDescriptions": {
13931 "typeIdentifier": "t_address",
13932 "typeString": "address"
13933 }
13934 },
13935 "value": null,
13936 "visibility": "internal"
13937 },
13938 {
13939 "constant": false,
13940 "id": 11867,
13941 "name": "_addedValue",
13942 "nodeType": "VariableDeclaration",
13943 "scope": 11904,
13944 "src": "5917:16:38",
13945 "stateVariable": false,
13946 "storageLocation": "default",
13947 "typeDescriptions": {
13948 "typeIdentifier": "t_uint256",
13949 "typeString": "uint256"
13950 },
13951 "typeName": {
13952 "id": 11866,
13953 "name": "uint",
13954 "nodeType": "ElementaryTypeName",
13955 "src": "5917:4:38",
13956 "typeDescriptions": {
13957 "typeIdentifier": "t_uint256",
13958 "typeString": "uint256"
13959 }
13960 },
13961 "value": null,
13962 "visibility": "internal"
13963 }
13964 ],
13965 "src": "5898:36:38"
13966 },
13967 "payable": false,
13968 "returnParameters": {
13969 "id": 11871,
13970 "nodeType": "ParameterList",
13971 "parameters": [
13972 {
13973 "constant": false,
13974 "id": 11870,
13975 "name": "success",
13976 "nodeType": "VariableDeclaration",
13977 "scope": 11904,
13978 "src": "5959:12:38",
13979 "stateVariable": false,
13980 "storageLocation": "default",
13981 "typeDescriptions": {
13982 "typeIdentifier": "t_bool",
13983 "typeString": "bool"
13984 },
13985 "typeName": {
13986 "id": 11869,
13987 "name": "bool",
13988 "nodeType": "ElementaryTypeName",
13989 "src": "5959:4:38",
13990 "typeDescriptions": {
13991 "typeIdentifier": "t_bool",
13992 "typeString": "bool"
13993 }
13994 },
13995 "value": null,
13996 "visibility": "internal"
13997 }
13998 ],
13999 "src": "5958:14:38"
14000 },
14001 "scope": 11965,
14002 "src": "5872:293:38",
14003 "stateMutability": "nonpayable",
14004 "superFunction": null,
14005 "visibility": "public"
14006 },
14007 {
14008 "body": {
14009 "id": 11963,
14010 "nodeType": "Block",
14011 "src": "6276:352:38",
14012 "statements": [
14013 {
14014 "assignments": [
14015 11914
14016 ],
14017 "declarations": [
14018 {
14019 "constant": false,
14020 "id": 11914,
14021 "name": "oldValue",
14022 "nodeType": "VariableDeclaration",
14023 "scope": 11964,
14024 "src": "6286:13:38",
14025 "stateVariable": false,
14026 "storageLocation": "default",
14027 "typeDescriptions": {
14028 "typeIdentifier": "t_uint256",
14029 "typeString": "uint256"
14030 },
14031 "typeName": {
14032 "id": 11913,
14033 "name": "uint",
14034 "nodeType": "ElementaryTypeName",
14035 "src": "6286:4:38",
14036 "typeDescriptions": {
14037 "typeIdentifier": "t_uint256",
14038 "typeString": "uint256"
14039 }
14040 },
14041 "value": null,
14042 "visibility": "internal"
14043 }
14044 ],
14045 "id": 11921,
14046 "initialValue": {
14047 "argumentTypes": null,
14048 "baseExpression": {
14049 "argumentTypes": null,
14050 "baseExpression": {
14051 "argumentTypes": null,
14052 "id": 11915,
14053 "name": "allowed",
14054 "nodeType": "Identifier",
14055 "overloadedDeclarations": [],
14056 "referencedDeclaration": 11748,
14057 "src": "6302:7:38",
14058 "typeDescriptions": {
14059 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
14060 "typeString": "mapping(address => mapping(address => uint256))"
14061 }
14062 },
14063 "id": 11918,
14064 "indexExpression": {
14065 "argumentTypes": null,
14066 "expression": {
14067 "argumentTypes": null,
14068 "id": 11916,
14069 "name": "msg",
14070 "nodeType": "Identifier",
14071 "overloadedDeclarations": [],
14072 "referencedDeclaration": 12092,
14073 "src": "6310:3:38",
14074 "typeDescriptions": {
14075 "typeIdentifier": "t_magic_message",
14076 "typeString": "msg"
14077 }
14078 },
14079 "id": 11917,
14080 "isConstant": false,
14081 "isLValue": false,
14082 "isPure": false,
14083 "lValueRequested": false,
14084 "memberName": "sender",
14085 "nodeType": "MemberAccess",
14086 "referencedDeclaration": null,
14087 "src": "6310:10:38",
14088 "typeDescriptions": {
14089 "typeIdentifier": "t_address",
14090 "typeString": "address"
14091 }
14092 },
14093 "isConstant": false,
14094 "isLValue": true,
14095 "isPure": false,
14096 "lValueRequested": false,
14097 "nodeType": "IndexAccess",
14098 "src": "6302:19:38",
14099 "typeDescriptions": {
14100 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
14101 "typeString": "mapping(address => uint256)"
14102 }
14103 },
14104 "id": 11920,
14105 "indexExpression": {
14106 "argumentTypes": null,
14107 "id": 11919,
14108 "name": "_spender",
14109 "nodeType": "Identifier",
14110 "overloadedDeclarations": [],
14111 "referencedDeclaration": 11906,
14112 "src": "6322:8:38",
14113 "typeDescriptions": {
14114 "typeIdentifier": "t_address",
14115 "typeString": "address"
14116 }
14117 },
14118 "isConstant": false,
14119 "isLValue": true,
14120 "isPure": false,
14121 "lValueRequested": false,
14122 "nodeType": "IndexAccess",
14123 "src": "6302:29:38",
14124 "typeDescriptions": {
14125 "typeIdentifier": "t_uint256",
14126 "typeString": "uint256"
14127 }
14128 },
14129 "nodeType": "VariableDeclarationStatement",
14130 "src": "6286:45:38"
14131 },
14132 {
14133 "condition": {
14134 "argumentTypes": null,
14135 "commonType": {
14136 "typeIdentifier": "t_uint256",
14137 "typeString": "uint256"
14138 },
14139 "id": 11924,
14140 "isConstant": false,
14141 "isLValue": false,
14142 "isPure": false,
14143 "lValueRequested": false,
14144 "leftExpression": {
14145 "argumentTypes": null,
14146 "id": 11922,
14147 "name": "_subtractedValue",
14148 "nodeType": "Identifier",
14149 "overloadedDeclarations": [],
14150 "referencedDeclaration": 11908,
14151 "src": "6345:16:38",
14152 "typeDescriptions": {
14153 "typeIdentifier": "t_uint256",
14154 "typeString": "uint256"
14155 }
14156 },
14157 "nodeType": "BinaryOperation",
14158 "operator": ">",
14159 "rightExpression": {
14160 "argumentTypes": null,
14161 "id": 11923,
14162 "name": "oldValue",
14163 "nodeType": "Identifier",
14164 "overloadedDeclarations": [],
14165 "referencedDeclaration": 11914,
14166 "src": "6364:8:38",
14167 "typeDescriptions": {
14168 "typeIdentifier": "t_uint256",
14169 "typeString": "uint256"
14170 }
14171 },
14172 "src": "6345:27:38",
14173 "typeDescriptions": {
14174 "typeIdentifier": "t_bool",
14175 "typeString": "bool"
14176 }
14177 },
14178 "falseBody": {
14179 "id": 11947,
14180 "nodeType": "Block",
14181 "src": "6438:87:38",
14182 "statements": [
14183 {
14184 "expression": {
14185 "argumentTypes": null,
14186 "id": 11945,
14187 "isConstant": false,
14188 "isLValue": false,
14189 "isPure": false,
14190 "lValueRequested": false,
14191 "leftHandSide": {
14192 "argumentTypes": null,
14193 "baseExpression": {
14194 "argumentTypes": null,
14195 "baseExpression": {
14196 "argumentTypes": null,
14197 "id": 11935,
14198 "name": "allowed",
14199 "nodeType": "Identifier",
14200 "overloadedDeclarations": [],
14201 "referencedDeclaration": 11748,
14202 "src": "6452:7:38",
14203 "typeDescriptions": {
14204 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
14205 "typeString": "mapping(address => mapping(address => uint256))"
14206 }
14207 },
14208 "id": 11939,
14209 "indexExpression": {
14210 "argumentTypes": null,
14211 "expression": {
14212 "argumentTypes": null,
14213 "id": 11936,
14214 "name": "msg",
14215 "nodeType": "Identifier",
14216 "overloadedDeclarations": [],
14217 "referencedDeclaration": 12092,
14218 "src": "6460:3:38",
14219 "typeDescriptions": {
14220 "typeIdentifier": "t_magic_message",
14221 "typeString": "msg"
14222 }
14223 },
14224 "id": 11937,
14225 "isConstant": false,
14226 "isLValue": false,
14227 "isPure": false,
14228 "lValueRequested": false,
14229 "memberName": "sender",
14230 "nodeType": "MemberAccess",
14231 "referencedDeclaration": null,
14232 "src": "6460:10:38",
14233 "typeDescriptions": {
14234 "typeIdentifier": "t_address",
14235 "typeString": "address"
14236 }
14237 },
14238 "isConstant": false,
14239 "isLValue": true,
14240 "isPure": false,
14241 "lValueRequested": false,
14242 "nodeType": "IndexAccess",
14243 "src": "6452:19:38",
14244 "typeDescriptions": {
14245 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
14246 "typeString": "mapping(address => uint256)"
14247 }
14248 },
14249 "id": 11940,
14250 "indexExpression": {
14251 "argumentTypes": null,
14252 "id": 11938,
14253 "name": "_spender",
14254 "nodeType": "Identifier",
14255 "overloadedDeclarations": [],
14256 "referencedDeclaration": 11906,
14257 "src": "6472:8:38",
14258 "typeDescriptions": {
14259 "typeIdentifier": "t_address",
14260 "typeString": "address"
14261 }
14262 },
14263 "isConstant": false,
14264 "isLValue": true,
14265 "isPure": false,
14266 "lValueRequested": true,
14267 "nodeType": "IndexAccess",
14268 "src": "6452:29:38",
14269 "typeDescriptions": {
14270 "typeIdentifier": "t_uint256",
14271 "typeString": "uint256"
14272 }
14273 },
14274 "nodeType": "Assignment",
14275 "operator": "=",
14276 "rightHandSide": {
14277 "argumentTypes": null,
14278 "arguments": [
14279 {
14280 "argumentTypes": null,
14281 "id": 11943,
14282 "name": "_subtractedValue",
14283 "nodeType": "Identifier",
14284 "overloadedDeclarations": [],
14285 "referencedDeclaration": 11908,
14286 "src": "6497:16:38",
14287 "typeDescriptions": {
14288 "typeIdentifier": "t_uint256",
14289 "typeString": "uint256"
14290 }
14291 }
14292 ],
14293 "expression": {
14294 "argumentTypes": [
14295 {
14296 "typeIdentifier": "t_uint256",
14297 "typeString": "uint256"
14298 }
14299 ],
14300 "expression": {
14301 "argumentTypes": null,
14302 "id": 11941,
14303 "name": "oldValue",
14304 "nodeType": "Identifier",
14305 "overloadedDeclarations": [],
14306 "referencedDeclaration": 11914,
14307 "src": "6484:8:38",
14308 "typeDescriptions": {
14309 "typeIdentifier": "t_uint256",
14310 "typeString": "uint256"
14311 }
14312 },
14313 "id": 11942,
14314 "isConstant": false,
14315 "isLValue": false,
14316 "isPure": false,
14317 "lValueRequested": false,
14318 "memberName": "sub",
14319 "nodeType": "MemberAccess",
14320 "referencedDeclaration": 11519,
14321 "src": "6484:12:38",
14322 "typeDescriptions": {
14323 "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
14324 "typeString": "function (uint256,uint256) pure returns (uint256)"
14325 }
14326 },
14327 "id": 11944,
14328 "isConstant": false,
14329 "isLValue": false,
14330 "isPure": false,
14331 "kind": "functionCall",
14332 "lValueRequested": false,
14333 "names": [],
14334 "nodeType": "FunctionCall",
14335 "src": "6484:30:38",
14336 "typeDescriptions": {
14337 "typeIdentifier": "t_uint256",
14338 "typeString": "uint256"
14339 }
14340 },
14341 "src": "6452:62:38",
14342 "typeDescriptions": {
14343 "typeIdentifier": "t_uint256",
14344 "typeString": "uint256"
14345 }
14346 },
14347 "id": 11946,
14348 "nodeType": "ExpressionStatement",
14349 "src": "6452:62:38"
14350 }
14351 ]
14352 },
14353 "id": 11948,
14354 "nodeType": "IfStatement",
14355 "src": "6341:184:38",
14356 "trueBody": {
14357 "id": 11934,
14358 "nodeType": "Block",
14359 "src": "6374:58:38",
14360 "statements": [
14361 {
14362 "expression": {
14363 "argumentTypes": null,
14364 "id": 11932,
14365 "isConstant": false,
14366 "isLValue": false,
14367 "isPure": false,
14368 "lValueRequested": false,
14369 "leftHandSide": {
14370 "argumentTypes": null,
14371 "baseExpression": {
14372 "argumentTypes": null,
14373 "baseExpression": {
14374 "argumentTypes": null,
14375 "id": 11925,
14376 "name": "allowed",
14377 "nodeType": "Identifier",
14378 "overloadedDeclarations": [],
14379 "referencedDeclaration": 11748,
14380 "src": "6388:7:38",
14381 "typeDescriptions": {
14382 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
14383 "typeString": "mapping(address => mapping(address => uint256))"
14384 }
14385 },
14386 "id": 11929,
14387 "indexExpression": {
14388 "argumentTypes": null,
14389 "expression": {
14390 "argumentTypes": null,
14391 "id": 11926,
14392 "name": "msg",
14393 "nodeType": "Identifier",
14394 "overloadedDeclarations": [],
14395 "referencedDeclaration": 12092,
14396 "src": "6396:3:38",
14397 "typeDescriptions": {
14398 "typeIdentifier": "t_magic_message",
14399 "typeString": "msg"
14400 }
14401 },
14402 "id": 11927,
14403 "isConstant": false,
14404 "isLValue": false,
14405 "isPure": false,
14406 "lValueRequested": false,
14407 "memberName": "sender",
14408 "nodeType": "MemberAccess",
14409 "referencedDeclaration": null,
14410 "src": "6396:10:38",
14411 "typeDescriptions": {
14412 "typeIdentifier": "t_address",
14413 "typeString": "address"
14414 }
14415 },
14416 "isConstant": false,
14417 "isLValue": true,
14418 "isPure": false,
14419 "lValueRequested": false,
14420 "nodeType": "IndexAccess",
14421 "src": "6388:19:38",
14422 "typeDescriptions": {
14423 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
14424 "typeString": "mapping(address => uint256)"
14425 }
14426 },
14427 "id": 11930,
14428 "indexExpression": {
14429 "argumentTypes": null,
14430 "id": 11928,
14431 "name": "_spender",
14432 "nodeType": "Identifier",
14433 "overloadedDeclarations": [],
14434 "referencedDeclaration": 11906,
14435 "src": "6408:8:38",
14436 "typeDescriptions": {
14437 "typeIdentifier": "t_address",
14438 "typeString": "address"
14439 }
14440 },
14441 "isConstant": false,
14442 "isLValue": true,
14443 "isPure": false,
14444 "lValueRequested": true,
14445 "nodeType": "IndexAccess",
14446 "src": "6388:29:38",
14447 "typeDescriptions": {
14448 "typeIdentifier": "t_uint256",
14449 "typeString": "uint256"
14450 }
14451 },
14452 "nodeType": "Assignment",
14453 "operator": "=",
14454 "rightHandSide": {
14455 "argumentTypes": null,
14456 "hexValue": "30",
14457 "id": 11931,
14458 "isConstant": false,
14459 "isLValue": false,
14460 "isPure": true,
14461 "kind": "number",
14462 "lValueRequested": false,
14463 "nodeType": "Literal",
14464 "src": "6420:1:38",
14465 "subdenomination": null,
14466 "typeDescriptions": {
14467 "typeIdentifier": "t_rational_0_by_1",
14468 "typeString": "int_const 0"
14469 },
14470 "value": "0"
14471 },
14472 "src": "6388:33:38",
14473 "typeDescriptions": {
14474 "typeIdentifier": "t_uint256",
14475 "typeString": "uint256"
14476 }
14477 },
14478 "id": 11933,
14479 "nodeType": "ExpressionStatement",
14480 "src": "6388:33:38"
14481 }
14482 ]
14483 }
14484 },
14485 {
14486 "eventCall": {
14487 "argumentTypes": null,
14488 "arguments": [
14489 {
14490 "argumentTypes": null,
14491 "expression": {
14492 "argumentTypes": null,
14493 "id": 11950,
14494 "name": "msg",
14495 "nodeType": "Identifier",
14496 "overloadedDeclarations": [],
14497 "referencedDeclaration": 12092,
14498 "src": "6548:3:38",
14499 "typeDescriptions": {
14500 "typeIdentifier": "t_magic_message",
14501 "typeString": "msg"
14502 }
14503 },
14504 "id": 11951,
14505 "isConstant": false,
14506 "isLValue": false,
14507 "isPure": false,
14508 "lValueRequested": false,
14509 "memberName": "sender",
14510 "nodeType": "MemberAccess",
14511 "referencedDeclaration": null,
14512 "src": "6548:10:38",
14513 "typeDescriptions": {
14514 "typeIdentifier": "t_address",
14515 "typeString": "address"
14516 }
14517 },
14518 {
14519 "argumentTypes": null,
14520 "id": 11952,
14521 "name": "_spender",
14522 "nodeType": "Identifier",
14523 "overloadedDeclarations": [],
14524 "referencedDeclaration": 11906,
14525 "src": "6560:8:38",
14526 "typeDescriptions": {
14527 "typeIdentifier": "t_address",
14528 "typeString": "address"
14529 }
14530 },
14531 {
14532 "argumentTypes": null,
14533 "baseExpression": {
14534 "argumentTypes": null,
14535 "baseExpression": {
14536 "argumentTypes": null,
14537 "id": 11953,
14538 "name": "allowed",
14539 "nodeType": "Identifier",
14540 "overloadedDeclarations": [],
14541 "referencedDeclaration": 11748,
14542 "src": "6570:7:38",
14543 "typeDescriptions": {
14544 "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
14545 "typeString": "mapping(address => mapping(address => uint256))"
14546 }
14547 },
14548 "id": 11956,
14549 "indexExpression": {
14550 "argumentTypes": null,
14551 "expression": {
14552 "argumentTypes": null,
14553 "id": 11954,
14554 "name": "msg",
14555 "nodeType": "Identifier",
14556 "overloadedDeclarations": [],
14557 "referencedDeclaration": 12092,
14558 "src": "6578:3:38",
14559 "typeDescriptions": {
14560 "typeIdentifier": "t_magic_message",
14561 "typeString": "msg"
14562 }
14563 },
14564 "id": 11955,
14565 "isConstant": false,
14566 "isLValue": false,
14567 "isPure": false,
14568 "lValueRequested": false,
14569 "memberName": "sender",
14570 "nodeType": "MemberAccess",
14571 "referencedDeclaration": null,
14572 "src": "6578:10:38",
14573 "typeDescriptions": {
14574 "typeIdentifier": "t_address",
14575 "typeString": "address"
14576 }
14577 },
14578 "isConstant": false,
14579 "isLValue": true,
14580 "isPure": false,
14581 "lValueRequested": false,
14582 "nodeType": "IndexAccess",
14583 "src": "6570:19:38",
14584 "typeDescriptions": {
14585 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
14586 "typeString": "mapping(address => uint256)"
14587 }
14588 },
14589 "id": 11958,
14590 "indexExpression": {
14591 "argumentTypes": null,
14592 "id": 11957,
14593 "name": "_spender",
14594 "nodeType": "Identifier",
14595 "overloadedDeclarations": [],
14596 "referencedDeclaration": 11906,
14597 "src": "6590:8:38",
14598 "typeDescriptions": {
14599 "typeIdentifier": "t_address",
14600 "typeString": "address"
14601 }
14602 },
14603 "isConstant": false,
14604 "isLValue": true,
14605 "isPure": false,
14606 "lValueRequested": false,
14607 "nodeType": "IndexAccess",
14608 "src": "6570:29:38",
14609 "typeDescriptions": {
14610 "typeIdentifier": "t_uint256",
14611 "typeString": "uint256"
14612 }
14613 }
14614 ],
14615 "expression": {
14616 "argumentTypes": [
14617 {
14618 "typeIdentifier": "t_address",
14619 "typeString": "address"
14620 },
14621 {
14622 "typeIdentifier": "t_address",
14623 "typeString": "address"
14624 },
14625 {
14626 "typeIdentifier": "t_uint256",
14627 "typeString": "uint256"
14628 }
14629 ],
14630 "id": 11949,
14631 "name": "Approval",
14632 "nodeType": "Identifier",
14633 "overloadedDeclarations": [],
14634 "referencedDeclaration": 11610,
14635 "src": "6539:8:38",
14636 "typeDescriptions": {
14637 "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
14638 "typeString": "function (address,address,uint256)"
14639 }
14640 },
14641 "id": 11959,
14642 "isConstant": false,
14643 "isLValue": false,
14644 "isPure": false,
14645 "kind": "functionCall",
14646 "lValueRequested": false,
14647 "names": [],
14648 "nodeType": "FunctionCall",
14649 "src": "6539:61:38",
14650 "typeDescriptions": {
14651 "typeIdentifier": "t_tuple$__$",
14652 "typeString": "tuple()"
14653 }
14654 },
14655 "id": 11960,
14656 "nodeType": "EmitStatement",
14657 "src": "6534:66:38"
14658 },
14659 {
14660 "expression": {
14661 "argumentTypes": null,
14662 "hexValue": "74727565",
14663 "id": 11961,
14664 "isConstant": false,
14665 "isLValue": false,
14666 "isPure": true,
14667 "kind": "bool",
14668 "lValueRequested": false,
14669 "nodeType": "Literal",
14670 "src": "6617:4:38",
14671 "subdenomination": null,
14672 "typeDescriptions": {
14673 "typeIdentifier": "t_bool",
14674 "typeString": "bool"
14675 },
14676 "value": "true"
14677 },
14678 "functionReturnParameters": 11912,
14679 "id": 11962,
14680 "nodeType": "Return",
14681 "src": "6610:11:38"
14682 }
14683 ]
14684 },
14685 "documentation": null,
14686 "id": 11964,
14687 "implemented": true,
14688 "isConstructor": false,
14689 "isDeclaredConst": false,
14690 "modifiers": [],
14691 "name": "decreaseApproval",
14692 "nodeType": "FunctionDefinition",
14693 "parameters": {
14694 "id": 11909,
14695 "nodeType": "ParameterList",
14696 "parameters": [
14697 {
14698 "constant": false,
14699 "id": 11906,
14700 "name": "_spender",
14701 "nodeType": "VariableDeclaration",
14702 "scope": 11964,
14703 "src": "6197:16:38",
14704 "stateVariable": false,
14705 "storageLocation": "default",
14706 "typeDescriptions": {
14707 "typeIdentifier": "t_address",
14708 "typeString": "address"
14709 },
14710 "typeName": {
14711 "id": 11905,
14712 "name": "address",
14713 "nodeType": "ElementaryTypeName",
14714 "src": "6197:7:38",
14715 "typeDescriptions": {
14716 "typeIdentifier": "t_address",
14717 "typeString": "address"
14718 }
14719 },
14720 "value": null,
14721 "visibility": "internal"
14722 },
14723 {
14724 "constant": false,
14725 "id": 11908,
14726 "name": "_subtractedValue",
14727 "nodeType": "VariableDeclaration",
14728 "scope": 11964,
14729 "src": "6215:21:38",
14730 "stateVariable": false,
14731 "storageLocation": "default",
14732 "typeDescriptions": {
14733 "typeIdentifier": "t_uint256",
14734 "typeString": "uint256"
14735 },
14736 "typeName": {
14737 "id": 11907,
14738 "name": "uint",
14739 "nodeType": "ElementaryTypeName",
14740 "src": "6215:4:38",
14741 "typeDescriptions": {
14742 "typeIdentifier": "t_uint256",
14743 "typeString": "uint256"
14744 }
14745 },
14746 "value": null,
14747 "visibility": "internal"
14748 }
14749 ],
14750 "src": "6196:41:38"
14751 },
14752 "payable": false,
14753 "returnParameters": {
14754 "id": 11912,
14755 "nodeType": "ParameterList",
14756 "parameters": [
14757 {
14758 "constant": false,
14759 "id": 11911,
14760 "name": "success",
14761 "nodeType": "VariableDeclaration",
14762 "scope": 11964,
14763 "src": "6262:12:38",
14764 "stateVariable": false,
14765 "storageLocation": "default",
14766 "typeDescriptions": {
14767 "typeIdentifier": "t_bool",
14768 "typeString": "bool"
14769 },
14770 "typeName": {
14771 "id": 11910,
14772 "name": "bool",
14773 "nodeType": "ElementaryTypeName",
14774 "src": "6262:4:38",
14775 "typeDescriptions": {
14776 "typeIdentifier": "t_bool",
14777 "typeString": "bool"
14778 }
14779 },
14780 "value": null,
14781 "visibility": "internal"
14782 }
14783 ],
14784 "src": "6261:14:38"
14785 },
14786 "scope": 11965,
14787 "src": "6170:458:38",
14788 "stateMutability": "nonpayable",
14789 "superFunction": null,
14790 "visibility": "public"
14791 }
14792 ],
14793 "scope": 12078,
14794 "src": "3326:3304:38"
14795 },
14796 {
14797 "baseContracts": [
14798 {
14799 "arguments": null,
14800 "baseName": {
14801 "contractScope": null,
14802 "id": 11966,
14803 "name": "StandardToken",
14804 "nodeType": "UserDefinedTypeName",
14805 "referencedDeclaration": 11965,
14806 "src": "6658:13:38",
14807 "typeDescriptions": {
14808 "typeIdentifier": "t_contract$_StandardToken_$11965",
14809 "typeString": "contract StandardToken"
14810 }
14811 },
14812 "id": 11967,
14813 "nodeType": "InheritanceSpecifier",
14814 "src": "6658:13:38"
14815 },
14816 {
14817 "arguments": null,
14818 "baseName": {
14819 "contractScope": null,
14820 "id": 11968,
14821 "name": "Ownable",
14822 "nodeType": "UserDefinedTypeName",
14823 "referencedDeclaration": 11738,
14824 "src": "6673:7:38",
14825 "typeDescriptions": {
14826 "typeIdentifier": "t_contract$_Ownable_$11738",
14827 "typeString": "contract Ownable"
14828 }
14829 },
14830 "id": 11969,
14831 "nodeType": "InheritanceSpecifier",
14832 "src": "6673:7:38"
14833 }
14834 ],
14835 "contractDependencies": [
14836 11571,
14837 11611,
14838 11684,
14839 11738,
14840 11965
14841 ],
14842 "contractKind": "contract",
14843 "documentation": null,
14844 "fullyImplemented": true,
14845 "id": 12052,
14846 "linearizedBaseContracts": [
14847 12052,
14848 11738,
14849 11965,
14850 11684,
14851 11611,
14852 11571
14853 ],
14854 "name": "MintableToken",
14855 "nodeType": "ContractDefinition",
14856 "nodes": [
14857 {
14858 "anonymous": false,
14859 "documentation": null,
14860 "id": 11975,
14861 "name": "Mint",
14862 "nodeType": "EventDefinition",
14863 "parameters": {
14864 "id": 11974,
14865 "nodeType": "ParameterList",
14866 "parameters": [
14867 {
14868 "constant": false,
14869 "id": 11971,
14870 "indexed": true,
14871 "name": "to",
14872 "nodeType": "VariableDeclaration",
14873 "scope": 11975,
14874 "src": "6698:18:38",
14875 "stateVariable": false,
14876 "storageLocation": "default",
14877 "typeDescriptions": {
14878 "typeIdentifier": "t_address",
14879 "typeString": "address"
14880 },
14881 "typeName": {
14882 "id": 11970,
14883 "name": "address",
14884 "nodeType": "ElementaryTypeName",
14885 "src": "6698:7:38",
14886 "typeDescriptions": {
14887 "typeIdentifier": "t_address",
14888 "typeString": "address"
14889 }
14890 },
14891 "value": null,
14892 "visibility": "internal"
14893 },
14894 {
14895 "constant": false,
14896 "id": 11973,
14897 "indexed": false,
14898 "name": "amount",
14899 "nodeType": "VariableDeclaration",
14900 "scope": 11975,
14901 "src": "6718:14:38",
14902 "stateVariable": false,
14903 "storageLocation": "default",
14904 "typeDescriptions": {
14905 "typeIdentifier": "t_uint256",
14906 "typeString": "uint256"
14907 },
14908 "typeName": {
14909 "id": 11972,
14910 "name": "uint256",
14911 "nodeType": "ElementaryTypeName",
14912 "src": "6718:7:38",
14913 "typeDescriptions": {
14914 "typeIdentifier": "t_uint256",
14915 "typeString": "uint256"
14916 }
14917 },
14918 "value": null,
14919 "visibility": "internal"
14920 }
14921 ],
14922 "src": "6697:36:38"
14923 },
14924 "src": "6687:47:38"
14925 },
14926 {
14927 "anonymous": false,
14928 "documentation": null,
14929 "id": 11977,
14930 "name": "MintFinished",
14931 "nodeType": "EventDefinition",
14932 "parameters": {
14933 "id": 11976,
14934 "nodeType": "ParameterList",
14935 "parameters": [],
14936 "src": "6757:2:38"
14937 },
14938 "src": "6739:21:38"
14939 },
14940 {
14941 "constant": false,
14942 "id": 11980,
14943 "name": "mintingFinished",
14944 "nodeType": "VariableDeclaration",
14945 "scope": 12052,
14946 "src": "6765:35:38",
14947 "stateVariable": true,
14948 "storageLocation": "default",
14949 "typeDescriptions": {
14950 "typeIdentifier": "t_bool",
14951 "typeString": "bool"
14952 },
14953 "typeName": {
14954 "id": 11978,
14955 "name": "bool",
14956 "nodeType": "ElementaryTypeName",
14957 "src": "6765:4:38",
14958 "typeDescriptions": {
14959 "typeIdentifier": "t_bool",
14960 "typeString": "bool"
14961 }
14962 },
14963 "value": {
14964 "argumentTypes": null,
14965 "hexValue": "66616c7365",
14966 "id": 11979,
14967 "isConstant": false,
14968 "isLValue": false,
14969 "isPure": true,
14970 "kind": "bool",
14971 "lValueRequested": false,
14972 "nodeType": "Literal",
14973 "src": "6795:5:38",
14974 "subdenomination": null,
14975 "typeDescriptions": {
14976 "typeIdentifier": "t_bool",
14977 "typeString": "bool"
14978 },
14979 "value": "false"
14980 },
14981 "visibility": "public"
14982 },
14983 {
14984 "body": {
14985 "id": 11988,
14986 "nodeType": "Block",
14987 "src": "6825:53:38",
14988 "statements": [
14989 {
14990 "expression": {
14991 "argumentTypes": null,
14992 "arguments": [
14993 {
14994 "argumentTypes": null,
14995 "id": 11984,
14996 "isConstant": false,
14997 "isLValue": false,
14998 "isPure": false,
14999 "lValueRequested": false,
15000 "nodeType": "UnaryOperation",
15001 "operator": "!",
15002 "prefix": true,
15003 "src": "6843:16:38",
15004 "subExpression": {
15005 "argumentTypes": null,
15006 "id": 11983,
15007 "name": "mintingFinished",
15008 "nodeType": "Identifier",
15009 "overloadedDeclarations": [],
15010 "referencedDeclaration": 11980,
15011 "src": "6844:15:38",
15012 "typeDescriptions": {
15013 "typeIdentifier": "t_bool",
15014 "typeString": "bool"
15015 }
15016 },
15017 "typeDescriptions": {
15018 "typeIdentifier": "t_bool",
15019 "typeString": "bool"
15020 }
15021 }
15022 ],
15023 "expression": {
15024 "argumentTypes": [
15025 {
15026 "typeIdentifier": "t_bool",
15027 "typeString": "bool"
15028 }
15029 ],
15030 "id": 11982,
15031 "name": "require",
15032 "nodeType": "Identifier",
15033 "overloadedDeclarations": [
15034 12095,
15035 12096
15036 ],
15037 "referencedDeclaration": 12095,
15038 "src": "6835:7:38",
15039 "typeDescriptions": {
15040 "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
15041 "typeString": "function (bool) pure"
15042 }
15043 },
15044 "id": 11985,
15045 "isConstant": false,
15046 "isLValue": false,
15047 "isPure": false,
15048 "kind": "functionCall",
15049 "lValueRequested": false,
15050 "names": [],
15051 "nodeType": "FunctionCall",
15052 "src": "6835:25:38",
15053 "typeDescriptions": {
15054 "typeIdentifier": "t_tuple$__$",
15055 "typeString": "tuple()"
15056 }
15057 },
15058 "id": 11986,
15059 "nodeType": "ExpressionStatement",
15060 "src": "6835:25:38"
15061 },
15062 {
15063 "id": 11987,
15064 "nodeType": "PlaceholderStatement",
15065 "src": "6870:1:38"
15066 }
15067 ]
15068 },
15069 "documentation": null,
15070 "id": 11989,
15071 "name": "canMint",
15072 "nodeType": "ModifierDefinition",
15073 "parameters": {
15074 "id": 11981,
15075 "nodeType": "ParameterList",
15076 "parameters": [],
15077 "src": "6822:2:38"
15078 },
15079 "src": "6806:72:38",
15080 "visibility": "internal"
15081 },
15082 {
15083 "body": {
15084 "id": 12033,
15085 "nodeType": "Block",
15086 "src": "7212:203:38",
15087 "statements": [
15088 {
15089 "expression": {
15090 "argumentTypes": null,
15091 "id": 12007,
15092 "isConstant": false,
15093 "isLValue": false,
15094 "isPure": false,
15095 "lValueRequested": false,
15096 "leftHandSide": {
15097 "argumentTypes": null,
15098 "id": 12002,
15099 "name": "totalSupply",
15100 "nodeType": "Identifier",
15101 "overloadedDeclarations": [],
15102 "referencedDeclaration": 11546,
15103 "src": "7222:11:38",
15104 "typeDescriptions": {
15105 "typeIdentifier": "t_uint256",
15106 "typeString": "uint256"
15107 }
15108 },
15109 "nodeType": "Assignment",
15110 "operator": "=",
15111 "rightHandSide": {
15112 "argumentTypes": null,
15113 "arguments": [
15114 {
15115 "argumentTypes": null,
15116 "id": 12005,
15117 "name": "_amount",
15118 "nodeType": "Identifier",
15119 "overloadedDeclarations": [],
15120 "referencedDeclaration": 11993,
15121 "src": "7252:7:38",
15122 "typeDescriptions": {
15123 "typeIdentifier": "t_uint256",
15124 "typeString": "uint256"
15125 }
15126 }
15127 ],
15128 "expression": {
15129 "argumentTypes": [
15130 {
15131 "typeIdentifier": "t_uint256",
15132 "typeString": "uint256"
15133 }
15134 ],
15135 "expression": {
15136 "argumentTypes": null,
15137 "id": 12003,
15138 "name": "totalSupply",
15139 "nodeType": "Identifier",
15140 "overloadedDeclarations": [],
15141 "referencedDeclaration": 11546,
15142 "src": "7236:11:38",
15143 "typeDescriptions": {
15144 "typeIdentifier": "t_uint256",
15145 "typeString": "uint256"
15146 }
15147 },
15148 "id": 12004,
15149 "isConstant": false,
15150 "isLValue": false,
15151 "isPure": false,
15152 "lValueRequested": false,
15153 "memberName": "add",
15154 "nodeType": "MemberAccess",
15155 "referencedDeclaration": 11543,
15156 "src": "7236:15:38",
15157 "typeDescriptions": {
15158 "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
15159 "typeString": "function (uint256,uint256) pure returns (uint256)"
15160 }
15161 },
15162 "id": 12006,
15163 "isConstant": false,
15164 "isLValue": false,
15165 "isPure": false,
15166 "kind": "functionCall",
15167 "lValueRequested": false,
15168 "names": [],
15169 "nodeType": "FunctionCall",
15170 "src": "7236:24:38",
15171 "typeDescriptions": {
15172 "typeIdentifier": "t_uint256",
15173 "typeString": "uint256"
15174 }
15175 },
15176 "src": "7222:38:38",
15177 "typeDescriptions": {
15178 "typeIdentifier": "t_uint256",
15179 "typeString": "uint256"
15180 }
15181 },
15182 "id": 12008,
15183 "nodeType": "ExpressionStatement",
15184 "src": "7222:38:38"
15185 },
15186 {
15187 "expression": {
15188 "argumentTypes": null,
15189 "id": 12018,
15190 "isConstant": false,
15191 "isLValue": false,
15192 "isPure": false,
15193 "lValueRequested": false,
15194 "leftHandSide": {
15195 "argumentTypes": null,
15196 "baseExpression": {
15197 "argumentTypes": null,
15198 "id": 12009,
15199 "name": "balances",
15200 "nodeType": "Identifier",
15201 "overloadedDeclarations": [],
15202 "referencedDeclaration": 11620,
15203 "src": "7270:8:38",
15204 "typeDescriptions": {
15205 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
15206 "typeString": "mapping(address => uint256)"
15207 }
15208 },
15209 "id": 12011,
15210 "indexExpression": {
15211 "argumentTypes": null,
15212 "id": 12010,
15213 "name": "_to",
15214 "nodeType": "Identifier",
15215 "overloadedDeclarations": [],
15216 "referencedDeclaration": 11991,
15217 "src": "7279:3:38",
15218 "typeDescriptions": {
15219 "typeIdentifier": "t_address",
15220 "typeString": "address"
15221 }
15222 },
15223 "isConstant": false,
15224 "isLValue": true,
15225 "isPure": false,
15226 "lValueRequested": true,
15227 "nodeType": "IndexAccess",
15228 "src": "7270:13:38",
15229 "typeDescriptions": {
15230 "typeIdentifier": "t_uint256",
15231 "typeString": "uint256"
15232 }
15233 },
15234 "nodeType": "Assignment",
15235 "operator": "=",
15236 "rightHandSide": {
15237 "argumentTypes": null,
15238 "arguments": [
15239 {
15240 "argumentTypes": null,
15241 "id": 12016,
15242 "name": "_amount",
15243 "nodeType": "Identifier",
15244 "overloadedDeclarations": [],
15245 "referencedDeclaration": 11993,
15246 "src": "7304:7:38",
15247 "typeDescriptions": {
15248 "typeIdentifier": "t_uint256",
15249 "typeString": "uint256"
15250 }
15251 }
15252 ],
15253 "expression": {
15254 "argumentTypes": [
15255 {
15256 "typeIdentifier": "t_uint256",
15257 "typeString": "uint256"
15258 }
15259 ],
15260 "expression": {
15261 "argumentTypes": null,
15262 "baseExpression": {
15263 "argumentTypes": null,
15264 "id": 12012,
15265 "name": "balances",
15266 "nodeType": "Identifier",
15267 "overloadedDeclarations": [],
15268 "referencedDeclaration": 11620,
15269 "src": "7286:8:38",
15270 "typeDescriptions": {
15271 "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
15272 "typeString": "mapping(address => uint256)"
15273 }
15274 },
15275 "id": 12014,
15276 "indexExpression": {
15277 "argumentTypes": null,
15278 "id": 12013,
15279 "name": "_to",
15280 "nodeType": "Identifier",
15281 "overloadedDeclarations": [],
15282 "referencedDeclaration": 11991,
15283 "src": "7295:3:38",
15284 "typeDescriptions": {
15285 "typeIdentifier": "t_address",
15286 "typeString": "address"
15287 }
15288 },
15289 "isConstant": false,
15290 "isLValue": true,
15291 "isPure": false,
15292 "lValueRequested": false,
15293 "nodeType": "IndexAccess",
15294 "src": "7286:13:38",
15295 "typeDescriptions": {
15296 "typeIdentifier": "t_uint256",
15297 "typeString": "uint256"
15298 }
15299 },
15300 "id": 12015,
15301 "isConstant": false,
15302 "isLValue": false,
15303 "isPure": false,
15304 "lValueRequested": false,
15305 "memberName": "add",
15306 "nodeType": "MemberAccess",
15307 "referencedDeclaration": 11543,
15308 "src": "7286:17:38",
15309 "typeDescriptions": {
15310 "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
15311 "typeString": "function (uint256,uint256) pure returns (uint256)"
15312 }
15313 },
15314 "id": 12017,
15315 "isConstant": false,
15316 "isLValue": false,
15317 "isPure": false,
15318 "kind": "functionCall",
15319 "lValueRequested": false,
15320 "names": [],
15321 "nodeType": "FunctionCall",
15322 "src": "7286:26:38",
15323 "typeDescriptions": {
15324 "typeIdentifier": "t_uint256",
15325 "typeString": "uint256"
15326 }
15327 },
15328 "src": "7270:42:38",
15329 "typeDescriptions": {
15330 "typeIdentifier": "t_uint256",
15331 "typeString": "uint256"
15332 }
15333 },
15334 "id": 12019,
15335 "nodeType": "ExpressionStatement",
15336 "src": "7270:42:38"
15337 },
15338 {
15339 "eventCall": {
15340 "argumentTypes": null,
15341 "arguments": [
15342 {
15343 "argumentTypes": null,
15344 "id": 12021,
15345 "name": "_to",
15346 "nodeType": "Identifier",
15347 "overloadedDeclarations": [],
15348 "referencedDeclaration": 11991,
15349 "src": "7332:3:38",
15350 "typeDescriptions": {
15351 "typeIdentifier": "t_address",
15352 "typeString": "address"
15353 }
15354 },
15355 {
15356 "argumentTypes": null,
15357 "id": 12022,
15358 "name": "_amount",
15359 "nodeType": "Identifier",
15360 "overloadedDeclarations": [],
15361 "referencedDeclaration": 11993,
15362 "src": "7337:7:38",
15363 "typeDescriptions": {
15364 "typeIdentifier": "t_uint256",
15365 "typeString": "uint256"
15366 }
15367 }
15368 ],
15369 "expression": {
15370 "argumentTypes": [
15371 {
15372 "typeIdentifier": "t_address",
15373 "typeString": "address"
15374 },
15375 {
15376 "typeIdentifier": "t_uint256",
15377 "typeString": "uint256"
15378 }
15379 ],
15380 "id": 12020,
15381 "name": "Mint",
15382 "nodeType": "Identifier",
15383 "overloadedDeclarations": [],
15384 "referencedDeclaration": 11975,
15385 "src": "7327:4:38",
15386 "typeDescriptions": {
15387 "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$",
15388 "typeString": "function (address,uint256)"
15389 }
15390 },
15391 "id": 12023,
15392 "isConstant": false,
15393 "isLValue": false,
15394 "isPure": false,
15395 "kind": "functionCall",
15396 "lValueRequested": false,
15397 "names": [],
15398 "nodeType": "FunctionCall",
15399 "src": "7327:18:38",
15400 "typeDescriptions": {
15401 "typeIdentifier": "t_tuple$__$",
15402 "typeString": "tuple()"
15403 }
15404 },
15405 "id": 12024,
15406 "nodeType": "EmitStatement",
15407 "src": "7322:23:38"
15408 },
15409 {
15410 "eventCall": {
15411 "argumentTypes": null,
15412 "arguments": [
15413 {
15414 "argumentTypes": null,
15415 "hexValue": "307830",
15416 "id": 12026,
15417 "isConstant": false,
15418 "isLValue": false,
15419 "isPure": true,
15420 "kind": "number",
15421 "lValueRequested": false,
15422 "nodeType": "Literal",
15423 "src": "7369:3:38",
15424 "subdenomination": null,
15425 "typeDescriptions": {
15426 "typeIdentifier": "t_rational_0_by_1",
15427 "typeString": "int_const 0"
15428 },
15429 "value": "0x0"
15430 },
15431 {
15432 "argumentTypes": null,
15433 "id": 12027,
15434 "name": "_to",
15435 "nodeType": "Identifier",
15436 "overloadedDeclarations": [],
15437 "referencedDeclaration": 11991,
15438 "src": "7374:3:38",
15439 "typeDescriptions": {
15440 "typeIdentifier": "t_address",
15441 "typeString": "address"
15442 }
15443 },
15444 {
15445 "argumentTypes": null,
15446 "id": 12028,
15447 "name": "_amount",
15448 "nodeType": "Identifier",
15449 "overloadedDeclarations": [],
15450 "referencedDeclaration": 11993,
15451 "src": "7379:7:38",
15452 "typeDescriptions": {
15453 "typeIdentifier": "t_uint256",
15454 "typeString": "uint256"
15455 }
15456 }
15457 ],
15458 "expression": {
15459 "argumentTypes": [
15460 {
15461 "typeIdentifier": "t_rational_0_by_1",
15462 "typeString": "int_const 0"
15463 },
15464 {
15465 "typeIdentifier": "t_address",
15466 "typeString": "address"
15467 },
15468 {
15469 "typeIdentifier": "t_uint256",
15470 "typeString": "uint256"
15471 }
15472 ],
15473 "id": 12025,
15474 "name": "Transfer",
15475 "nodeType": "Identifier",
15476 "overloadedDeclarations": [],
15477 "referencedDeclaration": 11570,
15478 "src": "7360:8:38",
15479 "typeDescriptions": {
15480 "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
15481 "typeString": "function (address,address,uint256)"
15482 }
15483 },
15484 "id": 12029,
15485 "isConstant": false,
15486 "isLValue": false,
15487 "isPure": false,
15488 "kind": "functionCall",
15489 "lValueRequested": false,
15490 "names": [],
15491 "nodeType": "FunctionCall",
15492 "src": "7360:27:38",
15493 "typeDescriptions": {
15494 "typeIdentifier": "t_tuple$__$",
15495 "typeString": "tuple()"
15496 }
15497 },
15498 "id": 12030,
15499 "nodeType": "EmitStatement",
15500 "src": "7355:32:38"
15501 },
15502 {
15503 "expression": {
15504 "argumentTypes": null,
15505 "hexValue": "74727565",
15506 "id": 12031,
15507 "isConstant": false,
15508 "isLValue": false,
15509 "isPure": true,
15510 "kind": "bool",
15511 "lValueRequested": false,
15512 "nodeType": "Literal",
15513 "src": "7404:4:38",
15514 "subdenomination": null,
15515 "typeDescriptions": {
15516 "typeIdentifier": "t_bool",
15517 "typeString": "bool"
15518 },
15519 "value": "true"
15520 },
15521 "functionReturnParameters": 12001,
15522 "id": 12032,
15523 "nodeType": "Return",
15524 "src": "7397:11:38"
15525 }
15526 ]
15527 },
15528 "documentation": "@dev Function to mint tokens\n@param _to The address that will receive the minted tokens.\n@param _amount The amount of tokens to mint.\n@return A boolean that indicates if the operation was successful.",
15529 "id": 12034,
15530 "implemented": true,
15531 "isConstructor": false,
15532 "isDeclaredConst": false,
15533 "modifiers": [
15534 {
15535 "arguments": null,
15536 "id": 11996,
15537 "modifierName": {
15538 "argumentTypes": null,
15539 "id": 11995,
15540 "name": "onlyOwner",
15541 "nodeType": "Identifier",
15542 "overloadedDeclarations": [],
15543 "referencedDeclaration": 11712,
15544 "src": "7172:9:38",
15545 "typeDescriptions": {
15546 "typeIdentifier": "t_modifier$__$",
15547 "typeString": "modifier ()"
15548 }
15549 },
15550 "nodeType": "ModifierInvocation",
15551 "src": "7172:9:38"
15552 },
15553 {
15554 "arguments": null,
15555 "id": 11998,
15556 "modifierName": {
15557 "argumentTypes": null,
15558 "id": 11997,
15559 "name": "canMint",
15560 "nodeType": "Identifier",
15561 "overloadedDeclarations": [],
15562 "referencedDeclaration": 11989,
15563 "src": "7182:7:38",
15564 "typeDescriptions": {
15565 "typeIdentifier": "t_modifier$__$",
15566 "typeString": "modifier ()"
15567 }
15568 },
15569 "nodeType": "ModifierInvocation",
15570 "src": "7182:7:38"
15571 }
15572 ],
15573 "name": "mint",
15574 "nodeType": "FunctionDefinition",
15575 "parameters": {
15576 "id": 11994,
15577 "nodeType": "ParameterList",
15578 "parameters": [
15579 {
15580 "constant": false,
15581 "id": 11991,
15582 "name": "_to",
15583 "nodeType": "VariableDeclaration",
15584 "scope": 12034,
15585 "src": "7142:11:38",
15586 "stateVariable": false,
15587 "storageLocation": "default",
15588 "typeDescriptions": {
15589 "typeIdentifier": "t_address",
15590 "typeString": "address"
15591 },
15592 "typeName": {
15593 "id": 11990,
15594 "name": "address",
15595 "nodeType": "ElementaryTypeName",
15596 "src": "7142:7:38",
15597 "typeDescriptions": {
15598 "typeIdentifier": "t_address",
15599 "typeString": "address"
15600 }
15601 },
15602 "value": null,
15603 "visibility": "internal"
15604 },
15605 {
15606 "constant": false,
15607 "id": 11993,
15608 "name": "_amount",
15609 "nodeType": "VariableDeclaration",
15610 "scope": 12034,
15611 "src": "7155:15:38",
15612 "stateVariable": false,
15613 "storageLocation": "default",
15614 "typeDescriptions": {
15615 "typeIdentifier": "t_uint256",
15616 "typeString": "uint256"
15617 },
15618 "typeName": {
15619 "id": 11992,
15620 "name": "uint256",
15621 "nodeType": "ElementaryTypeName",
15622 "src": "7155:7:38",
15623 "typeDescriptions": {
15624 "typeIdentifier": "t_uint256",
15625 "typeString": "uint256"
15626 }
15627 },
15628 "value": null,
15629 "visibility": "internal"
15630 }
15631 ],
15632 "src": "7141:30:38"
15633 },
15634 "payable": false,
15635 "returnParameters": {
15636 "id": 12001,
15637 "nodeType": "ParameterList",
15638 "parameters": [
15639 {
15640 "constant": false,
15641 "id": 12000,
15642 "name": "",
15643 "nodeType": "VariableDeclaration",
15644 "scope": 12034,
15645 "src": "7206:4:38",
15646 "stateVariable": false,
15647 "storageLocation": "default",
15648 "typeDescriptions": {
15649 "typeIdentifier": "t_bool",
15650 "typeString": "bool"
15651 },
15652 "typeName": {
15653 "id": 11999,
15654 "name": "bool",
15655 "nodeType": "ElementaryTypeName",
15656 "src": "7206:4:38",
15657 "typeDescriptions": {
15658 "typeIdentifier": "t_bool",
15659 "typeString": "bool"
15660 }
15661 },
15662 "value": null,
15663 "visibility": "internal"
15664 }
15665 ],
15666 "src": "7205:6:38"
15667 },
15668 "scope": 12052,
15669 "src": "7128:287:38",
15670 "stateMutability": "nonpayable",
15671 "superFunction": null,
15672 "visibility": "public"
15673 },
15674 {
15675 "body": {
15676 "id": 12050,
15677 "nodeType": "Block",
15678 "src": "7596:89:38",
15679 "statements": [
15680 {
15681 "expression": {
15682 "argumentTypes": null,
15683 "id": 12043,
15684 "isConstant": false,
15685 "isLValue": false,
15686 "isPure": false,
15687 "lValueRequested": false,
15688 "leftHandSide": {
15689 "argumentTypes": null,
15690 "id": 12041,
15691 "name": "mintingFinished",
15692 "nodeType": "Identifier",
15693 "overloadedDeclarations": [],
15694 "referencedDeclaration": 11980,
15695 "src": "7606:15:38",
15696 "typeDescriptions": {
15697 "typeIdentifier": "t_bool",
15698 "typeString": "bool"
15699 }
15700 },
15701 "nodeType": "Assignment",
15702 "operator": "=",
15703 "rightHandSide": {
15704 "argumentTypes": null,
15705 "hexValue": "74727565",
15706 "id": 12042,
15707 "isConstant": false,
15708 "isLValue": false,
15709 "isPure": true,
15710 "kind": "bool",
15711 "lValueRequested": false,
15712 "nodeType": "Literal",
15713 "src": "7624:4:38",
15714 "subdenomination": null,
15715 "typeDescriptions": {
15716 "typeIdentifier": "t_bool",
15717 "typeString": "bool"
15718 },
15719 "value": "true"
15720 },
15721 "src": "7606:22:38",
15722 "typeDescriptions": {
15723 "typeIdentifier": "t_bool",
15724 "typeString": "bool"
15725 }
15726 },
15727 "id": 12044,
15728 "nodeType": "ExpressionStatement",
15729 "src": "7606:22:38"
15730 },
15731 {
15732 "eventCall": {
15733 "argumentTypes": null,
15734 "arguments": [],
15735 "expression": {
15736 "argumentTypes": [],
15737 "id": 12045,
15738 "name": "MintFinished",
15739 "nodeType": "Identifier",
15740 "overloadedDeclarations": [],
15741 "referencedDeclaration": 11977,
15742 "src": "7643:12:38",
15743 "typeDescriptions": {
15744 "typeIdentifier": "t_function_event_nonpayable$__$returns$__$",
15745 "typeString": "function ()"
15746 }
15747 },
15748 "id": 12046,
15749 "isConstant": false,
15750 "isLValue": false,
15751 "isPure": false,
15752 "kind": "functionCall",
15753 "lValueRequested": false,
15754 "names": [],
15755 "nodeType": "FunctionCall",
15756 "src": "7643:14:38",
15757 "typeDescriptions": {
15758 "typeIdentifier": "t_tuple$__$",
15759 "typeString": "tuple()"
15760 }
15761 },
15762 "id": 12047,
15763 "nodeType": "EmitStatement",
15764 "src": "7638:19:38"
15765 },
15766 {
15767 "expression": {
15768 "argumentTypes": null,
15769 "hexValue": "74727565",
15770 "id": 12048,
15771 "isConstant": false,
15772 "isLValue": false,
15773 "isPure": true,
15774 "kind": "bool",
15775 "lValueRequested": false,
15776 "nodeType": "Literal",
15777 "src": "7674:4:38",
15778 "subdenomination": null,
15779 "typeDescriptions": {
15780 "typeIdentifier": "t_bool",
15781 "typeString": "bool"
15782 },
15783 "value": "true"
15784 },
15785 "functionReturnParameters": 12040,
15786 "id": 12049,
15787 "nodeType": "Return",
15788 "src": "7667:11:38"
15789 }
15790 ]
15791 },
15792 "documentation": "@dev Function to stop minting new tokens.\n@return True if the operation was successful.",
15793 "id": 12051,
15794 "implemented": true,
15795 "isConstructor": false,
15796 "isDeclaredConst": false,
15797 "modifiers": [
15798 {
15799 "arguments": null,
15800 "id": 12037,
15801 "modifierName": {
15802 "argumentTypes": null,
15803 "id": 12036,
15804 "name": "onlyOwner",
15805 "nodeType": "Identifier",
15806 "overloadedDeclarations": [],
15807 "referencedDeclaration": 11712,
15808 "src": "7564:9:38",
15809 "typeDescriptions": {
15810 "typeIdentifier": "t_modifier$__$",
15811 "typeString": "modifier ()"
15812 }
15813 },
15814 "nodeType": "ModifierInvocation",
15815 "src": "7564:9:38"
15816 }
15817 ],
15818 "name": "finishMinting",
15819 "nodeType": "FunctionDefinition",
15820 "parameters": {
15821 "id": 12035,
15822 "nodeType": "ParameterList",
15823 "parameters": [],
15824 "src": "7561:2:38"
15825 },
15826 "payable": false,
15827 "returnParameters": {
15828 "id": 12040,
15829 "nodeType": "ParameterList",
15830 "parameters": [
15831 {
15832 "constant": false,
15833 "id": 12039,
15834 "name": "",
15835 "nodeType": "VariableDeclaration",
15836 "scope": 12051,
15837 "src": "7590:4:38",
15838 "stateVariable": false,
15839 "storageLocation": "default",
15840 "typeDescriptions": {
15841 "typeIdentifier": "t_bool",
15842 "typeString": "bool"
15843 },
15844 "typeName": {
15845 "id": 12038,
15846 "name": "bool",
15847 "nodeType": "ElementaryTypeName",
15848 "src": "7590:4:38",
15849 "typeDescriptions": {
15850 "typeIdentifier": "t_bool",
15851 "typeString": "bool"
15852 }
15853 },
15854 "value": null,
15855 "visibility": "internal"
15856 }
15857 ],
15858 "src": "7589:6:38"
15859 },
15860 "scope": 12052,
15861 "src": "7539:146:38",
15862 "stateMutability": "nonpayable",
15863 "superFunction": null,
15864 "visibility": "public"
15865 }
15866 ],
15867 "scope": 12078,
15868 "src": "6632:1055:38"
15869 },
15870 {
15871 "baseContracts": [
15872 {
15873 "arguments": null,
15874 "baseName": {
15875 "contractScope": null,
15876 "id": 12053,
15877 "name": "MintableToken",
15878 "nodeType": "UserDefinedTypeName",
15879 "referencedDeclaration": 12052,
15880 "src": "7710:13:38",
15881 "typeDescriptions": {
15882 "typeIdentifier": "t_contract$_MintableToken_$12052",
15883 "typeString": "contract MintableToken"
15884 }
15885 },
15886 "id": 12054,
15887 "nodeType": "InheritanceSpecifier",
15888 "src": "7710:13:38"
15889 }
15890 ],
15891 "contractDependencies": [
15892 11571,
15893 11611,
15894 11684,
15895 11738,
15896 11965,
15897 12052
15898 ],
15899 "contractKind": "contract",
15900 "documentation": null,
15901 "fullyImplemented": true,
15902 "id": 12077,
15903 "linearizedBaseContracts": [
15904 12077,
15905 12052,
15906 11738,
15907 11965,
15908 11684,
15909 11611,
15910 11571
15911 ],
15912 "name": "ZapToken",
15913 "nodeType": "ContractDefinition",
15914 "nodes": [
15915 {
15916 "constant": false,
15917 "id": 12057,
15918 "name": "name",
15919 "nodeType": "VariableDeclaration",
15920 "scope": 12077,
15921 "src": "7730:33:38",
15922 "stateVariable": true,
15923 "storageLocation": "default",
15924 "typeDescriptions": {
15925 "typeIdentifier": "t_string_storage",
15926 "typeString": "string"
15927 },
15928 "typeName": {
15929 "id": 12055,
15930 "name": "string",
15931 "nodeType": "ElementaryTypeName",
15932 "src": "7730:6:38",
15933 "typeDescriptions": {
15934 "typeIdentifier": "t_string_storage_ptr",
15935 "typeString": "string"
15936 }
15937 },
15938 "value": {
15939 "argumentTypes": null,
15940 "hexValue": "5445535420544f4b454e",
15941 "id": 12056,
15942 "isConstant": false,
15943 "isLValue": false,
15944 "isPure": true,
15945 "kind": "string",
15946 "lValueRequested": false,
15947 "nodeType": "Literal",
15948 "src": "7751:12:38",
15949 "subdenomination": null,
15950 "typeDescriptions": {
15951 "typeIdentifier": "t_stringliteral_8cc07e74fc4859642fc3155159df3dd4457185a8cd596d0181af35ff8c613552",
15952 "typeString": "literal_string \"TEST TOKEN\""
15953 },
15954 "value": "TEST TOKEN"
15955 },
15956 "visibility": "public"
15957 },
15958 {
15959 "constant": false,
15960 "id": 12060,
15961 "name": "symbol",
15962 "nodeType": "VariableDeclaration",
15963 "scope": 12077,
15964 "src": "7769:29:38",
15965 "stateVariable": true,
15966 "storageLocation": "default",
15967 "typeDescriptions": {
15968 "typeIdentifier": "t_string_storage",
15969 "typeString": "string"
15970 },
15971 "typeName": {
15972 "id": 12058,
15973 "name": "string",
15974 "nodeType": "ElementaryTypeName",
15975 "src": "7769:6:38",
15976 "typeDescriptions": {
15977 "typeIdentifier": "t_string_storage_ptr",
15978 "typeString": "string"
15979 }
15980 },
15981 "value": {
15982 "argumentTypes": null,
15983 "hexValue": "54455354",
15984 "id": 12059,
15985 "isConstant": false,
15986 "isLValue": false,
15987 "isPure": true,
15988 "kind": "string",
15989 "lValueRequested": false,
15990 "nodeType": "Literal",
15991 "src": "7792:6:38",
15992 "subdenomination": null,
15993 "typeDescriptions": {
15994 "typeIdentifier": "t_stringliteral_852daa74cc3c31fe64542bb9b8764cfb91cc30f9acf9389071ffb44a9eefde46",
15995 "typeString": "literal_string \"TEST\""
15996 },
15997 "value": "TEST"
15998 },
15999 "visibility": "public"
16000 },
16001 {
16002 "constant": false,
16003 "id": 12063,
16004 "name": "decimals",
16005 "nodeType": "VariableDeclaration",
16006 "scope": 12077,
16007 "src": "7804:28:38",
16008 "stateVariable": true,
16009 "storageLocation": "default",
16010 "typeDescriptions": {
16011 "typeIdentifier": "t_uint256",
16012 "typeString": "uint256"
16013 },
16014 "typeName": {
16015 "id": 12061,
16016 "name": "uint256",
16017 "nodeType": "ElementaryTypeName",
16018 "src": "7804:7:38",
16019 "typeDescriptions": {
16020 "typeIdentifier": "t_uint256",
16021 "typeString": "uint256"
16022 }
16023 },
16024 "value": {
16025 "argumentTypes": null,
16026 "hexValue": "3138",
16027 "id": 12062,
16028 "isConstant": false,
16029 "isLValue": false,
16030 "isPure": true,
16031 "kind": "number",
16032 "lValueRequested": false,
16033 "nodeType": "Literal",
16034 "src": "7830:2:38",
16035 "subdenomination": null,
16036 "typeDescriptions": {
16037 "typeIdentifier": "t_rational_18_by_1",
16038 "typeString": "int_const 18"
16039 },
16040 "value": "18"
16041 },
16042 "visibility": "public"
16043 },
16044 {
16045 "body": {
16046 "id": 12075,
16047 "nodeType": "Block",
16048 "src": "7888:32:38",
16049 "statements": [
16050 {
16051 "expression": {
16052 "argumentTypes": null,
16053 "arguments": [
16054 {
16055 "argumentTypes": null,
16056 "id": 12071,
16057 "name": "to",
16058 "nodeType": "Identifier",
16059 "overloadedDeclarations": [],
16060 "referencedDeclaration": 12065,
16061 "src": "7903:2:38",
16062 "typeDescriptions": {
16063 "typeIdentifier": "t_address",
16064 "typeString": "address"
16065 }
16066 },
16067 {
16068 "argumentTypes": null,
16069 "id": 12072,
16070 "name": "amount",
16071 "nodeType": "Identifier",
16072 "overloadedDeclarations": [],
16073 "referencedDeclaration": 12067,
16074 "src": "7906:6:38",
16075 "typeDescriptions": {
16076 "typeIdentifier": "t_uint256",
16077 "typeString": "uint256"
16078 }
16079 }
16080 ],
16081 "expression": {
16082 "argumentTypes": [
16083 {
16084 "typeIdentifier": "t_address",
16085 "typeString": "address"
16086 },
16087 {
16088 "typeIdentifier": "t_uint256",
16089 "typeString": "uint256"
16090 }
16091 ],
16092 "id": 12070,
16093 "name": "mint",
16094 "nodeType": "Identifier",
16095 "overloadedDeclarations": [],
16096 "referencedDeclaration": 12034,
16097 "src": "7898:4:38",
16098 "typeDescriptions": {
16099 "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
16100 "typeString": "function (address,uint256) returns (bool)"
16101 }
16102 },
16103 "id": 12073,
16104 "isConstant": false,
16105 "isLValue": false,
16106 "isPure": false,
16107 "kind": "functionCall",
16108 "lValueRequested": false,
16109 "names": [],
16110 "nodeType": "FunctionCall",
16111 "src": "7898:15:38",
16112 "typeDescriptions": {
16113 "typeIdentifier": "t_bool",
16114 "typeString": "bool"
16115 }
16116 },
16117 "id": 12074,
16118 "nodeType": "ExpressionStatement",
16119 "src": "7898:15:38"
16120 }
16121 ]
16122 },
16123 "documentation": null,
16124 "id": 12076,
16125 "implemented": true,
16126 "isConstructor": false,
16127 "isDeclaredConst": false,
16128 "modifiers": [],
16129 "name": "allocate",
16130 "nodeType": "FunctionDefinition",
16131 "parameters": {
16132 "id": 12068,
16133 "nodeType": "ParameterList",
16134 "parameters": [
16135 {
16136 "constant": false,
16137 "id": 12065,
16138 "name": "to",
16139 "nodeType": "VariableDeclaration",
16140 "scope": 12076,
16141 "src": "7857:10:38",
16142 "stateVariable": false,
16143 "storageLocation": "default",
16144 "typeDescriptions": {
16145 "typeIdentifier": "t_address",
16146 "typeString": "address"
16147 },
16148 "typeName": {
16149 "id": 12064,
16150 "name": "address",
16151 "nodeType": "ElementaryTypeName",
16152 "src": "7857:7:38",
16153 "typeDescriptions": {
16154 "typeIdentifier": "t_address",
16155 "typeString": "address"
16156 }
16157 },
16158 "value": null,
16159 "visibility": "internal"
16160 },
16161 {
16162 "constant": false,
16163 "id": 12067,
16164 "name": "amount",
16165 "nodeType": "VariableDeclaration",
16166 "scope": 12076,
16167 "src": "7869:11:38",
16168 "stateVariable": false,
16169 "storageLocation": "default",
16170 "typeDescriptions": {
16171 "typeIdentifier": "t_uint256",
16172 "typeString": "uint256"
16173 },
16174 "typeName": {
16175 "id": 12066,
16176 "name": "uint",
16177 "nodeType": "ElementaryTypeName",
16178 "src": "7869:4:38",
16179 "typeDescriptions": {
16180 "typeIdentifier": "t_uint256",
16181 "typeString": "uint256"
16182 }
16183 },
16184 "value": null,
16185 "visibility": "internal"
16186 }
16187 ],
16188 "src": "7856:25:38"
16189 },
16190 "payable": false,
16191 "returnParameters": {
16192 "id": 12069,
16193 "nodeType": "ParameterList",
16194 "parameters": [],
16195 "src": "7888:0:38"
16196 },
16197 "scope": 12077,
16198 "src": "7839:81:38",
16199 "stateMutability": "nonpayable",
16200 "superFunction": null,
16201 "visibility": "public"
16202 }
16203 ],
16204 "scope": 12078,
16205 "src": "7689:233:38"
16206 }
16207 ],
16208 "src": "0:7923:38"
16209 },
16210 "compiler": {
16211 "name": "solc",
16212 "version": "0.4.25+commit.59dbf8f1.Emscripten.clang"
16213 },
16214 "networks": {},
16215 "schemaVersion": "2.0.2",
16216 "updatedAt": "2019-06-25T21:15:14.136Z"
16217}
\No newline at end of file