{ "contractName": "BasicToken", "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "name": "from", "type": "address" }, { "indexed": true, "name": "to", "type": "address" }, { "indexed": false, "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "constant": true, "inputs": [], "name": "totalSupply", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_to", "type": "address" }, { "name": "_value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b50610415806100206000396000f300608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610087578063a9059cbb146100de575b600080fd5b34801561006857600080fd5b50610071610143565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061014d565b6040518082815260200191505060405180910390f35b3480156100ea57600080fd5b50610129600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610195565b604051808215151515815260200191505060405180910390f35b6000600154905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101d257600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561021f57600080fd5b610270826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103b490919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610303826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103cd90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103c257fe5b818303905092915050565b600081830190508281101515156103e057fe5b809050929150505600a165627a7a72305820eca4cc5aab8bfb35243f377b87fb30b57d83e50bf50121ecb006aadb240e5c7a0029", "deployedBytecode": "0x608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610087578063a9059cbb146100de575b600080fd5b34801561006857600080fd5b50610071610143565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061014d565b6040518082815260200191505060405180910390f35b3480156100ea57600080fd5b50610129600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610195565b604051808215151515815260200191505060405180910390f35b6000600154905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101d257600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561021f57600080fd5b610270826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103b490919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610303826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103cd90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103c257fe5b818303905092915050565b600081830190508281101515156103e057fe5b809050929150505600a165627a7a72305820eca4cc5aab8bfb35243f377b87fb30b57d83e50bf50121ecb006aadb240e5c7a0029", "sourceMap": "180:1053:33:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;180:1053:33;;;;;;;", "deployedSourceMap": "180:1053:33:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:33;;;;;;;;;;;;;;;;;;;;;;;1131:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83;415:7;437:12;;430:19;;371:83;:::o;1131:99::-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;608:321::-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;836:110:8:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o", "source": "pragma solidity ^0.4.21;\n\n\nimport \"./ERC20Basic.sol\";\nimport \"../../math/SafeMath.sol\";\n\n\n/**\n * @title Basic token\n * @dev Basic version of StandardToken, with no allowances.\n */\ncontract BasicToken is ERC20Basic {\n using SafeMath for uint256;\n\n mapping(address => uint256) balances;\n\n uint256 totalSupply_;\n\n /**\n * @dev total number of tokens in existence\n */\n function totalSupply() public view returns (uint256) {\n return totalSupply_;\n }\n\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 require(_value <= balances[msg.sender]);\n\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 /**\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 view returns (uint256) {\n return balances[_owner];\n }\n\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BasicToken.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BasicToken.sol", "exportedSymbols": { "BasicToken": [ 2263 ] }, "id": 2264, "nodeType": "SourceUnit", "nodes": [ { "id": 2169, "literals": [ "solidity", "^", "0.4", ".21" ], "nodeType": "PragmaDirective", "src": "0:24:33" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20Basic.sol", "file": "./ERC20Basic.sol", "id": 2170, "nodeType": "ImportDirective", "scope": 2264, "sourceUnit": 2560, "src": "27:26:33", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/SafeMath.sol", "file": "../../math/SafeMath.sol", "id": 2171, "nodeType": "ImportDirective", "scope": 2264, "sourceUnit": 580, "src": "54:33:33", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 2172, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2559, "src": "203:10:33", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, "id": 2173, "nodeType": "InheritanceSpecifier", "src": "203:10:33" } ], "contractDependencies": [ 2559 ], "contractKind": "contract", "documentation": "@title Basic token\n@dev Basic version of StandardToken, with no allowances.", "fullyImplemented": true, "id": 2263, "linearizedBaseContracts": [ 2263, 2559 ], "name": "BasicToken", "nodeType": "ContractDefinition", "nodes": [ { "id": 2176, "libraryName": { "contractScope": null, "id": 2174, "name": "SafeMath", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 579, "src": "224:8:33", "typeDescriptions": { "typeIdentifier": "t_contract$_SafeMath_$579", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "218:27:33", "typeName": { "id": 2175, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "237:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, { "constant": false, "id": 2180, "name": "balances", "nodeType": "VariableDeclaration", "scope": 2263, "src": "249:36:33", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "typeName": { "id": 2179, "keyType": { "id": 2177, "name": "address", "nodeType": "ElementaryTypeName", "src": "257:7:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "249:27:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { "id": 2178, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "268:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2182, "name": "totalSupply_", "nodeType": "VariableDeclaration", "scope": 2263, "src": "290:20:33", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2181, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "290:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "body": { "id": 2189, "nodeType": "Block", "src": "424:30:33", "statements": [ { "expression": { "argumentTypes": null, "id": 2187, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2182, "src": "437:12:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 2186, "id": 2188, "nodeType": "Return", "src": "430:19:33" } ] }, "documentation": "@dev total number of tokens in existence", "id": 2190, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { "id": 2183, "nodeType": "ParameterList", "parameters": [], "src": "391:2:33" }, "payable": false, "returnParameters": { "id": 2186, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2185, "name": "", "nodeType": "VariableDeclaration", "scope": 2190, "src": "415:7:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2184, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "415:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "414:9:33" }, "scope": 2263, "src": "371:83:33", "stateMutability": "view", "superFunction": 2534, "visibility": "public" }, { "body": { "id": 2249, "nodeType": "Block", "src": "677:252:33", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 2204, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2200, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2192, "src": "691:3:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2202, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "706:1:33", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } ], "id": 2201, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "698:7:33", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 2203, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "698:10:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "691:17:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 2199, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4882, 4883 ], "referencedDeclaration": 4882, "src": "683:7:33", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 2205, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "683:26:33", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2206, "nodeType": "ExpressionStatement", "src": "683:26:33" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2213, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2208, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2194, "src": "723:6:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2209, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2180, "src": "733:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 2212, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2210, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4879, "src": "742:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2211, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "742:10:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "733:20:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "723:30:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 2207, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4882, 4883 ], "referencedDeclaration": 4882, "src": "715:7:33", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 2214, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "715:39:33", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2215, "nodeType": "ExpressionStatement", "src": "715:39:33" }, { "expression": { "argumentTypes": null, "id": 2227, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2216, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2180, "src": "761:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 2219, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2217, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4879, "src": "770:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2218, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "770:10:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "761:20:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2225, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2194, "src": "809:6:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2220, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2180, "src": "784:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 2223, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2221, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4879, "src": "793:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2222, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "793:10:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "784:20:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2224, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 554, "src": "784:24:33", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 2226, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "784:32:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "761:55:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2228, "nodeType": "ExpressionStatement", "src": "761:55:33" }, { "expression": { "argumentTypes": null, "id": 2238, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2229, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2180, "src": "822:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 2231, "indexExpression": { "argumentTypes": null, "id": 2230, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2192, "src": "831:3:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "822:13:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2236, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2194, "src": "856:6:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2232, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2180, "src": "838:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 2234, "indexExpression": { "argumentTypes": null, "id": 2233, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2192, "src": "847:3:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "838:13:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2235, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 578, "src": "838:17:33", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 2237, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "838:25:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "822:41:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2239, "nodeType": "ExpressionStatement", "src": "822:41:33" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2241, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4879, "src": "883:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2242, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "883:10:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2243, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2192, "src": "895:3:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2244, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2194, "src": "900:6:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2240, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2558, "src": "874:8:33", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, "id": 2245, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "874:33:33", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2246, "nodeType": "EmitStatement", "src": "869:38:33" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", "id": 2247, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "920:4:33", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "functionReturnParameters": 2198, "id": 2248, "nodeType": "Return", "src": "913:11:33" } ] }, "documentation": "@dev transfer token for a specified address\n@param _to The address to transfer to.\n@param _value The amount to be transferred.", "id": 2250, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { "id": 2195, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2192, "name": "_to", "nodeType": "VariableDeclaration", "scope": 2250, "src": "626:11:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2191, "name": "address", "nodeType": "ElementaryTypeName", "src": "626:7:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2194, "name": "_value", "nodeType": "VariableDeclaration", "scope": 2250, "src": "639:14:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2193, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "639:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "625:29:33" }, "payable": false, "returnParameters": { "id": 2198, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2197, "name": "", "nodeType": "VariableDeclaration", "scope": 2250, "src": "671:4:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 2196, "name": "bool", "nodeType": "ElementaryTypeName", "src": "671:4:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "670:6:33" }, "scope": 2263, "src": "608:321:33", "stateMutability": "nonpayable", "superFunction": 2550, "visibility": "public" }, { "body": { "id": 2261, "nodeType": "Block", "src": "1196:34:33", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2257, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2180, "src": "1209:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 2259, "indexExpression": { "argumentTypes": null, "id": 2258, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2252, "src": "1218:6:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1209:16:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 2256, "id": 2260, "nodeType": "Return", "src": "1202:23:33" } ] }, "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.", "id": 2262, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { "id": 2253, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2252, "name": "_owner", "nodeType": "VariableDeclaration", "scope": 2262, "src": "1150:14:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2251, "name": "address", "nodeType": "ElementaryTypeName", "src": "1150:7:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "1149:16:33" }, "payable": false, "returnParameters": { "id": 2256, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2255, "name": "", "nodeType": "VariableDeclaration", "scope": 2262, "src": "1187:7:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2254, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1187:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "1186:9:33" }, "scope": 2263, "src": "1131:99:33", "stateMutability": "view", "superFunction": 2541, "visibility": "public" } ], "scope": 2264, "src": "180:1053:33" } ], "src": "0:1234:33" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BasicToken.sol", "exportedSymbols": { "BasicToken": [ 2263 ] }, "id": 2264, "nodeType": "SourceUnit", "nodes": [ { "id": 2169, "literals": [ "solidity", "^", "0.4", ".21" ], "nodeType": "PragmaDirective", "src": "0:24:33" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/ERC20Basic.sol", "file": "./ERC20Basic.sol", "id": 2170, "nodeType": "ImportDirective", "scope": 2264, "sourceUnit": 2560, "src": "27:26:33", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/math/SafeMath.sol", "file": "../../math/SafeMath.sol", "id": 2171, "nodeType": "ImportDirective", "scope": 2264, "sourceUnit": 580, "src": "54:33:33", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 2172, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2559, "src": "203:10:33", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20Basic_$2559", "typeString": "contract ERC20Basic" } }, "id": 2173, "nodeType": "InheritanceSpecifier", "src": "203:10:33" } ], "contractDependencies": [ 2559 ], "contractKind": "contract", "documentation": "@title Basic token\n@dev Basic version of StandardToken, with no allowances.", "fullyImplemented": true, "id": 2263, "linearizedBaseContracts": [ 2263, 2559 ], "name": "BasicToken", "nodeType": "ContractDefinition", "nodes": [ { "id": 2176, "libraryName": { "contractScope": null, "id": 2174, "name": "SafeMath", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 579, "src": "224:8:33", "typeDescriptions": { "typeIdentifier": "t_contract$_SafeMath_$579", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "218:27:33", "typeName": { "id": 2175, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "237:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, { "constant": false, "id": 2180, "name": "balances", "nodeType": "VariableDeclaration", "scope": 2263, "src": "249:36:33", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "typeName": { "id": 2179, "keyType": { "id": 2177, "name": "address", "nodeType": "ElementaryTypeName", "src": "257:7:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "249:27:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { "id": 2178, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "268:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2182, "name": "totalSupply_", "nodeType": "VariableDeclaration", "scope": 2263, "src": "290:20:33", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2181, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "290:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "body": { "id": 2189, "nodeType": "Block", "src": "424:30:33", "statements": [ { "expression": { "argumentTypes": null, "id": 2187, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2182, "src": "437:12:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 2186, "id": 2188, "nodeType": "Return", "src": "430:19:33" } ] }, "documentation": "@dev total number of tokens in existence", "id": 2190, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { "id": 2183, "nodeType": "ParameterList", "parameters": [], "src": "391:2:33" }, "payable": false, "returnParameters": { "id": 2186, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2185, "name": "", "nodeType": "VariableDeclaration", "scope": 2190, "src": "415:7:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2184, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "415:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "414:9:33" }, "scope": 2263, "src": "371:83:33", "stateMutability": "view", "superFunction": 2534, "visibility": "public" }, { "body": { "id": 2249, "nodeType": "Block", "src": "677:252:33", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 2204, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2200, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2192, "src": "691:3:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2202, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "706:1:33", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } ], "id": 2201, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "698:7:33", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 2203, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "698:10:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "691:17:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 2199, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4882, 4883 ], "referencedDeclaration": 4882, "src": "683:7:33", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 2205, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "683:26:33", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2206, "nodeType": "ExpressionStatement", "src": "683:26:33" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2213, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2208, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2194, "src": "723:6:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2209, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2180, "src": "733:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 2212, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2210, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4879, "src": "742:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2211, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "742:10:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "733:20:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "723:30:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 2207, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4882, 4883 ], "referencedDeclaration": 4882, "src": "715:7:33", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 2214, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "715:39:33", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2215, "nodeType": "ExpressionStatement", "src": "715:39:33" }, { "expression": { "argumentTypes": null, "id": 2227, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2216, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2180, "src": "761:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 2219, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2217, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4879, "src": "770:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2218, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "770:10:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "761:20:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2225, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2194, "src": "809:6:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2220, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2180, "src": "784:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 2223, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2221, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4879, "src": "793:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2222, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "793:10:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "784:20:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2224, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 554, "src": "784:24:33", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 2226, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "784:32:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "761:55:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2228, "nodeType": "ExpressionStatement", "src": "761:55:33" }, { "expression": { "argumentTypes": null, "id": 2238, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2229, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2180, "src": "822:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 2231, "indexExpression": { "argumentTypes": null, "id": 2230, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2192, "src": "831:3:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "822:13:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2236, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2194, "src": "856:6:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2232, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2180, "src": "838:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 2234, "indexExpression": { "argumentTypes": null, "id": 2233, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2192, "src": "847:3:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "838:13:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2235, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 578, "src": "838:17:33", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 2237, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "838:25:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "822:41:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2239, "nodeType": "ExpressionStatement", "src": "822:41:33" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2241, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4879, "src": "883:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2242, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "883:10:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2243, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2192, "src": "895:3:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2244, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2194, "src": "900:6:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2240, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2558, "src": "874:8:33", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, "id": 2245, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "874:33:33", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2246, "nodeType": "EmitStatement", "src": "869:38:33" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", "id": 2247, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "920:4:33", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "functionReturnParameters": 2198, "id": 2248, "nodeType": "Return", "src": "913:11:33" } ] }, "documentation": "@dev transfer token for a specified address\n@param _to The address to transfer to.\n@param _value The amount to be transferred.", "id": 2250, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { "id": 2195, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2192, "name": "_to", "nodeType": "VariableDeclaration", "scope": 2250, "src": "626:11:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2191, "name": "address", "nodeType": "ElementaryTypeName", "src": "626:7:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2194, "name": "_value", "nodeType": "VariableDeclaration", "scope": 2250, "src": "639:14:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2193, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "639:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "625:29:33" }, "payable": false, "returnParameters": { "id": 2198, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2197, "name": "", "nodeType": "VariableDeclaration", "scope": 2250, "src": "671:4:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 2196, "name": "bool", "nodeType": "ElementaryTypeName", "src": "671:4:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "670:6:33" }, "scope": 2263, "src": "608:321:33", "stateMutability": "nonpayable", "superFunction": 2550, "visibility": "public" }, { "body": { "id": 2261, "nodeType": "Block", "src": "1196:34:33", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2257, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2180, "src": "1209:8:33", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 2259, "indexExpression": { "argumentTypes": null, "id": 2258, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2252, "src": "1218:6:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1209:16:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 2256, "id": 2260, "nodeType": "Return", "src": "1202:23:33" } ] }, "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.", "id": 2262, "implemented": true, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { "id": 2253, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2252, "name": "_owner", "nodeType": "VariableDeclaration", "scope": 2262, "src": "1150:14:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2251, "name": "address", "nodeType": "ElementaryTypeName", "src": "1150:7:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "1149:16:33" }, "payable": false, "returnParameters": { "id": 2256, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2255, "name": "", "nodeType": "VariableDeclaration", "scope": 2262, "src": "1187:7:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2254, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1187:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "1186:9:33" }, "scope": 2263, "src": "1131:99:33", "stateMutability": "view", "superFunction": 2541, "visibility": "public" } ], "scope": 2264, "src": "180:1053:33" } ], "src": "0:1234:33" }, "compiler": { "name": "solc", "version": "0.4.23+commit.124ca40d.Emscripten.clang" }, "networks": {}, "schemaVersion": "2.0.0", "updatedAt": "2018-08-27T20:45:00.212Z" }