2019-05-31 13:58:35 +00:00
{
"contractName" : "StandardTokenData" ,
"abi" : [ ] ,
"metadata" : "{\"compiler\":{\"version\":\"0.5.8+commit.23d335f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{},\"notice\":\"Deprecated: Use Open Zeppeling one instead\"}},\"settings\":{\"compilationTarget\":{\"@gnosis.pm/util-contracts/contracts/GnosisStandardToken.sol\":\"StandardTokenData\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":500},\"remappings\":[]},\"sources\":{\"@gnosis.pm/util-contracts/contracts/GnosisStandardToken.sol\":{\"keccak256\":\"0xdec5028208406e811c449a04e2932f7efeae629388cb6124550b8b048a645556\",\"urls\":[\"bzzr://f3d13a708f543b3ce72745cab321e6daf25d935fd12ba55a4152f1113eb6d5e4\"]},\"@gnosis.pm/util-contracts/contracts/Math.sol\":{\"keccak256\":\"0x857768cd0d460e33778dcde29e997b539640bbf37ea23832213b2e5039147ea5\",\"urls\":[\"bzzr://628f7e63a0d6a092aad389b70cc55d6d9c10cd9753f3644d5ea9dc75a3314a8e\"]},\"@gnosis.pm/util-contracts/contracts/Proxy.sol\":{\"keccak256\":\"0x2ff8795110cceafcab1010f157a4dd33e46378bb88fbdc3c313a6f0d62e3444f\",\"urls\":[\"bzzr://66d77feaf648ca17dd620f3e27463b4b6e6031fec7ccd64dfffc4c30bd57b467\"]},\"@gnosis.pm/util-contracts/contracts/Token.sol\":{\"keccak256\":\"0x364778f634c900ed83553e17ef1284bd33fa68a738e668f664b4a0fa675bb586\",\"urls\":[\"bzzr://cb31caaf3364dbf5d688adb10de074284845b142c26d23a47b09ee510dd4a432\"]}},\"version\":1}" ,
"bytecode" : "0x6080604052348015600f57600080fd5b50603580601d6000396000f3fe6080604052600080fdfea165627a7a72305820a0bd439ac45825ff45fb43e1f564b9f7838fc05cc32bfb75f1cfe35bd13d88370029" ,
"deployedBytecode" : "0x6080604052600080fdfea165627a7a72305820a0bd439ac45825ff45fb43e1f564b9f7838fc05cc32bfb75f1cfe35bd13d88370029" ,
"sourceMap" : "144:183:4:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;144:183:4;;;;;;;" ,
"deployedSourceMap" : "144:183:4:-;;;;;" ,
"source" : "pragma solidity ^0.5.2;\nimport \"./Token.sol\";\nimport \"./Math.sol\";\nimport \"./Proxy.sol\";\n\n/**\n * Deprecated: Use Open Zeppeling one instead\n */\ncontract StandardTokenData {\n /*\n * Storage\n */\n mapping(address => uint) balances;\n mapping(address => mapping(address => uint)) allowances;\n uint totalTokens;\n}\n\n/**\n * Deprecated: Use Open Zeppeling one instead\n */\n/// @title Standard token contract with overflow protection\ncontract GnosisStandardToken is Token, StandardTokenData {\n using GnosisMath for *;\n\n /*\n * Public functions\n */\n /// @dev Transfers sender's tokens to a given address. Returns success\n /// @param to Address of token receiver\n /// @param value Number of tokens to transfer\n /// @return Was transfer successful?\n function transfer(address to, uint value) public returns (bool) {\n if (!balances[msg.sender].safeToSub(value) || !balances[to].safeToAdd(value)) {\n return false;\n }\n\n balances[msg.sender] -= value;\n balances[to] += value;\n emit Transfer(msg.sender, to, value);\n return true;\n }\n\n /// @dev Allows allowed third party to transfer tokens from one address to another. Returns success\n /// @param from Address from where tokens are withdrawn\n /// @param to Address to where tokens are sent\n /// @param value Number of tokens to transfer\n /// @return Was transfer successful?\n function transferFrom(address from, address to, uint value) public returns (bool) {\n if (!balances[from].safeToSub(value) || !allowances[from][msg.sender].safeToSub(\n value\n ) || !balances[to].safeToAdd(value)) {\n return false;\n }\n balances[from] -= value;\n allowances[from][msg.sender] -= value;\n balances[to] += value;\n emit Transfer(from, to, value);\n return true;\n }\n\n /// @dev Sets approved amount of tokens for spender. Returns success\n /// @param spender Address of allowed account\n /// @param value Number of approved tokens\n /// @return Was approval successful?\n function approve(address spender, uint value) public returns (bool) {\n allowances[msg.sender][spender] = value;\n emit Approval(msg.sender, spender, value);\n return true;\n }\n\n /// @dev Returns number of allowed tokens for given address\n /// @param owner Address of token owner\n /// @param spender Address of token spender\n /// @return Remaining allowance for spender\n function allowance(address owner, address spender) public view returns (uint) {\n return allowances[owner][spender];\n }\n\n /// @dev Returns number of tokens owned by given address\n /// @param owner Address of token owner\n /// @return Balance of owner\n function balanceOf(address owner) public view returns (uint) {\n return balances[owner];\n }\n\n /// @dev Returns total supply of tokens\n /// @return Total supply\n function totalSupply() public view returns (uint) {\n return totalTokens;\n }\n}\n" ,
"sourcePath" : "@gnosis.pm/util-contracts/contracts/GnosisStandardToken.sol" ,
"ast" : {
"absolutePath" : "@gnosis.pm/util-contracts/contracts/GnosisStandardToken.sol" ,
"exportedSymbols" : {
"GnosisStandardToken" : [
329
] ,
"StandardTokenData" : [
135
]
} ,
"id" : 330 ,
"nodeType" : "SourceUnit" ,
"nodes" : [
{
"id" : 119 ,
"literals" : [
"solidity" ,
"^" ,
"0.5" ,
".2"
] ,
"nodeType" : "PragmaDirective" ,
"src" : "0:23:4"
} ,
{
"absolutePath" : "@gnosis.pm/util-contracts/contracts/Token.sol" ,
"file" : "./Token.sol" ,
"id" : 120 ,
"nodeType" : "ImportDirective" ,
"scope" : 330 ,
"sourceUnit" : 1564 ,
"src" : "24:21:4" ,
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "@gnosis.pm/util-contracts/contracts/Math.sol" ,
"file" : "./Math.sol" ,
"id" : 121 ,
"nodeType" : "ImportDirective" ,
"scope" : 330 ,
"sourceUnit" : 1459 ,
"src" : "46:20:4" ,
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "@gnosis.pm/util-contracts/contracts/Proxy.sol" ,
"file" : "./Proxy.sol" ,
"id" : 122 ,
"nodeType" : "ImportDirective" ,
"scope" : 330 ,
"sourceUnit" : 1495 ,
"src" : "67:21:4" ,
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"baseContracts" : [ ] ,
"contractDependencies" : [ ] ,
"contractKind" : "contract" ,
"documentation" : "Deprecated: Use Open Zeppeling one instead" ,
"fullyImplemented" : true ,
"id" : 135 ,
"linearizedBaseContracts" : [
135
] ,
"name" : "StandardTokenData" ,
"nodeType" : "ContractDefinition" ,
"nodes" : [
{
"constant" : false ,
"id" : 126 ,
"name" : "balances" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 135 ,
"src" : "208:33:4" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
} ,
"typeName" : {
"id" : 125 ,
"keyType" : {
"id" : 123 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "216:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Mapping" ,
"src" : "208:24:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
} ,
"valueType" : {
"id" : 124 ,
"name" : "uint" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "227:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 132 ,
"name" : "allowances" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 135 ,
"src" : "247:55:4" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$" ,
"typeString" : "mapping(address => mapping(address => uint256))"
} ,
"typeName" : {
"id" : 131 ,
"keyType" : {
"id" : 127 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "255:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Mapping" ,
"src" : "247:44:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$" ,
"typeString" : "mapping(address => mapping(address => uint256))"
} ,
"valueType" : {
"id" : 130 ,
"keyType" : {
"id" : 128 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "274:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Mapping" ,
"src" : "266:24:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
} ,
"valueType" : {
"id" : 129 ,
"name" : "uint" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "285:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 134 ,
"name" : "totalTokens" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 135 ,
"src" : "308:16:4" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 133 ,
"name" : "uint" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "308:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"scope" : 330 ,
"src" : "144:183:4"
} ,
{
"baseContracts" : [
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
"id" : 136 ,
"name" : "Token" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 1563 ,
"src" : "475:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_Token_$1563" ,
"typeString" : "contract Token"
}
} ,
"id" : 137 ,
"nodeType" : "InheritanceSpecifier" ,
"src" : "475:5:4"
} ,
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
"id" : 138 ,
"name" : "StandardTokenData" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 135 ,
"src" : "482:17:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_StandardTokenData_$135" ,
"typeString" : "contract StandardTokenData"
}
} ,
"id" : 139 ,
"nodeType" : "InheritanceSpecifier" ,
"src" : "482:17:4"
}
] ,
"contractDependencies" : [
135 ,
1563
] ,
"contractKind" : "contract" ,
"documentation" : "@title Standard token contract with overflow protection" ,
"fullyImplemented" : true ,
"id" : 329 ,
"linearizedBaseContracts" : [
329 ,
135 ,
1563
] ,
"name" : "GnosisStandardToken" ,
"nodeType" : "ContractDefinition" ,
"nodes" : [
{
"id" : 141 ,
"libraryName" : {
"contractScope" : null ,
"id" : 140 ,
"name" : "GnosisMath" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 1458 ,
"src" : "512:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_GnosisMath_$1458" ,
"typeString" : "library GnosisMath"
}
} ,
"nodeType" : "UsingForDirective" ,
"src" : "506:23:4" ,
"typeName" : null
} ,
{
"body" : {
"id" : 192 ,
"nodeType" : "Block" ,
"src" : "849:269:4" ,
"statements" : [
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"id" : 165 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"id" : 157 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "!" ,
"prefix" : true ,
"src" : "863:38:4" ,
"subExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 155 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 145 ,
"src" : "895:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"expression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 150 ,
"name" : "balances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 126 ,
"src" : "864:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 153 ,
"indexExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"id" : 151 ,
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1578 ,
"src" : "873:3:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
"id" : 152 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
"src" : "873:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address_payable" ,
"typeString" : "address payable"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "864:20:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 154 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "safeToSub" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 1221 ,
"src" : "864:30:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$bound_to$_t_uint256_$" ,
"typeString" : "function (uint256,uint256) pure returns (bool)"
}
} ,
"id" : 156 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "864:37:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "||" ,
"rightExpression" : {
"argumentTypes" : null ,
"id" : 164 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "!" ,
"prefix" : true ,
"src" : "905:30:4" ,
"subExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 162 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 145 ,
"src" : "929:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"expression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 158 ,
"name" : "balances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 126 ,
"src" : "906:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 160 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 159 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 143 ,
"src" : "915:2:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "906:12:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 161 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "safeToAdd" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 1207 ,
"src" : "906:22:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$bound_to$_t_uint256_$" ,
"typeString" : "function (uint256,uint256) pure returns (bool)"
}
} ,
"id" : 163 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "906:29:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"src" : "863:72:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
"id" : 169 ,
"nodeType" : "IfStatement" ,
"src" : "859:115:4" ,
"trueBody" : {
"id" : 168 ,
"nodeType" : "Block" ,
"src" : "937:37:4" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"hexValue" : "66616c7365" ,
"id" : 166 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "bool" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "958:5:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"value" : "false"
} ,
"functionReturnParameters" : 149 ,
"id" : 167 ,
"nodeType" : "Return" ,
"src" : "951:12:4"
}
]
}
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 175 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 170 ,
"name" : "balances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 126 ,
"src" : "984:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 173 ,
"indexExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"id" : 171 ,
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1578 ,
"src" : "993:3:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
"id" : 172 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
"src" : "993:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address_payable" ,
"typeString" : "address payable"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
"src" : "984:20:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "-=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"id" : 174 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 145 ,
"src" : "1008:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"src" : "984:29:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 176 ,
"nodeType" : "ExpressionStatement" ,
"src" : "984:29:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 181 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 177 ,
"name" : "balances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 126 ,
"src" : "1023:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 179 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 178 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 143 ,
"src" : "1032:2:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
"src" : "1023:12:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "+=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"id" : 180 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 145 ,
"src" : "1039:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"src" : "1023:21:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 182 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1023:21:4"
} ,
{
"eventCall" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"id" : 184 ,
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1578 ,
"src" : "1068:3:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
"id" : 185 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
"src" : "1068:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address_payable" ,
"typeString" : "address payable"
}
} ,
{
"argumentTypes" : null ,
"id" : 186 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 143 ,
"src" : "1080:2:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 187 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 145 ,
"src" : "1084:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address_payable" ,
"typeString" : "address payable"
} ,
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"id" : 183 ,
"name" : "Transfer" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1504 ,
"src" : "1059:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$" ,
"typeString" : "function (address,address,uint256)"
}
} ,
"id" : 188 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1059:31:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 189 ,
"nodeType" : "EmitStatement" ,
"src" : "1054:36:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"hexValue" : "74727565" ,
"id" : 190 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "bool" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "1107:4:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"value" : "true"
} ,
"functionReturnParameters" : 149 ,
"id" : 191 ,
"nodeType" : "Return" ,
"src" : "1100:11:4"
}
]
} ,
"documentation" : "@dev Transfers sender's tokens to a given address. Returns success\n @param to Address of token receiver\n @param value Number of tokens to transfer\n @return Was transfer successful?" ,
"id" : 193 ,
"implemented" : true ,
"kind" : "function" ,
"modifiers" : [ ] ,
"name" : "transfer" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 146 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 143 ,
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 193 ,
"src" : "803:10:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 142 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "803:7:4" ,
"stateMutability" : "nonpayable" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 145 ,
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 193 ,
"src" : "815:10:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 144 ,
"name" : "uint" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "815:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "802:24:4"
} ,
"returnParameters" : {
"id" : 149 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 148 ,
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 193 ,
"src" : "843:4:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
"id" : 147 ,
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "843:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "842:6:4"
} ,
"scope" : 329 ,
"src" : "785:333:4" ,
"stateMutability" : "nonpayable" ,
"superFunction" : 1521 ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 263 ,
"nodeType" : "Block" ,
"src" : "1512:369:4" ,
"statements" : [
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"id" : 229 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"id" : 221 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"id" : 210 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "!" ,
"prefix" : true ,
"src" : "1526:32:4" ,
"subExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 208 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 199 ,
"src" : "1552:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"expression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 204 ,
"name" : "balances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 126 ,
"src" : "1527:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 206 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 205 ,
"name" : "from" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 195 ,
"src" : "1536:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "1527:14:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 207 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "safeToSub" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 1221 ,
"src" : "1527:24:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$bound_to$_t_uint256_$" ,
"typeString" : "function (uint256,uint256) pure returns (bool)"
}
} ,
"id" : 209 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1527:31:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "||" ,
"rightExpression" : {
"argumentTypes" : null ,
"id" : 220 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "!" ,
"prefix" : true ,
"src" : "1562:68:4" ,
"subExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 218 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 199 ,
"src" : "1615:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"expression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 211 ,
"name" : "allowances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 132 ,
"src" : "1563:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$" ,
"typeString" : "mapping(address => mapping(address => uint256))"
}
} ,
"id" : 213 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 212 ,
"name" : "from" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 195 ,
"src" : "1574:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "1563:16:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 216 ,
"indexExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"id" : 214 ,
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1578 ,
"src" : "1580:3:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
"id" : 215 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
"src" : "1580:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address_payable" ,
"typeString" : "address payable"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "1563:28:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 217 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "safeToSub" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 1221 ,
"src" : "1563:38:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$bound_to$_t_uint256_$" ,
"typeString" : "function (uint256,uint256) pure returns (bool)"
}
} ,
"id" : 219 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1563:67:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"src" : "1526:104:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "||" ,
"rightExpression" : {
"argumentTypes" : null ,
"id" : 228 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "!" ,
"prefix" : true ,
"src" : "1634:30:4" ,
"subExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 226 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 199 ,
"src" : "1658:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"expression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 222 ,
"name" : "balances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 126 ,
"src" : "1635:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 224 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 223 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 197 ,
"src" : "1644:2:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "1635:12:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 225 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "safeToAdd" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 1207 ,
"src" : "1635:22:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$bound_to$_t_uint256_$" ,
"typeString" : "function (uint256,uint256) pure returns (bool)"
}
} ,
"id" : 227 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1635:29:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"src" : "1526:138:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
"id" : 233 ,
"nodeType" : "IfStatement" ,
"src" : "1522:181:4" ,
"trueBody" : {
"id" : 232 ,
"nodeType" : "Block" ,
"src" : "1666:37:4" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"hexValue" : "66616c7365" ,
"id" : 230 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "bool" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "1687:5:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"value" : "false"
} ,
"functionReturnParameters" : 203 ,
"id" : 231 ,
"nodeType" : "Return" ,
"src" : "1680:12:4"
}
]
}
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 238 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 234 ,
"name" : "balances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 126 ,
"src" : "1712:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 236 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 235 ,
"name" : "from" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 195 ,
"src" : "1721:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
"src" : "1712:14:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "-=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"id" : 237 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 199 ,
"src" : "1730:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"src" : "1712:23:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 239 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1712:23:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 247 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 240 ,
"name" : "allowances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 132 ,
"src" : "1745:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$" ,
"typeString" : "mapping(address => mapping(address => uint256))"
}
} ,
"id" : 244 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 241 ,
"name" : "from" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 195 ,
"src" : "1756:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "1745:16:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 245 ,
"indexExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"id" : 242 ,
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1578 ,
"src" : "1762:3:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
"id" : 243 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
"src" : "1762:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address_payable" ,
"typeString" : "address payable"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
"src" : "1745:28:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "-=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"id" : 246 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 199 ,
"src" : "1777:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"src" : "1745:37:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 248 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1745:37:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 253 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 249 ,
"name" : "balances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 126 ,
"src" : "1792:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 251 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 250 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 197 ,
"src" : "1801:2:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
"src" : "1792:12:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "+=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"id" : 252 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 199 ,
"src" : "1808:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"src" : "1792:21:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 254 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1792:21:4"
} ,
{
"eventCall" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 256 ,
"name" : "from" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 195 ,
"src" : "1837:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 257 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 197 ,
"src" : "1843:2:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 258 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 199 ,
"src" : "1847:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"id" : 255 ,
"name" : "Transfer" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1504 ,
"src" : "1828:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$" ,
"typeString" : "function (address,address,uint256)"
}
} ,
"id" : 259 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1828:25:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 260 ,
"nodeType" : "EmitStatement" ,
"src" : "1823:30:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"hexValue" : "74727565" ,
"id" : 261 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "bool" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "1870:4:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"value" : "true"
} ,
"functionReturnParameters" : 203 ,
"id" : 262 ,
"nodeType" : "Return" ,
"src" : "1863:11:4"
}
]
} ,
"documentation" : "@dev Allows allowed third party to transfer tokens from one address to another. Returns success\n @param from Address from where tokens are withdrawn\n @param to Address to where tokens are sent\n @param value Number of tokens to transfer\n @return Was transfer successful?" ,
"id" : 264 ,
"implemented" : true ,
"kind" : "function" ,
"modifiers" : [ ] ,
"name" : "transferFrom" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 200 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 195 ,
"name" : "from" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 264 ,
"src" : "1452:12:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 194 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1452:7:4" ,
"stateMutability" : "nonpayable" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 197 ,
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 264 ,
"src" : "1466:10:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 196 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1466:7:4" ,
"stateMutability" : "nonpayable" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 199 ,
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 264 ,
"src" : "1478:10:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 198 ,
"name" : "uint" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1478:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "1451:38:4"
} ,
"returnParameters" : {
"id" : 203 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 202 ,
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 264 ,
"src" : "1506:4:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
"id" : 201 ,
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1506:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "1505:6:4"
} ,
"scope" : 329 ,
"src" : "1430:451:4" ,
"stateMutability" : "nonpayable" ,
"superFunction" : 1532 ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 291 ,
"nodeType" : "Block" ,
"src" : "2166:128:4" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"id" : 280 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 273 ,
"name" : "allowances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 132 ,
"src" : "2176:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$" ,
"typeString" : "mapping(address => mapping(address => uint256))"
}
} ,
"id" : 277 ,
"indexExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"id" : 274 ,
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1578 ,
"src" : "2187:3:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
"id" : 275 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
"src" : "2187:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address_payable" ,
"typeString" : "address payable"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2176:22:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 278 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 276 ,
"name" : "spender" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 266 ,
"src" : "2199:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
"src" : "2176:31:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"id" : 279 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 268 ,
"src" : "2210:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"src" : "2176:39:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 281 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2176:39:4"
} ,
{
"eventCall" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"id" : 283 ,
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1578 ,
"src" : "2239:3:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
"id" : 284 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
"src" : "2239:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address_payable" ,
"typeString" : "address payable"
}
} ,
{
"argumentTypes" : null ,
"id" : 285 ,
"name" : "spender" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 266 ,
"src" : "2251:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 286 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 268 ,
"src" : "2260:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address_payable" ,
"typeString" : "address payable"
} ,
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"id" : 282 ,
"name" : "Approval" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1512 ,
"src" : "2230:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$" ,
"typeString" : "function (address,address,uint256)"
}
} ,
"id" : 287 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2230:36:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 288 ,
"nodeType" : "EmitStatement" ,
"src" : "2225:41:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"hexValue" : "74727565" ,
"id" : 289 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "bool" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2283:4:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"value" : "true"
} ,
"functionReturnParameters" : 272 ,
"id" : 290 ,
"nodeType" : "Return" ,
"src" : "2276:11:4"
}
]
} ,
"documentation" : "@dev Sets approved amount of tokens for spender. Returns success\n @param spender Address of allowed account\n @param value Number of approved tokens\n @return Was approval successful?" ,
"id" : 292 ,
"implemented" : true ,
"kind" : "function" ,
"modifiers" : [ ] ,
"name" : "approve" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 269 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 266 ,
"name" : "spender" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 292 ,
"src" : "2115:15:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 265 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2115:7:4" ,
"stateMutability" : "nonpayable" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 268 ,
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 292 ,
"src" : "2132:10:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 267 ,
"name" : "uint" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2132:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2114:29:4"
} ,
"returnParameters" : {
"id" : 272 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 271 ,
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 292 ,
"src" : "2160:4:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
"id" : 270 ,
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2160:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2159:6:4"
} ,
"scope" : 329 ,
"src" : "2098:196:4" ,
"stateMutability" : "nonpayable" ,
"superFunction" : 1541 ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 307 ,
"nodeType" : "Block" ,
"src" : "2582:50:4" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 301 ,
"name" : "allowances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 132 ,
"src" : "2599:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$" ,
"typeString" : "mapping(address => mapping(address => uint256))"
}
} ,
"id" : 303 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 302 ,
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 294 ,
"src" : "2610:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2599:17:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 305 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 304 ,
"name" : "spender" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 296 ,
"src" : "2617:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2599:26:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"functionReturnParameters" : 300 ,
"id" : 306 ,
"nodeType" : "Return" ,
"src" : "2592:33:4"
}
]
} ,
"documentation" : "@dev Returns number of allowed tokens for given address\n @param owner Address of token owner\n @param spender Address of token spender\n @return Remaining allowance for spender" ,
"id" : 308 ,
"implemented" : true ,
"kind" : "function" ,
"modifiers" : [ ] ,
"name" : "allowance" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 297 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 294 ,
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 308 ,
"src" : "2523:13:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 293 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2523:7:4" ,
"stateMutability" : "nonpayable" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 296 ,
"name" : "spender" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 308 ,
"src" : "2538:15:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 295 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2538:7:4" ,
"stateMutability" : "nonpayable" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2522:32:4"
} ,
"returnParameters" : {
"id" : 300 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 299 ,
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 308 ,
"src" : "2576:4:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 298 ,
"name" : "uint" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2576:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2575:6:4"
} ,
"scope" : 329 ,
"src" : "2504:128:4" ,
"stateMutability" : "view" ,
"superFunction" : 1557 ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 319 ,
"nodeType" : "Block" ,
"src" : "2837:39:4" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 315 ,
"name" : "balances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 126 ,
"src" : "2854:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 317 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 316 ,
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 310 ,
"src" : "2863:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2854:15:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"functionReturnParameters" : 314 ,
"id" : 318 ,
"nodeType" : "Return" ,
"src" : "2847:22:4"
}
]
} ,
"documentation" : "@dev Returns number of tokens owned by given address\n @param owner Address of token owner\n @return Balance of owner" ,
"id" : 320 ,
"implemented" : true ,
"kind" : "function" ,
"modifiers" : [ ] ,
"name" : "balanceOf" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 311 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 310 ,
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 320 ,
"src" : "2795:13:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 309 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2795:7:4" ,
"stateMutability" : "nonpayable" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2794:15:4"
} ,
"returnParameters" : {
"id" : 314 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 313 ,
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 320 ,
"src" : "2831:4:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 312 ,
"name" : "uint" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2831:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2830:6:4"
} ,
"scope" : 329 ,
"src" : "2776:100:4" ,
"stateMutability" : "view" ,
"superFunction" : 1548 ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 327 ,
"nodeType" : "Block" ,
"src" : "3005:35:4" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"id" : 325 ,
"name" : "totalTokens" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 134 ,
"src" : "3022:11:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"functionReturnParameters" : 324 ,
"id" : 326 ,
"nodeType" : "Return" ,
"src" : "3015:18:4"
}
]
} ,
"documentation" : "@dev Returns total supply of tokens\n @return Total supply" ,
"id" : 328 ,
"implemented" : true ,
"kind" : "function" ,
"modifiers" : [ ] ,
"name" : "totalSupply" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 321 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "2975:2:4"
} ,
"returnParameters" : {
"id" : 324 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 323 ,
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 328 ,
"src" : "2999:4:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 322 ,
"name" : "uint" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2999:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2998:6:4"
} ,
"scope" : 329 ,
"src" : "2955:85:4" ,
"stateMutability" : "view" ,
"superFunction" : 1562 ,
"visibility" : "public"
}
] ,
"scope" : 330 ,
"src" : "443:2599:4"
}
] ,
"src" : "0:3043:4"
} ,
"legacyAST" : {
"absolutePath" : "@gnosis.pm/util-contracts/contracts/GnosisStandardToken.sol" ,
"exportedSymbols" : {
"GnosisStandardToken" : [
329
] ,
"StandardTokenData" : [
135
]
} ,
"id" : 330 ,
"nodeType" : "SourceUnit" ,
"nodes" : [
{
"id" : 119 ,
"literals" : [
"solidity" ,
"^" ,
"0.5" ,
".2"
] ,
"nodeType" : "PragmaDirective" ,
"src" : "0:23:4"
} ,
{
"absolutePath" : "@gnosis.pm/util-contracts/contracts/Token.sol" ,
"file" : "./Token.sol" ,
"id" : 120 ,
"nodeType" : "ImportDirective" ,
"scope" : 330 ,
"sourceUnit" : 1564 ,
"src" : "24:21:4" ,
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "@gnosis.pm/util-contracts/contracts/Math.sol" ,
"file" : "./Math.sol" ,
"id" : 121 ,
"nodeType" : "ImportDirective" ,
"scope" : 330 ,
"sourceUnit" : 1459 ,
"src" : "46:20:4" ,
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"absolutePath" : "@gnosis.pm/util-contracts/contracts/Proxy.sol" ,
"file" : "./Proxy.sol" ,
"id" : 122 ,
"nodeType" : "ImportDirective" ,
"scope" : 330 ,
"sourceUnit" : 1495 ,
"src" : "67:21:4" ,
"symbolAliases" : [ ] ,
"unitAlias" : ""
} ,
{
"baseContracts" : [ ] ,
"contractDependencies" : [ ] ,
"contractKind" : "contract" ,
"documentation" : "Deprecated: Use Open Zeppeling one instead" ,
"fullyImplemented" : true ,
"id" : 135 ,
"linearizedBaseContracts" : [
135
] ,
"name" : "StandardTokenData" ,
"nodeType" : "ContractDefinition" ,
"nodes" : [
{
"constant" : false ,
"id" : 126 ,
"name" : "balances" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 135 ,
"src" : "208:33:4" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
} ,
"typeName" : {
"id" : 125 ,
"keyType" : {
"id" : 123 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "216:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Mapping" ,
"src" : "208:24:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
} ,
"valueType" : {
"id" : 124 ,
"name" : "uint" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "227:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 132 ,
"name" : "allowances" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 135 ,
"src" : "247:55:4" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$" ,
"typeString" : "mapping(address => mapping(address => uint256))"
} ,
"typeName" : {
"id" : 131 ,
"keyType" : {
"id" : 127 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "255:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Mapping" ,
"src" : "247:44:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$" ,
"typeString" : "mapping(address => mapping(address => uint256))"
} ,
"valueType" : {
"id" : 130 ,
"keyType" : {
"id" : 128 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "274:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"nodeType" : "Mapping" ,
"src" : "266:24:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
} ,
"valueType" : {
"id" : 129 ,
"name" : "uint" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "285:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 134 ,
"name" : "totalTokens" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 135 ,
"src" : "308:16:4" ,
"stateVariable" : true ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 133 ,
"name" : "uint" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "308:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"scope" : 330 ,
"src" : "144:183:4"
} ,
{
"baseContracts" : [
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
"id" : 136 ,
"name" : "Token" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 1563 ,
"src" : "475:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_Token_$1563" ,
"typeString" : "contract Token"
}
} ,
"id" : 137 ,
"nodeType" : "InheritanceSpecifier" ,
"src" : "475:5:4"
} ,
{
"arguments" : null ,
"baseName" : {
"contractScope" : null ,
"id" : 138 ,
"name" : "StandardTokenData" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 135 ,
"src" : "482:17:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_StandardTokenData_$135" ,
"typeString" : "contract StandardTokenData"
}
} ,
"id" : 139 ,
"nodeType" : "InheritanceSpecifier" ,
"src" : "482:17:4"
}
] ,
"contractDependencies" : [
135 ,
1563
] ,
"contractKind" : "contract" ,
"documentation" : "@title Standard token contract with overflow protection" ,
"fullyImplemented" : true ,
"id" : 329 ,
"linearizedBaseContracts" : [
329 ,
135 ,
1563
] ,
"name" : "GnosisStandardToken" ,
"nodeType" : "ContractDefinition" ,
"nodes" : [
{
"id" : 141 ,
"libraryName" : {
"contractScope" : null ,
"id" : 140 ,
"name" : "GnosisMath" ,
"nodeType" : "UserDefinedTypeName" ,
"referencedDeclaration" : 1458 ,
"src" : "512:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_contract$_GnosisMath_$1458" ,
"typeString" : "library GnosisMath"
}
} ,
"nodeType" : "UsingForDirective" ,
"src" : "506:23:4" ,
"typeName" : null
} ,
{
"body" : {
"id" : 192 ,
"nodeType" : "Block" ,
"src" : "849:269:4" ,
"statements" : [
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"id" : 165 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"id" : 157 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "!" ,
"prefix" : true ,
"src" : "863:38:4" ,
"subExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 155 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 145 ,
"src" : "895:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"expression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 150 ,
"name" : "balances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 126 ,
"src" : "864:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 153 ,
"indexExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"id" : 151 ,
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1578 ,
"src" : "873:3:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
"id" : 152 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
"src" : "873:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address_payable" ,
"typeString" : "address payable"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "864:20:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 154 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "safeToSub" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 1221 ,
"src" : "864:30:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$bound_to$_t_uint256_$" ,
"typeString" : "function (uint256,uint256) pure returns (bool)"
}
} ,
"id" : 156 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "864:37:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "||" ,
"rightExpression" : {
"argumentTypes" : null ,
"id" : 164 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "!" ,
"prefix" : true ,
"src" : "905:30:4" ,
"subExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 162 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 145 ,
"src" : "929:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"expression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 158 ,
"name" : "balances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 126 ,
"src" : "906:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 160 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 159 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 143 ,
"src" : "915:2:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "906:12:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 161 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "safeToAdd" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 1207 ,
"src" : "906:22:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$bound_to$_t_uint256_$" ,
"typeString" : "function (uint256,uint256) pure returns (bool)"
}
} ,
"id" : 163 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "906:29:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"src" : "863:72:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
"id" : 169 ,
"nodeType" : "IfStatement" ,
"src" : "859:115:4" ,
"trueBody" : {
"id" : 168 ,
"nodeType" : "Block" ,
"src" : "937:37:4" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"hexValue" : "66616c7365" ,
"id" : 166 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "bool" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "958:5:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"value" : "false"
} ,
"functionReturnParameters" : 149 ,
"id" : 167 ,
"nodeType" : "Return" ,
"src" : "951:12:4"
}
]
}
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 175 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 170 ,
"name" : "balances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 126 ,
"src" : "984:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 173 ,
"indexExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"id" : 171 ,
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1578 ,
"src" : "993:3:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
"id" : 172 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
"src" : "993:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address_payable" ,
"typeString" : "address payable"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
"src" : "984:20:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "-=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"id" : 174 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 145 ,
"src" : "1008:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"src" : "984:29:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 176 ,
"nodeType" : "ExpressionStatement" ,
"src" : "984:29:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 181 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 177 ,
"name" : "balances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 126 ,
"src" : "1023:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 179 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 178 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 143 ,
"src" : "1032:2:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
"src" : "1023:12:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "+=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"id" : 180 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 145 ,
"src" : "1039:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"src" : "1023:21:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 182 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1023:21:4"
} ,
{
"eventCall" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"id" : 184 ,
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1578 ,
"src" : "1068:3:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
"id" : 185 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
"src" : "1068:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address_payable" ,
"typeString" : "address payable"
}
} ,
{
"argumentTypes" : null ,
"id" : 186 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 143 ,
"src" : "1080:2:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 187 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 145 ,
"src" : "1084:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address_payable" ,
"typeString" : "address payable"
} ,
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"id" : 183 ,
"name" : "Transfer" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1504 ,
"src" : "1059:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$" ,
"typeString" : "function (address,address,uint256)"
}
} ,
"id" : 188 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1059:31:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 189 ,
"nodeType" : "EmitStatement" ,
"src" : "1054:36:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"hexValue" : "74727565" ,
"id" : 190 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "bool" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "1107:4:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"value" : "true"
} ,
"functionReturnParameters" : 149 ,
"id" : 191 ,
"nodeType" : "Return" ,
"src" : "1100:11:4"
}
]
} ,
"documentation" : "@dev Transfers sender's tokens to a given address. Returns success\n @param to Address of token receiver\n @param value Number of tokens to transfer\n @return Was transfer successful?" ,
"id" : 193 ,
"implemented" : true ,
"kind" : "function" ,
"modifiers" : [ ] ,
"name" : "transfer" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 146 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 143 ,
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 193 ,
"src" : "803:10:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 142 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "803:7:4" ,
"stateMutability" : "nonpayable" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 145 ,
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 193 ,
"src" : "815:10:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 144 ,
"name" : "uint" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "815:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "802:24:4"
} ,
"returnParameters" : {
"id" : 149 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 148 ,
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 193 ,
"src" : "843:4:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
"id" : 147 ,
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "843:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "842:6:4"
} ,
"scope" : 329 ,
"src" : "785:333:4" ,
"stateMutability" : "nonpayable" ,
"superFunction" : 1521 ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 263 ,
"nodeType" : "Block" ,
"src" : "1512:369:4" ,
"statements" : [
{
"condition" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"id" : 229 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"commonType" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"id" : 221 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftExpression" : {
"argumentTypes" : null ,
"id" : 210 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "!" ,
"prefix" : true ,
"src" : "1526:32:4" ,
"subExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 208 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 199 ,
"src" : "1552:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"expression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 204 ,
"name" : "balances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 126 ,
"src" : "1527:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 206 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 205 ,
"name" : "from" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 195 ,
"src" : "1536:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "1527:14:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 207 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "safeToSub" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 1221 ,
"src" : "1527:24:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$bound_to$_t_uint256_$" ,
"typeString" : "function (uint256,uint256) pure returns (bool)"
}
} ,
"id" : 209 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1527:31:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "||" ,
"rightExpression" : {
"argumentTypes" : null ,
"id" : 220 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "!" ,
"prefix" : true ,
"src" : "1562:68:4" ,
"subExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 218 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 199 ,
"src" : "1615:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"expression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 211 ,
"name" : "allowances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 132 ,
"src" : "1563:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$" ,
"typeString" : "mapping(address => mapping(address => uint256))"
}
} ,
"id" : 213 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 212 ,
"name" : "from" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 195 ,
"src" : "1574:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "1563:16:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 216 ,
"indexExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"id" : 214 ,
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1578 ,
"src" : "1580:3:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
"id" : 215 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
"src" : "1580:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address_payable" ,
"typeString" : "address payable"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "1563:28:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 217 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "safeToSub" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 1221 ,
"src" : "1563:38:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$bound_to$_t_uint256_$" ,
"typeString" : "function (uint256,uint256) pure returns (bool)"
}
} ,
"id" : 219 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1563:67:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"src" : "1526:104:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"nodeType" : "BinaryOperation" ,
"operator" : "||" ,
"rightExpression" : {
"argumentTypes" : null ,
"id" : 228 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "UnaryOperation" ,
"operator" : "!" ,
"prefix" : true ,
"src" : "1634:30:4" ,
"subExpression" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 226 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 199 ,
"src" : "1658:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"expression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 222 ,
"name" : "balances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 126 ,
"src" : "1635:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 224 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 223 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 197 ,
"src" : "1644:2:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "1635:12:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 225 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "safeToAdd" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : 1207 ,
"src" : "1635:22:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bool_$bound_to$_t_uint256_$" ,
"typeString" : "function (uint256,uint256) pure returns (bool)"
}
} ,
"id" : 227 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1635:29:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"src" : "1526:138:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"falseBody" : null ,
"id" : 233 ,
"nodeType" : "IfStatement" ,
"src" : "1522:181:4" ,
"trueBody" : {
"id" : 232 ,
"nodeType" : "Block" ,
"src" : "1666:37:4" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"hexValue" : "66616c7365" ,
"id" : 230 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "bool" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "1687:5:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"value" : "false"
} ,
"functionReturnParameters" : 203 ,
"id" : 231 ,
"nodeType" : "Return" ,
"src" : "1680:12:4"
}
]
}
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 238 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 234 ,
"name" : "balances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 126 ,
"src" : "1712:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 236 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 235 ,
"name" : "from" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 195 ,
"src" : "1721:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
"src" : "1712:14:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "-=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"id" : 237 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 199 ,
"src" : "1730:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"src" : "1712:23:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 239 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1712:23:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 247 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 240 ,
"name" : "allowances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 132 ,
"src" : "1745:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$" ,
"typeString" : "mapping(address => mapping(address => uint256))"
}
} ,
"id" : 244 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 241 ,
"name" : "from" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 195 ,
"src" : "1756:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "1745:16:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 245 ,
"indexExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"id" : 242 ,
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1578 ,
"src" : "1762:3:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
"id" : 243 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
"src" : "1762:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address_payable" ,
"typeString" : "address payable"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
"src" : "1745:28:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "-=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"id" : 246 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 199 ,
"src" : "1777:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"src" : "1745:37:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 248 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1745:37:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"id" : 253 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 249 ,
"name" : "balances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 126 ,
"src" : "1792:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 251 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 250 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 197 ,
"src" : "1801:2:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
"src" : "1792:12:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "+=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"id" : 252 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 199 ,
"src" : "1808:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"src" : "1792:21:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 254 ,
"nodeType" : "ExpressionStatement" ,
"src" : "1792:21:4"
} ,
{
"eventCall" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"id" : 256 ,
"name" : "from" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 195 ,
"src" : "1837:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 257 ,
"name" : "to" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 197 ,
"src" : "1843:2:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 258 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 199 ,
"src" : "1847:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"id" : 255 ,
"name" : "Transfer" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1504 ,
"src" : "1828:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$" ,
"typeString" : "function (address,address,uint256)"
}
} ,
"id" : 259 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "1828:25:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 260 ,
"nodeType" : "EmitStatement" ,
"src" : "1823:30:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"hexValue" : "74727565" ,
"id" : 261 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "bool" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "1870:4:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"value" : "true"
} ,
"functionReturnParameters" : 203 ,
"id" : 262 ,
"nodeType" : "Return" ,
"src" : "1863:11:4"
}
]
} ,
"documentation" : "@dev Allows allowed third party to transfer tokens from one address to another. Returns success\n @param from Address from where tokens are withdrawn\n @param to Address to where tokens are sent\n @param value Number of tokens to transfer\n @return Was transfer successful?" ,
"id" : 264 ,
"implemented" : true ,
"kind" : "function" ,
"modifiers" : [ ] ,
"name" : "transferFrom" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 200 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 195 ,
"name" : "from" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 264 ,
"src" : "1452:12:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 194 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1452:7:4" ,
"stateMutability" : "nonpayable" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 197 ,
"name" : "to" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 264 ,
"src" : "1466:10:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 196 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1466:7:4" ,
"stateMutability" : "nonpayable" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 199 ,
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 264 ,
"src" : "1478:10:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 198 ,
"name" : "uint" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1478:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "1451:38:4"
} ,
"returnParameters" : {
"id" : 203 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 202 ,
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 264 ,
"src" : "1506:4:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
"id" : 201 ,
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "1506:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "1505:6:4"
} ,
"scope" : 329 ,
"src" : "1430:451:4" ,
"stateMutability" : "nonpayable" ,
"superFunction" : 1532 ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 291 ,
"nodeType" : "Block" ,
"src" : "2166:128:4" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"id" : 280 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"leftHandSide" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 273 ,
"name" : "allowances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 132 ,
"src" : "2176:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$" ,
"typeString" : "mapping(address => mapping(address => uint256))"
}
} ,
"id" : 277 ,
"indexExpression" : {
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"id" : 274 ,
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1578 ,
"src" : "2187:3:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
"id" : 275 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
"src" : "2187:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address_payable" ,
"typeString" : "address payable"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2176:22:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 278 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 276 ,
"name" : "spender" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 266 ,
"src" : "2199:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : true ,
"nodeType" : "IndexAccess" ,
"src" : "2176:31:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"nodeType" : "Assignment" ,
"operator" : "=" ,
"rightHandSide" : {
"argumentTypes" : null ,
"id" : 279 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 268 ,
"src" : "2210:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"src" : "2176:39:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"id" : 281 ,
"nodeType" : "ExpressionStatement" ,
"src" : "2176:39:4"
} ,
{
"eventCall" : {
"argumentTypes" : null ,
"arguments" : [
{
"argumentTypes" : null ,
"expression" : {
"argumentTypes" : null ,
"id" : 283 ,
"name" : "msg" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1578 ,
"src" : "2239:3:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_magic_message" ,
"typeString" : "msg"
}
} ,
"id" : 284 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"lValueRequested" : false ,
"memberName" : "sender" ,
"nodeType" : "MemberAccess" ,
"referencedDeclaration" : null ,
"src" : "2239:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address_payable" ,
"typeString" : "address payable"
}
} ,
{
"argumentTypes" : null ,
"id" : 285 ,
"name" : "spender" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 266 ,
"src" : "2251:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
{
"argumentTypes" : null ,
"id" : 286 ,
"name" : "value" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 268 ,
"src" : "2260:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
}
] ,
"expression" : {
"argumentTypes" : [
{
"typeIdentifier" : "t_address_payable" ,
"typeString" : "address payable"
} ,
{
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
{
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
] ,
"id" : 282 ,
"name" : "Approval" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 1512 ,
"src" : "2230:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$" ,
"typeString" : "function (address,address,uint256)"
}
} ,
"id" : 287 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : false ,
"kind" : "functionCall" ,
"lValueRequested" : false ,
"names" : [ ] ,
"nodeType" : "FunctionCall" ,
"src" : "2230:36:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_tuple$__$" ,
"typeString" : "tuple()"
}
} ,
"id" : 288 ,
"nodeType" : "EmitStatement" ,
"src" : "2225:41:4"
} ,
{
"expression" : {
"argumentTypes" : null ,
"hexValue" : "74727565" ,
"id" : 289 ,
"isConstant" : false ,
"isLValue" : false ,
"isPure" : true ,
"kind" : "bool" ,
"lValueRequested" : false ,
"nodeType" : "Literal" ,
"src" : "2283:4:4" ,
"subdenomination" : null ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"value" : "true"
} ,
"functionReturnParameters" : 272 ,
"id" : 290 ,
"nodeType" : "Return" ,
"src" : "2276:11:4"
}
]
} ,
"documentation" : "@dev Sets approved amount of tokens for spender. Returns success\n @param spender Address of allowed account\n @param value Number of approved tokens\n @return Was approval successful?" ,
"id" : 292 ,
"implemented" : true ,
"kind" : "function" ,
"modifiers" : [ ] ,
"name" : "approve" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 269 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 266 ,
"name" : "spender" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 292 ,
"src" : "2115:15:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 265 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2115:7:4" ,
"stateMutability" : "nonpayable" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 268 ,
"name" : "value" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 292 ,
"src" : "2132:10:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 267 ,
"name" : "uint" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2132:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2114:29:4"
} ,
"returnParameters" : {
"id" : 272 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 271 ,
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 292 ,
"src" : "2160:4:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
} ,
"typeName" : {
"id" : 270 ,
"name" : "bool" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2160:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_bool" ,
"typeString" : "bool"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2159:6:4"
} ,
"scope" : 329 ,
"src" : "2098:196:4" ,
"stateMutability" : "nonpayable" ,
"superFunction" : 1541 ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 307 ,
"nodeType" : "Block" ,
"src" : "2582:50:4" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 301 ,
"name" : "allowances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 132 ,
"src" : "2599:10:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$" ,
"typeString" : "mapping(address => mapping(address => uint256))"
}
} ,
"id" : 303 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 302 ,
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 294 ,
"src" : "2610:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2599:17:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 305 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 304 ,
"name" : "spender" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 296 ,
"src" : "2617:7:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2599:26:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"functionReturnParameters" : 300 ,
"id" : 306 ,
"nodeType" : "Return" ,
"src" : "2592:33:4"
}
]
} ,
"documentation" : "@dev Returns number of allowed tokens for given address\n @param owner Address of token owner\n @param spender Address of token spender\n @return Remaining allowance for spender" ,
"id" : 308 ,
"implemented" : true ,
"kind" : "function" ,
"modifiers" : [ ] ,
"name" : "allowance" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 297 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 294 ,
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 308 ,
"src" : "2523:13:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 293 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2523:7:4" ,
"stateMutability" : "nonpayable" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
} ,
{
"constant" : false ,
"id" : 296 ,
"name" : "spender" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 308 ,
"src" : "2538:15:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 295 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2538:7:4" ,
"stateMutability" : "nonpayable" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2522:32:4"
} ,
"returnParameters" : {
"id" : 300 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 299 ,
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 308 ,
"src" : "2576:4:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 298 ,
"name" : "uint" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2576:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2575:6:4"
} ,
"scope" : 329 ,
"src" : "2504:128:4" ,
"stateMutability" : "view" ,
"superFunction" : 1557 ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 319 ,
"nodeType" : "Block" ,
"src" : "2837:39:4" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"baseExpression" : {
"argumentTypes" : null ,
"id" : 315 ,
"name" : "balances" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 126 ,
"src" : "2854:8:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_mapping$_t_address_$_t_uint256_$" ,
"typeString" : "mapping(address => uint256)"
}
} ,
"id" : 317 ,
"indexExpression" : {
"argumentTypes" : null ,
"id" : 316 ,
"name" : "owner" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 310 ,
"src" : "2863:5:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"isConstant" : false ,
"isLValue" : true ,
"isPure" : false ,
"lValueRequested" : false ,
"nodeType" : "IndexAccess" ,
"src" : "2854:15:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"functionReturnParameters" : 314 ,
"id" : 318 ,
"nodeType" : "Return" ,
"src" : "2847:22:4"
}
]
} ,
"documentation" : "@dev Returns number of tokens owned by given address\n @param owner Address of token owner\n @return Balance of owner" ,
"id" : 320 ,
"implemented" : true ,
"kind" : "function" ,
"modifiers" : [ ] ,
"name" : "balanceOf" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 311 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 310 ,
"name" : "owner" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 320 ,
"src" : "2795:13:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
} ,
"typeName" : {
"id" : 309 ,
"name" : "address" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2795:7:4" ,
"stateMutability" : "nonpayable" ,
"typeDescriptions" : {
"typeIdentifier" : "t_address" ,
"typeString" : "address"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2794:15:4"
} ,
"returnParameters" : {
"id" : 314 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 313 ,
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 320 ,
"src" : "2831:4:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 312 ,
"name" : "uint" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2831:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2830:6:4"
} ,
"scope" : 329 ,
"src" : "2776:100:4" ,
"stateMutability" : "view" ,
"superFunction" : 1548 ,
"visibility" : "public"
} ,
{
"body" : {
"id" : 327 ,
"nodeType" : "Block" ,
"src" : "3005:35:4" ,
"statements" : [
{
"expression" : {
"argumentTypes" : null ,
"id" : 325 ,
"name" : "totalTokens" ,
"nodeType" : "Identifier" ,
"overloadedDeclarations" : [ ] ,
"referencedDeclaration" : 134 ,
"src" : "3022:11:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"functionReturnParameters" : 324 ,
"id" : 326 ,
"nodeType" : "Return" ,
"src" : "3015:18:4"
}
]
} ,
"documentation" : "@dev Returns total supply of tokens\n @return Total supply" ,
"id" : 328 ,
"implemented" : true ,
"kind" : "function" ,
"modifiers" : [ ] ,
"name" : "totalSupply" ,
"nodeType" : "FunctionDefinition" ,
"parameters" : {
"id" : 321 ,
"nodeType" : "ParameterList" ,
"parameters" : [ ] ,
"src" : "2975:2:4"
} ,
"returnParameters" : {
"id" : 324 ,
"nodeType" : "ParameterList" ,
"parameters" : [
{
"constant" : false ,
"id" : 323 ,
"name" : "" ,
"nodeType" : "VariableDeclaration" ,
"scope" : 328 ,
"src" : "2999:4:4" ,
"stateVariable" : false ,
"storageLocation" : "default" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
} ,
"typeName" : {
"id" : 322 ,
"name" : "uint" ,
"nodeType" : "ElementaryTypeName" ,
"src" : "2999:4:4" ,
"typeDescriptions" : {
"typeIdentifier" : "t_uint256" ,
"typeString" : "uint256"
}
} ,
"value" : null ,
"visibility" : "internal"
}
] ,
"src" : "2998:6:4"
} ,
"scope" : 329 ,
"src" : "2955:85:4" ,
"stateMutability" : "view" ,
"superFunction" : 1562 ,
"visibility" : "public"
}
] ,
"scope" : 330 ,
"src" : "443:2599:4"
}
] ,
"src" : "0:3043:4"
} ,
"compiler" : {
"name" : "solc" ,
"version" : "0.5.8+commit.23d335f2.Emscripten.clang"
} ,
"networks" : { } ,
"schemaVersion" : "3.0.10" ,
2019-06-03 12:49:52 +00:00
"updatedAt" : "2019-06-03T08:59:02.087Z" ,
2019-05-31 13:58:35 +00:00
"devdoc" : {
"methods" : { }
} ,
"userdoc" : {
"methods" : { } ,
"notice" : "Deprecated: Use Open Zeppeling one instead"
}
}