2019-05-31 13:58:35 +00:00
{
"contractName" : "GnosisStandardToken" ,
"abi" : [
{
"anonymous" : false ,
"inputs" : [
{
"indexed" : true ,
"name" : "from" ,
"type" : "address"
} ,
{
"indexed" : true ,
"name" : "to" ,
"type" : "address"
} ,
{
"indexed" : false ,
"name" : "value" ,
"type" : "uint256"
}
] ,
"name" : "Transfer" ,
"type" : "event"
} ,
{
"anonymous" : false ,
"inputs" : [
{
"indexed" : true ,
"name" : "owner" ,
"type" : "address"
} ,
{
"indexed" : true ,
"name" : "spender" ,
"type" : "address"
} ,
{
"indexed" : false ,
"name" : "value" ,
"type" : "uint256"
}
] ,
"name" : "Approval" ,
"type" : "event"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "to" ,
"type" : "address"
} ,
{
"name" : "value" ,
"type" : "uint256"
}
] ,
"name" : "transfer" ,
"outputs" : [
{
"name" : "" ,
"type" : "bool"
}
] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "from" ,
"type" : "address"
} ,
{
"name" : "to" ,
"type" : "address"
} ,
{
"name" : "value" ,
"type" : "uint256"
}
] ,
"name" : "transferFrom" ,
"outputs" : [
{
"name" : "" ,
"type" : "bool"
}
] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : false ,
"inputs" : [
{
"name" : "spender" ,
"type" : "address"
} ,
{
"name" : "value" ,
"type" : "uint256"
}
] ,
"name" : "approve" ,
"outputs" : [
{
"name" : "" ,
"type" : "bool"
}
] ,
"payable" : false ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [
{
"name" : "owner" ,
"type" : "address"
} ,
{
"name" : "spender" ,
"type" : "address"
}
] ,
"name" : "allowance" ,
"outputs" : [
{
"name" : "" ,
"type" : "uint256"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [
{
"name" : "owner" ,
"type" : "address"
}
] ,
"name" : "balanceOf" ,
"outputs" : [
{
"name" : "" ,
"type" : "uint256"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"constant" : true ,
"inputs" : [ ] ,
"name" : "totalSupply" ,
"outputs" : [
{
"name" : "" ,
"type" : "uint256"
}
] ,
"payable" : false ,
"stateMutability" : "view" ,
"type" : "function"
}
] ,
"metadata" : "{\"compiler\":{\"version\":\"0.5.8+commit.23d335f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns number of allowed tokens for given address\",\"params\":{\"owner\":\"Address of token owner\",\"spender\":\"Address of token spender\"},\"return\":\"Remaining allowance for spender\"},\"approve(address,uint256)\":{\"details\":\"Sets approved amount of tokens for spender. Returns success\",\"params\":{\"spender\":\"Address of allowed account\",\"value\":\"Number of approved tokens\"},\"return\":\"Was approval successful?\"},\"balanceOf(address)\":{\"details\":\"Returns number of tokens owned by given address\",\"params\":{\"owner\":\"Address of token owner\"},\"return\":\"Balance of owner\"},\"totalSupply()\":{\"details\":\"Returns total supply of tokens\",\"return\":\"Total supply\"},\"transfer(address,uint256)\":{\"details\":\"Transfers sender's tokens to a given address. Returns success\",\"params\":{\"to\":\"Address of token receiver\",\"value\":\"Number of tokens to transfer\"},\"return\":\"Was transfer successful?\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Allows allowed third party to transfer tokens from one address to another. Returns success\",\"params\":{\"from\":\"Address from where tokens are withdrawn\",\"to\":\"Address to where tokens are sent\",\"value\":\"Number of tokens to transfer\"},\"return\":\"Was transfer successful?\"}},\"title\":\"Standard token contract with overflow protection\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@gnosis.pm/util-contracts/contracts/GnosisStandardToken.sol\":\"GnosisStandardToken\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":500},\"remappings\":[]},\"sources\":{\"@gnosis.pm/util-contracts/contracts/GnosisStandardToken.sol\":{\"keccak256\":\"0xdec5028208406e811c449a04e2932f7efeae629388cb6124550b8b048a645556\",\"urls\":[\"bzzr://f3d13a708f543b3ce72745cab321e6daf25d935fd12ba55a4152f1113eb6d5e4\"]},\" @ g n o s i s . p m / u t i l - c o n t r a c t s / c o n t r a c t s / M a t
"bytecode" : "0x608060405234801561001057600080fd5b5061046a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c806370a082311161005057806370a0823114610107578063a9059cbb1461012d578063dd62ed3e1461015957610072565b8063095ea7b31461007757806318160ddd146100b757806323b872dd146100d1575b600080fd5b6100a36004803603604081101561008d57600080fd5b506001600160a01b038135169060200135610187565b604080519115158252519081900360200190f35b6100bf6101ee565b60408051918252519081900360200190f35b6100a3600480360360608110156100e757600080fd5b506001600160a01b038135811691602081013590911690604001356101f4565b6100bf6004803603602081101561011d57600080fd5b50356001600160a01b0316610321565b6100a36004803603604081101561014357600080fd5b506001600160a01b03813516906020013561033c565b6100bf6004803603604081101561016f57600080fd5b506001600160a01b0381358116916020013516610407565b3360008181526001602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60025490565b6001600160a01b03831660009081526020819052604081205461021d908363ffffffff61043216565b158061025a57506001600160a01b0384166000908152600160209081526040808320338452909152902054610258908363ffffffff61043216565b155b8061028b57506001600160a01b038316600090815260208190526040902054610289908363ffffffff61043716565b155b156102985750600061031a565b6001600160a01b038085166000818152602081815260408083208054889003905560018252808320338452825280832080548890039055938716808352828252918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060015b9392505050565b6001600160a01b031660009081526020819052604090205490565b3360009081526020819052604081205461035c908363ffffffff61043216565b158061038e57506001600160a01b03831660009081526020819052604090205461038c908363ffffffff61043716565b155b1561039b575060006101e8565b33600081815260208181526040808320805487900390556001600160a01b03871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b111590565b810110159056fea165627a7a72305820ff1365cba5e4da22531e778b7eb65ead37c9fffc75a05077592ef24d319a85850029" ,
"deployedBytecode" : "0x608060405234801561001057600080fd5b50600436106100725760003560e01c806370a082311161005057806370a0823114610107578063a9059cbb1461012d578063dd62ed3e1461015957610072565b8063095ea7b31461007757806318160ddd146100b757806323b872dd146100d1575b600080fd5b6100a36004803603604081101561008d57600080fd5b506001600160a01b038135169060200135610187565b604080519115158252519081900360200190f35b6100bf6101ee565b60408051918252519081900360200190f35b6100a3600480360360608110156100e757600080fd5b506001600160a01b038135811691602081013590911690604001356101f4565b6100bf6004803603602081101561011d57600080fd5b50356001600160a01b0316610321565b6100a36004803603604081101561014357600080fd5b506001600160a01b03813516906020013561033c565b6100bf6004803603604081101561016f57600080fd5b506001600160a01b0381358116916020013516610407565b3360008181526001602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60025490565b6001600160a01b03831660009081526020819052604081205461021d908363ffffffff61043216565b158061025a57506001600160a01b0384166000908152600160209081526040808320338452909152902054610258908363ffffffff61043216565b155b8061028b57506001600160a01b038316600090815260208190526040902054610289908363ffffffff61043716565b155b156102985750600061031a565b6001600160a01b038085166000818152602081815260408083208054889003905560018252808320338452825280832080548890039055938716808352828252918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060015b9392505050565b6001600160a01b031660009081526020819052604090205490565b3360009081526020819052604081205461035c908363ffffffff61043216565b158061038e57506001600160a01b03831660009081526020819052604090205461038c908363ffffffff61043716565b155b1561039b575060006101e8565b33600081815260208181526040808320805487900390556001600160a01b03871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b111590565b810110159056fea165627a7a72305820ff1365cba5e4da22531e778b7eb65ead37c9fffc75a05077592ef24d319a85850029" ,
"sourceMap" : "443:2599:4:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;443:2599:4;;;;;;;" ,
"deployedSourceMap" : "443:2599:4:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;443:2599:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2098:196;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2098:196:4;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2955:85;;;:::i;:::-;;;;;;;;;;;;;;;;1430:451;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1430:451:4;;;;;;;;;;;;;;;;;:::i;2776:100::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2776:100:4;-1:-1:-1;;;;;2776:100:4;;:::i;785:333::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;785:333:4;;;;;;;;:::i;2504:128::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2504:128:4;;;;;;;;;;:::i;2098:196::-;2187:10;2160:4;2176:22;;;:10;:22;;;;;;;;-1:-1:-1;;;;;2176:31:4;;;;;;;;;;;:39;;;2230:36;;;;;;;2160:4;;2176:31;;2187:10;;2230:36;;;;;;;;-1:-1:-1;2283:4:4;2098:196;;;;;:::o;2955:85::-;3022:11;;2955:85;:::o;1430:451::-;-1:-1:-1;;;;;1527:14:4;;1506:4;1527:14;;;;;;;;;;;:31;;1552:5;1527:31;:24;:31;:::i;:::-;1526:32;:104;;;-1:-1:-1;;;;;;1563:16:4;;;;;;:10;:16;;;;;;;;1580:10;1563:28;;;;;;;;:67;;1615:5;1563:67;:38;:67;:::i;:::-;1562:68;1526:104;:138;;;-1:-1:-1;;;;;;1635:12:4;;:8;:12;;;;;;;;;;;:29;;1658:5;1635:29;:22;:29;:::i;:::-;1634:30;1526:138;1522:181;;;-1:-1:-1;1687:5:4;1680:12;;1522:181;-1:-1:-1;;;;;1712:14:4;;;:8;:14;;;;;;;;;;;:23;;;;;;;-1:-1:-1;1745:16:4;;;;;1762:10;1745:28;;;;;;;:37;;;;;;;1792:12;;;;;;;;;;;;;:21;;;;;;1828:25;;;;;;;1792:12;;1828:25;;;;;;;;;;;-1:-1:-1;1870:4:4;1430:451;;;;;;:::o;2776:100::-;-1:-1:-1;;;;;2854:15:4;2831:4;2854:15;;;;;;;;;;;;2776:100::o;785:333::-;873:10;843:4;864:20;;;;;;;;;;;:37;;895:5;864:37;:30;:37;:::i;:::-;863:38;:72;;;-1:-1:-1;;;;;;906:12:4;;:8;:12;;;;;;;;;;;:29;;929:5;906:29;:22;:29;:::i;:::-;905:30;863:72;859:115;;;-1:-1:-1;958:5:4;951:12;;859:115;993:10;984:8;:20;;;;;;;;;;;:29;;;;;;;-1:-1:-1;;;;;1023:12:4;;;;;;;;;:21;;;;;;1059:31;;;;;;;1023:12;;993:10;1059:31;;;;;;;;;;;-1:-1:-1;1107:4:4;785:333;;;;:::o;2504:128::-;-1:-1:-1;;;;;2599:17:4;;;2576:4;2599:17;;;:10;:17;;;;;;;;:26;;;;;;;;;;;;;2504:128::o;6580:94:5:-;-1:-1:-1;6661:6:5;;6580:94::o;6310:98::-;6391:5;;-1:-1:-1;6391:10:5;;6310:98::o" ,
"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.084Z" ,
2019-05-31 13:58:35 +00:00
"devdoc" : {
"methods" : {
"allowance(address,address)" : {
"details" : "Returns number of allowed tokens for given address" ,
"params" : {
"owner" : "Address of token owner" ,
"spender" : "Address of token spender"
} ,
"return" : "Remaining allowance for spender"
} ,
"approve(address,uint256)" : {
"details" : "Sets approved amount of tokens for spender. Returns success" ,
"params" : {
"spender" : "Address of allowed account" ,
"value" : "Number of approved tokens"
} ,
"return" : "Was approval successful?"
} ,
"balanceOf(address)" : {
"details" : "Returns number of tokens owned by given address" ,
"params" : {
"owner" : "Address of token owner"
} ,
"return" : "Balance of owner"
} ,
"totalSupply()" : {
"details" : "Returns total supply of tokens" ,
"return" : "Total supply"
} ,
"transfer(address,uint256)" : {
"details" : "Transfers sender's tokens to a given address. Returns success" ,
"params" : {
"to" : "Address of token receiver" ,
"value" : "Number of tokens to transfer"
} ,
"return" : "Was transfer successful?"
} ,
"transferFrom(address,address,uint256)" : {
"details" : "Allows allowed third party to transfer tokens from one address to another. Returns success" ,
"params" : {
"from" : "Address from where tokens are withdrawn" ,
"to" : "Address to where tokens are sent" ,
"value" : "Number of tokens to transfer"
} ,
"return" : "Was transfer successful?"
}
} ,
"title" : "Standard token contract with overflow protection"
} ,
"userdoc" : {
"methods" : { }
}
}