{ "contractName": "NonStandardToken", "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"initializes a new NonStandardToken instance\",\"params\":{\"_supply\":\"initial supply\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"ERC20 Non-Standard Token implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/helpers/TestTokens.sol\":\"NonStandardToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/helpers/TestTokens.sol\":{\"keccak256\":\"0x2dfc6b208775e73ee5c35e34fa0780f5439490a5114fc251ebf072b922a9a0a4\",\"license\":\"SEE LICENSE IN LICENSE\",\"urls\":[\"bzz-raw://230c0e8d2dbe196eaad09c0f20a73eeee3a5155796ea677671082ed97944ba77\",\"dweb:/ipfs/QmXt9yQ24JkqGnXpo2b1CQ7R8igEnxfeR9bZdacmSgJyKi\"]},\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/SafeMath.sol\":{\"keccak256\":\"0x1ab7391a19ca8a3ad2f3c4a1074e080d4d76dfdb834637bdd0c1e6b6acdf28af\",\"license\":\"SEE LICENSE IN LICENSE\",\"urls\":[\"bzz-raw://d6d8c99621ca884b72da2d84eddfec8ec8c5533915691d6eec94a07adf445608\",\"dweb:/ipfs/QmaXr6DN7VbfxfMn3PsTy7SAMgZVVXbdeaw11BsAjVL2x1\"]},\"/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/Utils.sol\":{\"keccak256\":\"0x073efa69fcd6b5e60f841b28b366d63b62ff48ab12a06ce3f5a7f41afd6ce885\",\"license\":\"SEE LICENSE IN LICENSE\",\"urls\":[\"bzz-raw://e8b8ecb2d29197ca77f0ed98f728ace54e6edcfdf5cd1194ae22701607eaf608\",\"dweb:/ipfs/QmcsR6Q35Hurh3TrPkYAboicz9bQQoGCWmZLzUCDyhotH8\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "immutableReferences": {}, "sourceMap": "", "deployedSourceMap": "", "source": "// SPDX-License-Identifier: SEE LICENSE IN LICENSE\npragma solidity 0.6.12;\nimport \"../utility/Utils.sol\";\nimport \"../utility/SafeMath.sol\";\n\n/**\n * ERC20 Non-Standard Token implementation\n*/\ncontract NonStandardToken is Utils {\n using SafeMath for uint256;\n\n uint256 public totalSupply;\n mapping (address => uint256) public balanceOf;\n mapping (address => mapping (address => uint256)) public allowance;\n\n event Transfer(address indexed _from, address indexed _to, uint256 _value);\n event Approval(address indexed _owner, address indexed _spender, uint256 _value);\n\n /**\n * @dev initializes a new NonStandardToken instance\n *\n * @param _supply initial supply\n */\n constructor(uint256 _supply)\n internal\n {\n totalSupply = _supply;\n balanceOf[msg.sender] = _supply;\n }\n\n /**\n * @dev send coins\n * throws on any error rather then return a false flag to minimize user errors\n *\n * @param _to target address\n * @param _value transfer amount\n */\n function _transfer(address _to, uint256 _value)\n internal\n validAddress(_to)\n {\n balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);\n balanceOf[_to] = balanceOf[_to].add(_value);\n emit Transfer(msg.sender, _to, _value);\n }\n\n /**\n * @dev an account/contract attempts to get the coins\n * throws on any error rather then return a false flag to minimize user errors\n *\n * @param _from source address\n * @param _to target address\n * @param _value transfer amount\n */\n function _transferFrom(address _from, address _to, uint256 _value)\n internal\n validAddress(_from)\n validAddress(_to)\n {\n allowance[_from][msg.sender] = allowance[_from][msg.sender].sub(_value);\n balanceOf[_from] = balanceOf[_from].sub(_value);\n balanceOf[_to] = balanceOf[_to].add(_value);\n emit Transfer(_from, _to, _value);\n }\n\n /**\n * @dev allow another account/contract to spend some tokens on your behalf\n * throws on any error rather then return a false flag to minimize user errors\n *\n * also, to minimize the risk of the approve/transferFrom attack vector\n * (see https://docs.google.com/document/d/1YLPtQxZu1UAvO9cZ1O2RPXBbT0mooh4DYKjA_jp-RLM/), approve has to be called twice\n * in 2 separate transactions - once to change the allowance to 0 and secondly to change it to the new allowance value\n *\n * @param _spender approved address\n * @param _value allowance amount\n */\n function _approve(address _spender, uint256 _value)\n internal\n validAddress(_spender)\n {\n // if the allowance isn't 0, it can only be updated to 0 to prevent an allowance change immediately after withdrawal\n require(_value == 0 || allowance[msg.sender][_spender] == 0);\n\n allowance[msg.sender][_spender] = _value;\n emit Approval(msg.sender, _spender, _value);\n }\n}\n\ncontract NonStandardTokenDetailed is NonStandardToken {\n string public name;\n string public symbol;\n uint8 public decimals;\n\n /**\n * @dev initializes a new NonStandardToken instance\n *\n * @param _name token name\n * @param _symbol token symbol\n * @param _decimals decimal points\n * @param _supply initial supply\n */\n constructor(string memory _name, string memory _symbol, uint8 _decimals, uint256 _supply)\n internal\n NonStandardToken(_supply)\n {\n name = _name;\n symbol = _symbol;\n decimals = _decimals;\n }\n}\n\ncontract TestNonStandardToken is NonStandardTokenDetailed {\n bool public ok;\n\n constructor(string memory _name, string memory _symbol, uint8 _decimals, uint256 _supply) public\n NonStandardTokenDetailed(_name, _symbol, _decimals, _supply) {\n set(true);\n }\n\n function set(bool _ok) public {\n ok = _ok;\n }\n\n function approve(address _spender, uint256 _value) public {\n _approve(_spender, _value);\n require(ok);\n }\n\n function transfer(address _to, uint256 _value) public {\n _transfer(_to, _value);\n require(ok);\n }\n\n function transferFrom(address _from, address _to, uint256 _value) public {\n _transferFrom(_from, _to, _value);\n require(ok);\n }\n}\n\ncontract TestNonStandardTokenWithoutDecimals is NonStandardToken {\n string public name;\n string public symbol;\n\n constructor(string memory _name, string memory _symbol, uint256 _supply) public\n NonStandardToken(_supply) {\n name = _name;\n symbol = _symbol;\n }\n\n function approve(address _spender, uint256 _value) public {\n _approve(_spender, _value);\n }\n\n function transfer(address _to, uint256 _value) public {\n _transfer(_to, _value);\n }\n\n function transferFrom(address _from, address _to, uint256 _value) public {\n _transferFrom(_from, _to, _value);\n }\n}\n\ncontract TestStandardToken is NonStandardTokenDetailed {\n bool public ok;\n bool public ret;\n\n constructor(string memory _name, string memory _symbol, uint8 _decimals, uint256 _supply) public\n NonStandardTokenDetailed(_name, _symbol, _decimals, _supply) {\n set(true, true);\n }\n\n function set(bool _ok, bool _ret) public {\n ok = _ok;\n ret = _ret;\n }\n\n function approve(address _spender, uint256 _value) public returns (bool) {\n _approve(_spender, _value);\n require(ok);\n return ret;\n }\n\n function transfer(address _to, uint256 _value) public returns (bool) {\n _transfer(_to, _value);\n require(ok);\n return ret;\n }\n\n function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {\n _transferFrom(_from, _to, _value);\n require(ok);\n return ret;\n }\n}\n", "sourcePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/helpers/TestTokens.sol", "ast": { "absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/helpers/TestTokens.sol", "exportedSymbols": { "NonStandardToken": [ 19969 ], "NonStandardTokenDetailed": [ 20006 ], "TestNonStandardToken": [ 20097 ], "TestNonStandardTokenWithoutDecimals": [ 20167 ], "TestStandardToken": [ 20279 ] }, "id": 20280, "license": "SEE LICENSE IN LICENSE", "nodeType": "SourceUnit", "nodes": [ { "id": 19766, "literals": [ "solidity", "0.6", ".12" ], "nodeType": "PragmaDirective", "src": "51:23:46" }, { "absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/Utils.sol", "file": "../utility/Utils.sol", "id": 19767, "nodeType": "ImportDirective", "scope": 20280, "sourceUnit": 22662, "src": "75:30:46", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/SafeMath.sol", "file": "../utility/SafeMath.sol", "id": 19768, "nodeType": "ImportDirective", "scope": 20280, "sourceUnit": 22355, "src": "106:33:46", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 19770, "name": "Utils", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 22661, "src": "221:5:46", "typeDescriptions": { "typeIdentifier": "t_contract$_Utils_$22661", "typeString": "contract Utils" } }, "id": 19771, "nodeType": "InheritanceSpecifier", "src": "221:5:46" } ], "contractDependencies": [ 22661 ], "contractKind": "contract", "documentation": { "id": 19769, "nodeType": "StructuredDocumentation", "src": "141:50:46", "text": " ERC20 Non-Standard Token implementation" }, "fullyImplemented": true, "id": 19969, "linearizedBaseContracts": [ 19969, 22661 ], "name": "NonStandardToken", "nodeType": "ContractDefinition", "nodes": [ { "id": 19774, "libraryName": { "contractScope": null, "id": 19772, "name": "SafeMath", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 22354, "src": "239:8:46", "typeDescriptions": { "typeIdentifier": "t_contract$_SafeMath_$22354", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "233:27:46", "typeName": { "id": 19773, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "252:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, { "constant": false, "functionSelector": "18160ddd", "id": 19776, "mutability": "mutable", "name": "totalSupply", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19969, "src": "266:26:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19775, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "266:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" }, { "constant": false, "functionSelector": "70a08231", "id": 19780, "mutability": "mutable", "name": "balanceOf", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19969, "src": "298:45:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "typeName": { "id": 19779, "keyType": { "id": 19777, "name": "address", "nodeType": "ElementaryTypeName", "src": "307:7:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "298:28:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { "id": 19778, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "318:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, "value": null, "visibility": "public" }, { "constant": false, "functionSelector": "dd62ed3e", "id": 19786, "mutability": "mutable", "name": "allowance", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19969, "src": "349:66:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { "id": 19785, "keyType": { "id": 19781, "name": "address", "nodeType": "ElementaryTypeName", "src": "358:7:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "349:49:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" }, "valueType": { "id": 19784, "keyType": { "id": 19782, "name": "address", "nodeType": "ElementaryTypeName", "src": "378:7:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "369:28:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { "id": 19783, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "389:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } } }, "value": null, "visibility": "public" }, { "anonymous": false, "documentation": null, "id": 19794, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { "id": 19793, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19788, "indexed": true, "mutability": "mutable", "name": "_from", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19794, "src": "437:21:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 19787, "name": "address", "nodeType": "ElementaryTypeName", "src": "437:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19790, "indexed": true, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19794, "src": "460:19:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 19789, "name": "address", "nodeType": "ElementaryTypeName", "src": "460:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19792, "indexed": false, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19794, "src": "481:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19791, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "481:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "436:60:46" }, "src": "422:75:46" }, { "anonymous": false, "documentation": null, "id": 19802, "name": "Approval", "nodeType": "EventDefinition", "parameters": { "id": 19801, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19796, "indexed": true, "mutability": "mutable", "name": "_owner", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19802, "src": "517:22:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 19795, "name": "address", "nodeType": "ElementaryTypeName", "src": "517:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19798, "indexed": true, "mutability": "mutable", "name": "_spender", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19802, "src": "541:24:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 19797, "name": "address", "nodeType": "ElementaryTypeName", "src": "541:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19800, "indexed": false, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19802, "src": "567:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19799, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "567:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "516:66:46" }, "src": "502:81:46" }, { "body": { "id": 19819, "nodeType": "Block", "src": "762:79:46", "statements": [ { "expression": { "argumentTypes": null, "id": 19810, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 19808, "name": "totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19776, "src": "772:11:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 19809, "name": "_supply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19805, "src": "786:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "772:21:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19811, "nodeType": "ExpressionStatement", "src": "772:21:46" }, { "expression": { "argumentTypes": null, "id": 19817, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19812, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19780, "src": "803:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19815, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 19813, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "813:3:46", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 19814, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "813:10:46", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "803:21:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 19816, "name": "_supply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19805, "src": "827:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "803:31:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19818, "nodeType": "ExpressionStatement", "src": "803:31:46" } ] }, "documentation": { "id": 19803, "nodeType": "StructuredDocumentation", "src": "589:118:46", "text": " @dev initializes a new NonStandardToken instance\n @param _supply initial supply" }, "id": 19820, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 19806, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19805, "mutability": "mutable", "name": "_supply", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19820, "src": "724:15:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19804, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "724:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "723:17:46" }, "returnParameters": { "id": 19807, "nodeType": "ParameterList", "parameters": [], "src": "762:0:46" }, "scope": 19969, "src": "712:129:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { "id": 19862, "nodeType": "Block", "src": "1152:175:46", "statements": [ { "expression": { "argumentTypes": null, "id": 19842, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19831, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19780, "src": "1162:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19834, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 19832, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "1172:3:46", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 19833, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "1172:10:46", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "1162:21:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 19840, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19825, "src": "1212:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19835, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19780, "src": "1186:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19838, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 19836, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "1196:3:46", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 19837, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "1196:10:46", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1186:21:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19839, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 22293, "src": "1186:25:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 19841, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1186:33:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1162:57:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19843, "nodeType": "ExpressionStatement", "src": "1162:57:46" }, { "expression": { "argumentTypes": null, "id": 19853, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19844, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19780, "src": "1229:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19846, "indexExpression": { "argumentTypes": null, "id": 19845, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19823, "src": "1239:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "1229:14:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 19851, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19825, "src": "1265:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19847, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19780, "src": "1246:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19849, "indexExpression": { "argumentTypes": null, "id": 19848, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19823, "src": "1256:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1246:14:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19850, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 22271, "src": "1246:18:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 19852, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1246:26:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1229:43:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19854, "nodeType": "ExpressionStatement", "src": "1229:43:46" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 19856, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "1296:3:46", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 19857, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "1296:10:46", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, { "argumentTypes": null, "id": 19858, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19823, "src": "1308:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 19859, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19825, "src": "1313:6:46", "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": 19855, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19794, "src": "1287:8:46", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, "id": 19860, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1287:33:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 19861, "nodeType": "EmitStatement", "src": "1282:38:46" } ] }, "documentation": { "id": 19821, "nodeType": "StructuredDocumentation", "src": "847:205:46", "text": " @dev send coins\n throws on any error rather then return a false flag to minimize user errors\n @param _to target address\n @param _value transfer amount" }, "id": 19863, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 19828, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19823, "src": "1143:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "id": 19829, "modifierName": { "argumentTypes": null, "id": 19827, "name": "validAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22618, "src": "1130:12:46", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", "src": "1130:17:46" } ], "name": "_transfer", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 19826, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19823, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19863, "src": "1076:11:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 19822, "name": "address", "nodeType": "ElementaryTypeName", "src": "1076:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19825, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19863, "src": "1089:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19824, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1089:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "1075:29:46" }, "returnParameters": { "id": 19830, "nodeType": "ParameterList", "parameters": [], "src": "1152:0:46" }, "scope": 19969, "src": "1057:270:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { "id": 19924, "nodeType": "Block", "src": "1759:241:46", "statements": [ { "expression": { "argumentTypes": null, "id": 19894, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19879, "name": "allowance", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19786, "src": "1769:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, "id": 19883, "indexExpression": { "argumentTypes": null, "id": 19880, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19866, "src": "1779:5:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1769:16:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19884, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 19881, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "1786:3:46", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 19882, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "1786:10:46", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "1769:28:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 19892, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19870, "src": "1833:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19885, "name": "allowance", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19786, "src": "1800:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, "id": 19887, "indexExpression": { "argumentTypes": null, "id": 19886, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19866, "src": "1810:5:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1800:16:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19890, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 19888, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "1817:3:46", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 19889, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "1817:10:46", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1800:28:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19891, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 22293, "src": "1800:32:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 19893, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1800:40:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1769:71:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19895, "nodeType": "ExpressionStatement", "src": "1769:71:46" }, { "expression": { "argumentTypes": null, "id": 19905, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19896, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19780, "src": "1850:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19898, "indexExpression": { "argumentTypes": null, "id": 19897, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19866, "src": "1860:5:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "1850:16:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 19903, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19870, "src": "1890:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19899, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19780, "src": "1869:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19901, "indexExpression": { "argumentTypes": null, "id": 19900, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19866, "src": "1879:5:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1869:16:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19902, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 22293, "src": "1869:20:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 19904, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1869:28:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1850:47:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19906, "nodeType": "ExpressionStatement", "src": "1850:47:46" }, { "expression": { "argumentTypes": null, "id": 19916, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19907, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19780, "src": "1907:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19909, "indexExpression": { "argumentTypes": null, "id": 19908, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19868, "src": "1917:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "1907:14:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 19914, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19870, "src": "1943:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19910, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19780, "src": "1924:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19912, "indexExpression": { "argumentTypes": null, "id": 19911, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19868, "src": "1934:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1924:14:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19913, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 22271, "src": "1924:18:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 19915, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1924:26:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1907:43:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19917, "nodeType": "ExpressionStatement", "src": "1907:43:46" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 19919, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19866, "src": "1974:5:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 19920, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19868, "src": "1981:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 19921, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19870, "src": "1986:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 19918, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19794, "src": "1965:8:46", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, "id": 19922, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1965:28:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 19923, "nodeType": "EmitStatement", "src": "1960:33:46" } ] }, "documentation": { "id": 19864, "nodeType": "StructuredDocumentation", "src": "1333:279:46", "text": " @dev an account/contract attempts to get the coins\n throws on any error rather then return a false flag to minimize user errors\n @param _from source address\n @param _to target address\n @param _value transfer amount" }, "id": 19925, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 19873, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19866, "src": "1722:5:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "id": 19874, "modifierName": { "argumentTypes": null, "id": 19872, "name": "validAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22618, "src": "1709:12:46", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", "src": "1709:19:46" }, { "arguments": [ { "argumentTypes": null, "id": 19876, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19868, "src": "1750:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "id": 19877, "modifierName": { "argumentTypes": null, "id": 19875, "name": "validAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22618, "src": "1737:12:46", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", "src": "1737:17:46" } ], "name": "_transferFrom", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 19871, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19866, "mutability": "mutable", "name": "_from", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19925, "src": "1640:13:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 19865, "name": "address", "nodeType": "ElementaryTypeName", "src": "1640:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19868, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19925, "src": "1655:11:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 19867, "name": "address", "nodeType": "ElementaryTypeName", "src": "1655:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19870, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19925, "src": "1668:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19869, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1668:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "1639:44:46" }, "returnParameters": { "id": 19878, "nodeType": "ParameterList", "parameters": [], "src": "1759:0:46" }, "scope": 19969, "src": "1617:383:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { "id": 19967, "nodeType": "Block", "src": "2715:306:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 19948, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 19939, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 19937, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19930, "src": "2858:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 19938, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2868:1:46", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "2858:11:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 19947, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19940, "name": "allowance", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19786, "src": "2873:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, "id": 19943, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 19941, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "2883:3:46", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 19942, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "2883:10:46", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2873:21:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19945, "indexExpression": { "argumentTypes": null, "id": 19944, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19928, "src": "2895:8:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2873:31:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 19946, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2908:1:46", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "2873:36:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "2858:51:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 19936, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "2850:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 19949, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2850:60:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 19950, "nodeType": "ExpressionStatement", "src": "2850:60:46" }, { "expression": { "argumentTypes": null, "id": 19958, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19951, "name": "allowance", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19786, "src": "2921:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, "id": 19955, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 19952, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "2931:3:46", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 19953, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "2931:10:46", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2921:21:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19956, "indexExpression": { "argumentTypes": null, "id": 19954, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19928, "src": "2943:8:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "2921:31:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 19957, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19930, "src": "2955:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2921:40:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19959, "nodeType": "ExpressionStatement", "src": "2921:40:46" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 19961, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "2985:3:46", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 19962, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "2985:10:46", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, { "argumentTypes": null, "id": 19963, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19928, "src": "2997:8:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 19964, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19930, "src": "3007:6:46", "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": 19960, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19802, "src": "2976:8:46", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, "id": 19965, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2976:38:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 19966, "nodeType": "EmitStatement", "src": "2971:43:46" } ] }, "documentation": { "id": 19926, "nodeType": "StructuredDocumentation", "src": "2006:600:46", "text": " @dev allow another account/contract to spend some tokens on your behalf\n throws on any error rather then return a false flag to minimize user errors\n also, to minimize the risk of the approve/transferFrom attack vector\n (see https://docs.google.com/document/d/1YLPtQxZu1UAvO9cZ1O2RPXBbT0mooh4DYKjA_jp-RLM/), approve has to be called twice\n in 2 separate transactions - once to change the allowance to 0 and secondly to change it to the new allowance value\n @param _spender approved address\n @param _value allowance amount" }, "id": 19968, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 19933, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19928, "src": "2701:8:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "id": 19934, "modifierName": { "argumentTypes": null, "id": 19932, "name": "validAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22618, "src": "2688:12:46", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", "src": "2688:22:46" } ], "name": "_approve", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 19931, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19928, "mutability": "mutable", "name": "_spender", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19968, "src": "2629:16:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 19927, "name": "address", "nodeType": "ElementaryTypeName", "src": "2629:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19930, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19968, "src": "2647:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19929, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2647:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "2628:34:46" }, "returnParameters": { "id": 19935, "nodeType": "ParameterList", "parameters": [], "src": "2715:0:46" }, "scope": 19969, "src": "2611:410:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" } ], "scope": 20280, "src": "192:2831:46" }, { "abstract": false, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 19970, "name": "NonStandardToken", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 19969, "src": "3062:16:46", "typeDescriptions": { "typeIdentifier": "t_contract$_NonStandardToken_$19969", "typeString": "contract NonStandardToken" } }, "id": 19971, "nodeType": "InheritanceSpecifier", "src": "3062:16:46" } ], "contractDependencies": [ 19969, 22661 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 20006, "linearizedBaseContracts": [ 20006, 19969, 22661 ], "name": "NonStandardTokenDetailed", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "06fdde03", "id": 19973, "mutability": "mutable", "name": "name", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20006, "src": "3085:18:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string" }, "typeName": { "id": 19972, "name": "string", "nodeType": "ElementaryTypeName", "src": "3085:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "public" }, { "constant": false, "functionSelector": "95d89b41", "id": 19975, "mutability": "mutable", "name": "symbol", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20006, "src": "3109:20:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string" }, "typeName": { "id": 19974, "name": "string", "nodeType": "ElementaryTypeName", "src": "3109:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "public" }, { "constant": false, "functionSelector": "313ce567", "id": 19977, "mutability": "mutable", "name": "decimals", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20006, "src": "3135:21:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 19976, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "3135:5:46", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "public" }, { "body": { "id": 20004, "nodeType": "Block", "src": "3554:85:46", "statements": [ { "expression": { "argumentTypes": null, "id": 19994, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 19992, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19973, "src": "3564:4:46", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 19993, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19980, "src": "3571:5:46", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "3564:12:46", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 19995, "nodeType": "ExpressionStatement", "src": "3564:12:46" }, { "expression": { "argumentTypes": null, "id": 19998, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 19996, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19975, "src": "3586:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 19997, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19982, "src": "3595:7:46", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "3586:16:46", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 19999, "nodeType": "ExpressionStatement", "src": "3586:16:46" }, { "expression": { "argumentTypes": null, "id": 20002, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 20000, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19977, "src": "3612:8:46", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 20001, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19984, "src": "3623:9:46", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "3612:20:46", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "id": 20003, "nodeType": "ExpressionStatement", "src": "3612:20:46" } ] }, "documentation": { "id": 19978, "nodeType": "StructuredDocumentation", "src": "3163:241:46", "text": " @dev initializes a new NonStandardToken instance\n @param _name token name\n @param _symbol token symbol\n @param _decimals decimal points\n @param _supply initial supply" }, "id": 20005, "implemented": true, "kind": "constructor", "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 19989, "name": "_supply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19986, "src": "3541:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 19990, "modifierName": { "argumentTypes": null, "id": 19988, "name": "NonStandardToken", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19969, "src": "3524:16:46", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_NonStandardToken_$19969_$", "typeString": "type(contract NonStandardToken)" } }, "nodeType": "ModifierInvocation", "src": "3524:25:46" } ], "name": "", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 19987, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19980, "mutability": "mutable", "name": "_name", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20005, "src": "3421:19:46", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 19979, "name": "string", "nodeType": "ElementaryTypeName", "src": "3421:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19982, "mutability": "mutable", "name": "_symbol", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20005, "src": "3442:21:46", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 19981, "name": "string", "nodeType": "ElementaryTypeName", "src": "3442:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19984, "mutability": "mutable", "name": "_decimals", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20005, "src": "3465:15:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 19983, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "3465:5:46", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19986, "mutability": "mutable", "name": "_supply", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20005, "src": "3482:15:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19985, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3482:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "3420:78:46" }, "returnParameters": { "id": 19991, "nodeType": "ParameterList", "parameters": [], "src": "3554:0:46" }, "scope": 20006, "src": "3409:230:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" } ], "scope": 20280, "src": "3025:616:46" }, { "abstract": false, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 20007, "name": "NonStandardTokenDetailed", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 20006, "src": "3676:24:46", "typeDescriptions": { "typeIdentifier": "t_contract$_NonStandardTokenDetailed_$20006", "typeString": "contract NonStandardTokenDetailed" } }, "id": 20008, "nodeType": "InheritanceSpecifier", "src": "3676:24:46" } ], "contractDependencies": [ 19969, 20006, 22661 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 20097, "linearizedBaseContracts": [ 20097, 20006, 19969, 22661 ], "name": "TestNonStandardToken", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "d909b403", "id": 20010, "mutability": "mutable", "name": "ok", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20097, "src": "3707:14:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20009, "name": "bool", "nodeType": "ElementaryTypeName", "src": "3707:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "public" }, { "body": { "id": 20031, "nodeType": "Block", "src": "3894:26:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "74727565", "id": 20028, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "3908:4:46", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 20027, "name": "set", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20042, "src": "3904:3:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", "typeString": "function (bool)" } }, "id": 20029, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3904:9:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20030, "nodeType": "ExpressionStatement", "src": "3904:9:46" } ] }, "documentation": null, "id": 20032, "implemented": true, "kind": "constructor", "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 20021, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20012, "src": "3858:5:46", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 20022, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20014, "src": "3865:7:46", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 20023, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20016, "src": "3874:9:46", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { "argumentTypes": null, "id": 20024, "name": "_supply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20018, "src": "3885:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 20025, "modifierName": { "argumentTypes": null, "id": 20020, "name": "NonStandardTokenDetailed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20006, "src": "3833:24:46", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_NonStandardTokenDetailed_$20006_$", "typeString": "type(contract NonStandardTokenDetailed)" } }, "nodeType": "ModifierInvocation", "src": "3833:60:46" } ], "name": "", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20019, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20012, "mutability": "mutable", "name": "_name", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20032, "src": "3740:19:46", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 20011, "name": "string", "nodeType": "ElementaryTypeName", "src": "3740:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20014, "mutability": "mutable", "name": "_symbol", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20032, "src": "3761:21:46", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 20013, "name": "string", "nodeType": "ElementaryTypeName", "src": "3761:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20016, "mutability": "mutable", "name": "_decimals", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20032, "src": "3784:15:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 20015, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "3784:5:46", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20018, "mutability": "mutable", "name": "_supply", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20032, "src": "3801:15:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20017, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3801:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "3739:78:46" }, "returnParameters": { "id": 20026, "nodeType": "ParameterList", "parameters": [], "src": "3894:0:46" }, "scope": 20097, "src": "3728:192:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20041, "nodeType": "Block", "src": "3956:25:46", "statements": [ { "expression": { "argumentTypes": null, "id": 20039, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 20037, "name": "ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20010, "src": "3966:2:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 20038, "name": "_ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20034, "src": "3971:3:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "3966:8:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 20040, "nodeType": "ExpressionStatement", "src": "3966:8:46" } ] }, "documentation": null, "functionSelector": "5f76f6ab", "id": 20042, "implemented": true, "kind": "function", "modifiers": [], "name": "set", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20035, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20034, "mutability": "mutable", "name": "_ok", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20042, "src": "3939:8:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20033, "name": "bool", "nodeType": "ElementaryTypeName", "src": "3939:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "3938:10:46" }, "returnParameters": { "id": 20036, "nodeType": "ParameterList", "parameters": [], "src": "3956:0:46" }, "scope": 20097, "src": "3926:55:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20058, "nodeType": "Block", "src": "4045:64:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20050, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20044, "src": "4064:8:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20051, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20046, "src": "4074:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 20049, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19968, "src": "4055:8:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 20052, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4055:26:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20053, "nodeType": "ExpressionStatement", "src": "4055:26:46" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20055, "name": "ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20010, "src": "4099:2:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 20054, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "4091:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 20056, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4091:11:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20057, "nodeType": "ExpressionStatement", "src": "4091:11:46" } ] }, "documentation": null, "functionSelector": "095ea7b3", "id": 20059, "implemented": true, "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20047, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20044, "mutability": "mutable", "name": "_spender", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20059, "src": "4004:16:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20043, "name": "address", "nodeType": "ElementaryTypeName", "src": "4004:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20046, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20059, "src": "4022:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20045, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4022:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "4003:34:46" }, "returnParameters": { "id": 20048, "nodeType": "ParameterList", "parameters": [], "src": "4045:0:46" }, "scope": 20097, "src": "3987:122:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20075, "nodeType": "Block", "src": "4169:60:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20067, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20061, "src": "4189:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20068, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20063, "src": "4194:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 20066, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19863, "src": "4179:9:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 20069, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4179:22:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20070, "nodeType": "ExpressionStatement", "src": "4179:22:46" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20072, "name": "ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20010, "src": "4219:2:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 20071, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "4211:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 20073, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4211:11:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20074, "nodeType": "ExpressionStatement", "src": "4211:11:46" } ] }, "documentation": null, "functionSelector": "a9059cbb", "id": 20076, "implemented": true, "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20064, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20061, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20076, "src": "4133:11:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20060, "name": "address", "nodeType": "ElementaryTypeName", "src": "4133:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20063, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20076, "src": "4146:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20062, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4146:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "4132:29:46" }, "returnParameters": { "id": 20065, "nodeType": "ParameterList", "parameters": [], "src": "4169:0:46" }, "scope": 20097, "src": "4115:114:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20095, "nodeType": "Block", "src": "4308:71:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20086, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20078, "src": "4332:5:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20087, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20080, "src": "4339:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20088, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20082, "src": "4344:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 20085, "name": "_transferFrom", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19925, "src": "4318:13:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, "id": 20089, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4318:33:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20090, "nodeType": "ExpressionStatement", "src": "4318:33:46" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20092, "name": "ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20010, "src": "4369:2:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 20091, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "4361:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 20093, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4361:11:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20094, "nodeType": "ExpressionStatement", "src": "4361:11:46" } ] }, "documentation": null, "functionSelector": "23b872dd", "id": 20096, "implemented": true, "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20083, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20078, "mutability": "mutable", "name": "_from", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20096, "src": "4257:13:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20077, "name": "address", "nodeType": "ElementaryTypeName", "src": "4257:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20080, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20096, "src": "4272:11:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20079, "name": "address", "nodeType": "ElementaryTypeName", "src": "4272:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20082, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20096, "src": "4285:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20081, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4285:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "4256:44:46" }, "returnParameters": { "id": 20084, "nodeType": "ParameterList", "parameters": [], "src": "4308:0:46" }, "scope": 20097, "src": "4235:144:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], "scope": 20280, "src": "3643:738:46" }, { "abstract": false, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 20098, "name": "NonStandardToken", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 19969, "src": "4431:16:46", "typeDescriptions": { "typeIdentifier": "t_contract$_NonStandardToken_$19969", "typeString": "contract NonStandardToken" } }, "id": 20099, "nodeType": "InheritanceSpecifier", "src": "4431:16:46" } ], "contractDependencies": [ 19969, 22661 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 20167, "linearizedBaseContracts": [ 20167, 19969, 22661 ], "name": "TestNonStandardTokenWithoutDecimals", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "06fdde03", "id": 20101, "mutability": "mutable", "name": "name", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20167, "src": "4454:18:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string" }, "typeName": { "id": 20100, "name": "string", "nodeType": "ElementaryTypeName", "src": "4454:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "public" }, { "constant": false, "functionSelector": "95d89b41", "id": 20103, "mutability": "mutable", "name": "symbol", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20167, "src": "4478:20:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string" }, "typeName": { "id": 20102, "name": "string", "nodeType": "ElementaryTypeName", "src": "4478:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "public" }, { "body": { "id": 20123, "nodeType": "Block", "src": "4619:55:46", "statements": [ { "expression": { "argumentTypes": null, "id": 20117, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 20115, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20101, "src": "4629:4:46", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 20116, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20105, "src": "4636:5:46", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "4629:12:46", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 20118, "nodeType": "ExpressionStatement", "src": "4629:12:46" }, { "expression": { "argumentTypes": null, "id": 20121, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 20119, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20103, "src": "4651:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 20120, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20107, "src": "4660:7:46", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "4651:16:46", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 20122, "nodeType": "ExpressionStatement", "src": "4651:16:46" } ] }, "documentation": null, "id": 20124, "implemented": true, "kind": "constructor", "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 20112, "name": "_supply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20109, "src": "4610:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 20113, "modifierName": { "argumentTypes": null, "id": 20111, "name": "NonStandardToken", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19969, "src": "4593:16:46", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_NonStandardToken_$19969_$", "typeString": "type(contract NonStandardToken)" } }, "nodeType": "ModifierInvocation", "src": "4593:25:46" } ], "name": "", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20110, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20105, "mutability": "mutable", "name": "_name", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20124, "src": "4517:19:46", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 20104, "name": "string", "nodeType": "ElementaryTypeName", "src": "4517:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20107, "mutability": "mutable", "name": "_symbol", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20124, "src": "4538:21:46", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 20106, "name": "string", "nodeType": "ElementaryTypeName", "src": "4538:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20109, "mutability": "mutable", "name": "_supply", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20124, "src": "4561:15:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20108, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4561:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "4516:61:46" }, "returnParameters": { "id": 20114, "nodeType": "ParameterList", "parameters": [], "src": "4619:0:46" }, "scope": 20167, "src": "4505:169:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20136, "nodeType": "Block", "src": "4738:43:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20132, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20126, "src": "4757:8:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20133, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20128, "src": "4767:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 20131, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19968, "src": "4748:8:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 20134, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4748:26:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20135, "nodeType": "ExpressionStatement", "src": "4748:26:46" } ] }, "documentation": null, "functionSelector": "095ea7b3", "id": 20137, "implemented": true, "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20129, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20126, "mutability": "mutable", "name": "_spender", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20137, "src": "4697:16:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20125, "name": "address", "nodeType": "ElementaryTypeName", "src": "4697:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20128, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20137, "src": "4715:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20127, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4715:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "4696:34:46" }, "returnParameters": { "id": 20130, "nodeType": "ParameterList", "parameters": [], "src": "4738:0:46" }, "scope": 20167, "src": "4680:101:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20149, "nodeType": "Block", "src": "4841:39:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20145, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20139, "src": "4861:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20146, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20141, "src": "4866:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 20144, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19863, "src": "4851:9:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 20147, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4851:22:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20148, "nodeType": "ExpressionStatement", "src": "4851:22:46" } ] }, "documentation": null, "functionSelector": "a9059cbb", "id": 20150, "implemented": true, "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20142, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20139, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20150, "src": "4805:11:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20138, "name": "address", "nodeType": "ElementaryTypeName", "src": "4805:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20141, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20150, "src": "4818:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20140, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4818:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "4804:29:46" }, "returnParameters": { "id": 20143, "nodeType": "ParameterList", "parameters": [], "src": "4841:0:46" }, "scope": 20167, "src": "4787:93:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20165, "nodeType": "Block", "src": "4959:50:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20160, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20152, "src": "4983:5:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20161, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20154, "src": "4990:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20162, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20156, "src": "4995:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 20159, "name": "_transferFrom", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19925, "src": "4969:13:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, "id": 20163, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4969:33:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20164, "nodeType": "ExpressionStatement", "src": "4969:33:46" } ] }, "documentation": null, "functionSelector": "23b872dd", "id": 20166, "implemented": true, "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20157, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20152, "mutability": "mutable", "name": "_from", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20166, "src": "4908:13:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20151, "name": "address", "nodeType": "ElementaryTypeName", "src": "4908:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20154, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20166, "src": "4923:11:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20153, "name": "address", "nodeType": "ElementaryTypeName", "src": "4923:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20156, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20166, "src": "4936:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20155, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4936:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "4907:44:46" }, "returnParameters": { "id": 20158, "nodeType": "ParameterList", "parameters": [], "src": "4959:0:46" }, "scope": 20167, "src": "4886:123:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], "scope": 20280, "src": "4383:628:46" }, { "abstract": false, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 20168, "name": "NonStandardTokenDetailed", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 20006, "src": "5043:24:46", "typeDescriptions": { "typeIdentifier": "t_contract$_NonStandardTokenDetailed_$20006", "typeString": "contract NonStandardTokenDetailed" } }, "id": 20169, "nodeType": "InheritanceSpecifier", "src": "5043:24:46" } ], "contractDependencies": [ 19969, 20006, 22661 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 20279, "linearizedBaseContracts": [ 20279, 20006, 19969, 22661 ], "name": "TestStandardToken", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "d909b403", "id": 20171, "mutability": "mutable", "name": "ok", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20279, "src": "5074:14:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20170, "name": "bool", "nodeType": "ElementaryTypeName", "src": "5074:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "public" }, { "constant": false, "functionSelector": "1b08d96f", "id": 20173, "mutability": "mutable", "name": "ret", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20279, "src": "5094:15:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20172, "name": "bool", "nodeType": "ElementaryTypeName", "src": "5094:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "public" }, { "body": { "id": 20195, "nodeType": "Block", "src": "5282:32:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "74727565", "id": 20191, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "5296:4:46", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, { "argumentTypes": null, "hexValue": "74727565", "id": 20192, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "5302:4:46", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 20190, "name": "set", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20212, "src": "5292:3:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$_t_bool_$returns$__$", "typeString": "function (bool,bool)" } }, "id": 20193, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5292:15:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20194, "nodeType": "ExpressionStatement", "src": "5292:15:46" } ] }, "documentation": null, "id": 20196, "implemented": true, "kind": "constructor", "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 20184, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20175, "src": "5246:5:46", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 20185, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20177, "src": "5253:7:46", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 20186, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20179, "src": "5262:9:46", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { "argumentTypes": null, "id": 20187, "name": "_supply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20181, "src": "5273:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 20188, "modifierName": { "argumentTypes": null, "id": 20183, "name": "NonStandardTokenDetailed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20006, "src": "5221:24:46", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_NonStandardTokenDetailed_$20006_$", "typeString": "type(contract NonStandardTokenDetailed)" } }, "nodeType": "ModifierInvocation", "src": "5221:60:46" } ], "name": "", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20182, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20175, "mutability": "mutable", "name": "_name", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20196, "src": "5128:19:46", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 20174, "name": "string", "nodeType": "ElementaryTypeName", "src": "5128:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20177, "mutability": "mutable", "name": "_symbol", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20196, "src": "5149:21:46", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 20176, "name": "string", "nodeType": "ElementaryTypeName", "src": "5149:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20179, "mutability": "mutable", "name": "_decimals", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20196, "src": "5172:15:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 20178, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "5172:5:46", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20181, "mutability": "mutable", "name": "_supply", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20196, "src": "5189:15:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20180, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5189:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "5127:78:46" }, "returnParameters": { "id": 20189, "nodeType": "ParameterList", "parameters": [], "src": "5282:0:46" }, "scope": 20279, "src": "5116:198:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20211, "nodeType": "Block", "src": "5361:45:46", "statements": [ { "expression": { "argumentTypes": null, "id": 20205, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 20203, "name": "ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20171, "src": "5371:2:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 20204, "name": "_ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20198, "src": "5376:3:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "5371:8:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 20206, "nodeType": "ExpressionStatement", "src": "5371:8:46" }, { "expression": { "argumentTypes": null, "id": 20209, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 20207, "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20173, "src": "5389:3:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 20208, "name": "_ret", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20200, "src": "5395:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "5389:10:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 20210, "nodeType": "ExpressionStatement", "src": "5389:10:46" } ] }, "documentation": null, "functionSelector": "f907191a", "id": 20212, "implemented": true, "kind": "function", "modifiers": [], "name": "set", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20201, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20198, "mutability": "mutable", "name": "_ok", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20212, "src": "5333:8:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20197, "name": "bool", "nodeType": "ElementaryTypeName", "src": "5333:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20200, "mutability": "mutable", "name": "_ret", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20212, "src": "5343:9:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20199, "name": "bool", "nodeType": "ElementaryTypeName", "src": "5343:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "5332:21:46" }, "returnParameters": { "id": 20202, "nodeType": "ParameterList", "parameters": [], "src": "5361:0:46" }, "scope": 20279, "src": "5320:86:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20232, "nodeType": "Block", "src": "5485:84:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20222, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20214, "src": "5504:8:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20223, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20216, "src": "5514:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 20221, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19968, "src": "5495:8:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 20224, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5495:26:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20225, "nodeType": "ExpressionStatement", "src": "5495:26:46" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20227, "name": "ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20171, "src": "5539:2:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 20226, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "5531:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 20228, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5531:11:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20229, "nodeType": "ExpressionStatement", "src": "5531:11:46" }, { "expression": { "argumentTypes": null, "id": 20230, "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20173, "src": "5559:3:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 20220, "id": 20231, "nodeType": "Return", "src": "5552:10:46" } ] }, "documentation": null, "functionSelector": "095ea7b3", "id": 20233, "implemented": true, "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20217, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20214, "mutability": "mutable", "name": "_spender", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20233, "src": "5429:16:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20213, "name": "address", "nodeType": "ElementaryTypeName", "src": "5429:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20216, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20233, "src": "5447:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20215, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5447:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "5428:34:46" }, "returnParameters": { "id": 20220, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20219, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20233, "src": "5479:4:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20218, "name": "bool", "nodeType": "ElementaryTypeName", "src": "5479:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "5478:6:46" }, "scope": 20279, "src": "5412:157:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20253, "nodeType": "Block", "src": "5644:80:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20243, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20235, "src": "5664:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20244, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20237, "src": "5669:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 20242, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19863, "src": "5654:9:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 20245, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5654:22:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20246, "nodeType": "ExpressionStatement", "src": "5654:22:46" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20248, "name": "ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20171, "src": "5694:2:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 20247, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "5686:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 20249, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5686:11:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20250, "nodeType": "ExpressionStatement", "src": "5686:11:46" }, { "expression": { "argumentTypes": null, "id": 20251, "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20173, "src": "5714:3:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 20241, "id": 20252, "nodeType": "Return", "src": "5707:10:46" } ] }, "documentation": null, "functionSelector": "a9059cbb", "id": 20254, "implemented": true, "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20238, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20235, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20254, "src": "5593:11:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20234, "name": "address", "nodeType": "ElementaryTypeName", "src": "5593:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20237, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20254, "src": "5606:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20236, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5606:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "5592:29:46" }, "returnParameters": { "id": 20241, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20240, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20254, "src": "5638:4:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20239, "name": "bool", "nodeType": "ElementaryTypeName", "src": "5638:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "5637:6:46" }, "scope": 20279, "src": "5575:149:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20277, "nodeType": "Block", "src": "5818:91:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20266, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20256, "src": "5842:5:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20267, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20258, "src": "5849:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20268, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20260, "src": "5854:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 20265, "name": "_transferFrom", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19925, "src": "5828:13:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, "id": 20269, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5828:33:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20270, "nodeType": "ExpressionStatement", "src": "5828:33:46" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20272, "name": "ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20171, "src": "5879:2:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 20271, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "5871:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 20273, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5871:11:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20274, "nodeType": "ExpressionStatement", "src": "5871:11:46" }, { "expression": { "argumentTypes": null, "id": 20275, "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20173, "src": "5899:3:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 20264, "id": 20276, "nodeType": "Return", "src": "5892:10:46" } ] }, "documentation": null, "functionSelector": "23b872dd", "id": 20278, "implemented": true, "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20261, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20256, "mutability": "mutable", "name": "_from", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20278, "src": "5752:13:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20255, "name": "address", "nodeType": "ElementaryTypeName", "src": "5752:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20258, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20278, "src": "5767:11:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20257, "name": "address", "nodeType": "ElementaryTypeName", "src": "5767:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20260, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20278, "src": "5780:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20259, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5780:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "5751:44:46" }, "returnParameters": { "id": 20264, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20263, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20278, "src": "5812:4:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20262, "name": "bool", "nodeType": "ElementaryTypeName", "src": "5812:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "5811:6:46" }, "scope": 20279, "src": "5730:179:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], "scope": 20280, "src": "5013:898:46" } ], "src": "51:5861:46" }, "legacyAST": { "absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/helpers/TestTokens.sol", "exportedSymbols": { "NonStandardToken": [ 19969 ], "NonStandardTokenDetailed": [ 20006 ], "TestNonStandardToken": [ 20097 ], "TestNonStandardTokenWithoutDecimals": [ 20167 ], "TestStandardToken": [ 20279 ] }, "id": 20280, "license": "SEE LICENSE IN LICENSE", "nodeType": "SourceUnit", "nodes": [ { "id": 19766, "literals": [ "solidity", "0.6", ".12" ], "nodeType": "PragmaDirective", "src": "51:23:46" }, { "absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/Utils.sol", "file": "../utility/Utils.sol", "id": 19767, "nodeType": "ImportDirective", "scope": 20280, "sourceUnit": 22662, "src": "75:30:46", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/lash/src/ext/cic/grassrootseconomics/bancor-contracts/solidity/contracts/utility/SafeMath.sol", "file": "../utility/SafeMath.sol", "id": 19768, "nodeType": "ImportDirective", "scope": 20280, "sourceUnit": 22355, "src": "106:33:46", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 19770, "name": "Utils", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 22661, "src": "221:5:46", "typeDescriptions": { "typeIdentifier": "t_contract$_Utils_$22661", "typeString": "contract Utils" } }, "id": 19771, "nodeType": "InheritanceSpecifier", "src": "221:5:46" } ], "contractDependencies": [ 22661 ], "contractKind": "contract", "documentation": { "id": 19769, "nodeType": "StructuredDocumentation", "src": "141:50:46", "text": " ERC20 Non-Standard Token implementation" }, "fullyImplemented": true, "id": 19969, "linearizedBaseContracts": [ 19969, 22661 ], "name": "NonStandardToken", "nodeType": "ContractDefinition", "nodes": [ { "id": 19774, "libraryName": { "contractScope": null, "id": 19772, "name": "SafeMath", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 22354, "src": "239:8:46", "typeDescriptions": { "typeIdentifier": "t_contract$_SafeMath_$22354", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "233:27:46", "typeName": { "id": 19773, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "252:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, { "constant": false, "functionSelector": "18160ddd", "id": 19776, "mutability": "mutable", "name": "totalSupply", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19969, "src": "266:26:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19775, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "266:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "public" }, { "constant": false, "functionSelector": "70a08231", "id": 19780, "mutability": "mutable", "name": "balanceOf", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19969, "src": "298:45:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "typeName": { "id": 19779, "keyType": { "id": 19777, "name": "address", "nodeType": "ElementaryTypeName", "src": "307:7:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "298:28:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { "id": 19778, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "318:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, "value": null, "visibility": "public" }, { "constant": false, "functionSelector": "dd62ed3e", "id": 19786, "mutability": "mutable", "name": "allowance", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19969, "src": "349:66:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { "id": 19785, "keyType": { "id": 19781, "name": "address", "nodeType": "ElementaryTypeName", "src": "358:7:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "349:49:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" }, "valueType": { "id": 19784, "keyType": { "id": 19782, "name": "address", "nodeType": "ElementaryTypeName", "src": "378:7:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "369:28:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { "id": 19783, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "389:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } } }, "value": null, "visibility": "public" }, { "anonymous": false, "documentation": null, "id": 19794, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { "id": 19793, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19788, "indexed": true, "mutability": "mutable", "name": "_from", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19794, "src": "437:21:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 19787, "name": "address", "nodeType": "ElementaryTypeName", "src": "437:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19790, "indexed": true, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19794, "src": "460:19:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 19789, "name": "address", "nodeType": "ElementaryTypeName", "src": "460:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19792, "indexed": false, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19794, "src": "481:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19791, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "481:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "436:60:46" }, "src": "422:75:46" }, { "anonymous": false, "documentation": null, "id": 19802, "name": "Approval", "nodeType": "EventDefinition", "parameters": { "id": 19801, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19796, "indexed": true, "mutability": "mutable", "name": "_owner", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19802, "src": "517:22:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 19795, "name": "address", "nodeType": "ElementaryTypeName", "src": "517:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19798, "indexed": true, "mutability": "mutable", "name": "_spender", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19802, "src": "541:24:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 19797, "name": "address", "nodeType": "ElementaryTypeName", "src": "541:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19800, "indexed": false, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19802, "src": "567:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19799, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "567:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "516:66:46" }, "src": "502:81:46" }, { "body": { "id": 19819, "nodeType": "Block", "src": "762:79:46", "statements": [ { "expression": { "argumentTypes": null, "id": 19810, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 19808, "name": "totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19776, "src": "772:11:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 19809, "name": "_supply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19805, "src": "786:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "772:21:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19811, "nodeType": "ExpressionStatement", "src": "772:21:46" }, { "expression": { "argumentTypes": null, "id": 19817, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19812, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19780, "src": "803:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19815, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 19813, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "813:3:46", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 19814, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "813:10:46", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "803:21:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 19816, "name": "_supply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19805, "src": "827:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "803:31:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19818, "nodeType": "ExpressionStatement", "src": "803:31:46" } ] }, "documentation": { "id": 19803, "nodeType": "StructuredDocumentation", "src": "589:118:46", "text": " @dev initializes a new NonStandardToken instance\n @param _supply initial supply" }, "id": 19820, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 19806, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19805, "mutability": "mutable", "name": "_supply", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19820, "src": "724:15:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19804, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "724:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "723:17:46" }, "returnParameters": { "id": 19807, "nodeType": "ParameterList", "parameters": [], "src": "762:0:46" }, "scope": 19969, "src": "712:129:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { "id": 19862, "nodeType": "Block", "src": "1152:175:46", "statements": [ { "expression": { "argumentTypes": null, "id": 19842, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19831, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19780, "src": "1162:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19834, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 19832, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "1172:3:46", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 19833, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "1172:10:46", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "1162:21:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 19840, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19825, "src": "1212:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19835, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19780, "src": "1186:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19838, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 19836, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "1196:3:46", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 19837, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "1196:10:46", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1186:21:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19839, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 22293, "src": "1186:25:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 19841, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1186:33:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1162:57:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19843, "nodeType": "ExpressionStatement", "src": "1162:57:46" }, { "expression": { "argumentTypes": null, "id": 19853, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19844, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19780, "src": "1229:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19846, "indexExpression": { "argumentTypes": null, "id": 19845, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19823, "src": "1239:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "1229:14:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 19851, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19825, "src": "1265:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19847, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19780, "src": "1246:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19849, "indexExpression": { "argumentTypes": null, "id": 19848, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19823, "src": "1256:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1246:14:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19850, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 22271, "src": "1246:18:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 19852, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1246:26:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1229:43:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19854, "nodeType": "ExpressionStatement", "src": "1229:43:46" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 19856, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "1296:3:46", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 19857, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "1296:10:46", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, { "argumentTypes": null, "id": 19858, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19823, "src": "1308:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 19859, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19825, "src": "1313:6:46", "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": 19855, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19794, "src": "1287:8:46", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, "id": 19860, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1287:33:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 19861, "nodeType": "EmitStatement", "src": "1282:38:46" } ] }, "documentation": { "id": 19821, "nodeType": "StructuredDocumentation", "src": "847:205:46", "text": " @dev send coins\n throws on any error rather then return a false flag to minimize user errors\n @param _to target address\n @param _value transfer amount" }, "id": 19863, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 19828, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19823, "src": "1143:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "id": 19829, "modifierName": { "argumentTypes": null, "id": 19827, "name": "validAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22618, "src": "1130:12:46", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", "src": "1130:17:46" } ], "name": "_transfer", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 19826, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19823, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19863, "src": "1076:11:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 19822, "name": "address", "nodeType": "ElementaryTypeName", "src": "1076:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19825, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19863, "src": "1089:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19824, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1089:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "1075:29:46" }, "returnParameters": { "id": 19830, "nodeType": "ParameterList", "parameters": [], "src": "1152:0:46" }, "scope": 19969, "src": "1057:270:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { "id": 19924, "nodeType": "Block", "src": "1759:241:46", "statements": [ { "expression": { "argumentTypes": null, "id": 19894, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19879, "name": "allowance", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19786, "src": "1769:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, "id": 19883, "indexExpression": { "argumentTypes": null, "id": 19880, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19866, "src": "1779:5:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1769:16:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19884, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 19881, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "1786:3:46", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 19882, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "1786:10:46", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "1769:28:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 19892, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19870, "src": "1833:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19885, "name": "allowance", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19786, "src": "1800:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, "id": 19887, "indexExpression": { "argumentTypes": null, "id": 19886, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19866, "src": "1810:5:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1800:16:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19890, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 19888, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "1817:3:46", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 19889, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "1817:10:46", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1800:28:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19891, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 22293, "src": "1800:32:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 19893, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1800:40:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1769:71:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19895, "nodeType": "ExpressionStatement", "src": "1769:71:46" }, { "expression": { "argumentTypes": null, "id": 19905, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19896, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19780, "src": "1850:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19898, "indexExpression": { "argumentTypes": null, "id": 19897, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19866, "src": "1860:5:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "1850:16:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 19903, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19870, "src": "1890:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19899, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19780, "src": "1869:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19901, "indexExpression": { "argumentTypes": null, "id": 19900, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19866, "src": "1879:5:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1869:16:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19902, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 22293, "src": "1869:20:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 19904, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1869:28:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1850:47:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19906, "nodeType": "ExpressionStatement", "src": "1850:47:46" }, { "expression": { "argumentTypes": null, "id": 19916, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19907, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19780, "src": "1907:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19909, "indexExpression": { "argumentTypes": null, "id": 19908, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19868, "src": "1917:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "1907:14:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 19914, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19870, "src": "1943:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19910, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19780, "src": "1924:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19912, "indexExpression": { "argumentTypes": null, "id": 19911, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19868, "src": "1934:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1924:14:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19913, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 22271, "src": "1924:18:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, "id": 19915, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1924:26:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1907:43:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19917, "nodeType": "ExpressionStatement", "src": "1907:43:46" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 19919, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19866, "src": "1974:5:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 19920, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19868, "src": "1981:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 19921, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19870, "src": "1986:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 19918, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19794, "src": "1965:8:46", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, "id": 19922, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1965:28:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 19923, "nodeType": "EmitStatement", "src": "1960:33:46" } ] }, "documentation": { "id": 19864, "nodeType": "StructuredDocumentation", "src": "1333:279:46", "text": " @dev an account/contract attempts to get the coins\n throws on any error rather then return a false flag to minimize user errors\n @param _from source address\n @param _to target address\n @param _value transfer amount" }, "id": 19925, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 19873, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19866, "src": "1722:5:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "id": 19874, "modifierName": { "argumentTypes": null, "id": 19872, "name": "validAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22618, "src": "1709:12:46", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", "src": "1709:19:46" }, { "arguments": [ { "argumentTypes": null, "id": 19876, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19868, "src": "1750:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "id": 19877, "modifierName": { "argumentTypes": null, "id": 19875, "name": "validAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22618, "src": "1737:12:46", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", "src": "1737:17:46" } ], "name": "_transferFrom", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 19871, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19866, "mutability": "mutable", "name": "_from", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19925, "src": "1640:13:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 19865, "name": "address", "nodeType": "ElementaryTypeName", "src": "1640:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19868, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19925, "src": "1655:11:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 19867, "name": "address", "nodeType": "ElementaryTypeName", "src": "1655:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19870, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19925, "src": "1668:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19869, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1668:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "1639:44:46" }, "returnParameters": { "id": 19878, "nodeType": "ParameterList", "parameters": [], "src": "1759:0:46" }, "scope": 19969, "src": "1617:383:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { "id": 19967, "nodeType": "Block", "src": "2715:306:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 19948, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 19939, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 19937, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19930, "src": "2858:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 19938, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2868:1:46", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "2858:11:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 19947, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19940, "name": "allowance", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19786, "src": "2873:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, "id": 19943, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 19941, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "2883:3:46", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 19942, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "2883:10:46", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2873:21:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19945, "indexExpression": { "argumentTypes": null, "id": 19944, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19928, "src": "2895:8:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2873:31:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 19946, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2908:1:46", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "2873:36:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "2858:51:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 19936, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "2850:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 19949, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2850:60:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 19950, "nodeType": "ExpressionStatement", "src": "2850:60:46" }, { "expression": { "argumentTypes": null, "id": 19958, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 19951, "name": "allowance", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19786, "src": "2921:9:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, "id": 19955, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 19952, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "2931:3:46", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 19953, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "2931:10:46", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "2921:21:46", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 19956, "indexExpression": { "argumentTypes": null, "id": 19954, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19928, "src": "2943:8:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "2921:31:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 19957, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19930, "src": "2955:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "2921:40:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 19959, "nodeType": "ExpressionStatement", "src": "2921:40:46" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 19961, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "2985:3:46", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 19962, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "2985:10:46", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, { "argumentTypes": null, "id": 19963, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19928, "src": "2997:8:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 19964, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19930, "src": "3007:6:46", "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": 19960, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19802, "src": "2976:8:46", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, "id": 19965, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2976:38:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 19966, "nodeType": "EmitStatement", "src": "2971:43:46" } ] }, "documentation": { "id": 19926, "nodeType": "StructuredDocumentation", "src": "2006:600:46", "text": " @dev allow another account/contract to spend some tokens on your behalf\n throws on any error rather then return a false flag to minimize user errors\n also, to minimize the risk of the approve/transferFrom attack vector\n (see https://docs.google.com/document/d/1YLPtQxZu1UAvO9cZ1O2RPXBbT0mooh4DYKjA_jp-RLM/), approve has to be called twice\n in 2 separate transactions - once to change the allowance to 0 and secondly to change it to the new allowance value\n @param _spender approved address\n @param _value allowance amount" }, "id": 19968, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 19933, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19928, "src": "2701:8:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "id": 19934, "modifierName": { "argumentTypes": null, "id": 19932, "name": "validAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22618, "src": "2688:12:46", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_address_$", "typeString": "modifier (address)" } }, "nodeType": "ModifierInvocation", "src": "2688:22:46" } ], "name": "_approve", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 19931, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19928, "mutability": "mutable", "name": "_spender", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19968, "src": "2629:16:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 19927, "name": "address", "nodeType": "ElementaryTypeName", "src": "2629:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19930, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 19968, "src": "2647:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19929, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2647:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "2628:34:46" }, "returnParameters": { "id": 19935, "nodeType": "ParameterList", "parameters": [], "src": "2715:0:46" }, "scope": 19969, "src": "2611:410:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" } ], "scope": 20280, "src": "192:2831:46" }, { "abstract": false, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 19970, "name": "NonStandardToken", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 19969, "src": "3062:16:46", "typeDescriptions": { "typeIdentifier": "t_contract$_NonStandardToken_$19969", "typeString": "contract NonStandardToken" } }, "id": 19971, "nodeType": "InheritanceSpecifier", "src": "3062:16:46" } ], "contractDependencies": [ 19969, 22661 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 20006, "linearizedBaseContracts": [ 20006, 19969, 22661 ], "name": "NonStandardTokenDetailed", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "06fdde03", "id": 19973, "mutability": "mutable", "name": "name", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20006, "src": "3085:18:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string" }, "typeName": { "id": 19972, "name": "string", "nodeType": "ElementaryTypeName", "src": "3085:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "public" }, { "constant": false, "functionSelector": "95d89b41", "id": 19975, "mutability": "mutable", "name": "symbol", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20006, "src": "3109:20:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string" }, "typeName": { "id": 19974, "name": "string", "nodeType": "ElementaryTypeName", "src": "3109:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "public" }, { "constant": false, "functionSelector": "313ce567", "id": 19977, "mutability": "mutable", "name": "decimals", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20006, "src": "3135:21:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 19976, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "3135:5:46", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "public" }, { "body": { "id": 20004, "nodeType": "Block", "src": "3554:85:46", "statements": [ { "expression": { "argumentTypes": null, "id": 19994, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 19992, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19973, "src": "3564:4:46", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 19993, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19980, "src": "3571:5:46", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "3564:12:46", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 19995, "nodeType": "ExpressionStatement", "src": "3564:12:46" }, { "expression": { "argumentTypes": null, "id": 19998, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 19996, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19975, "src": "3586:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 19997, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19982, "src": "3595:7:46", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "3586:16:46", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 19999, "nodeType": "ExpressionStatement", "src": "3586:16:46" }, { "expression": { "argumentTypes": null, "id": 20002, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 20000, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19977, "src": "3612:8:46", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 20001, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19984, "src": "3623:9:46", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "3612:20:46", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "id": 20003, "nodeType": "ExpressionStatement", "src": "3612:20:46" } ] }, "documentation": { "id": 19978, "nodeType": "StructuredDocumentation", "src": "3163:241:46", "text": " @dev initializes a new NonStandardToken instance\n @param _name token name\n @param _symbol token symbol\n @param _decimals decimal points\n @param _supply initial supply" }, "id": 20005, "implemented": true, "kind": "constructor", "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 19989, "name": "_supply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19986, "src": "3541:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 19990, "modifierName": { "argumentTypes": null, "id": 19988, "name": "NonStandardToken", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19969, "src": "3524:16:46", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_NonStandardToken_$19969_$", "typeString": "type(contract NonStandardToken)" } }, "nodeType": "ModifierInvocation", "src": "3524:25:46" } ], "name": "", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 19987, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19980, "mutability": "mutable", "name": "_name", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20005, "src": "3421:19:46", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 19979, "name": "string", "nodeType": "ElementaryTypeName", "src": "3421:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19982, "mutability": "mutable", "name": "_symbol", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20005, "src": "3442:21:46", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 19981, "name": "string", "nodeType": "ElementaryTypeName", "src": "3442:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19984, "mutability": "mutable", "name": "_decimals", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20005, "src": "3465:15:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 19983, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "3465:5:46", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 19986, "mutability": "mutable", "name": "_supply", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20005, "src": "3482:15:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 19985, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3482:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "3420:78:46" }, "returnParameters": { "id": 19991, "nodeType": "ParameterList", "parameters": [], "src": "3554:0:46" }, "scope": 20006, "src": "3409:230:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" } ], "scope": 20280, "src": "3025:616:46" }, { "abstract": false, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 20007, "name": "NonStandardTokenDetailed", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 20006, "src": "3676:24:46", "typeDescriptions": { "typeIdentifier": "t_contract$_NonStandardTokenDetailed_$20006", "typeString": "contract NonStandardTokenDetailed" } }, "id": 20008, "nodeType": "InheritanceSpecifier", "src": "3676:24:46" } ], "contractDependencies": [ 19969, 20006, 22661 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 20097, "linearizedBaseContracts": [ 20097, 20006, 19969, 22661 ], "name": "TestNonStandardToken", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "d909b403", "id": 20010, "mutability": "mutable", "name": "ok", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20097, "src": "3707:14:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20009, "name": "bool", "nodeType": "ElementaryTypeName", "src": "3707:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "public" }, { "body": { "id": 20031, "nodeType": "Block", "src": "3894:26:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "74727565", "id": 20028, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "3908:4:46", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 20027, "name": "set", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20042, "src": "3904:3:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", "typeString": "function (bool)" } }, "id": 20029, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3904:9:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20030, "nodeType": "ExpressionStatement", "src": "3904:9:46" } ] }, "documentation": null, "id": 20032, "implemented": true, "kind": "constructor", "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 20021, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20012, "src": "3858:5:46", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 20022, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20014, "src": "3865:7:46", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 20023, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20016, "src": "3874:9:46", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { "argumentTypes": null, "id": 20024, "name": "_supply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20018, "src": "3885:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 20025, "modifierName": { "argumentTypes": null, "id": 20020, "name": "NonStandardTokenDetailed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20006, "src": "3833:24:46", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_NonStandardTokenDetailed_$20006_$", "typeString": "type(contract NonStandardTokenDetailed)" } }, "nodeType": "ModifierInvocation", "src": "3833:60:46" } ], "name": "", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20019, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20012, "mutability": "mutable", "name": "_name", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20032, "src": "3740:19:46", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 20011, "name": "string", "nodeType": "ElementaryTypeName", "src": "3740:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20014, "mutability": "mutable", "name": "_symbol", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20032, "src": "3761:21:46", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 20013, "name": "string", "nodeType": "ElementaryTypeName", "src": "3761:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20016, "mutability": "mutable", "name": "_decimals", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20032, "src": "3784:15:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 20015, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "3784:5:46", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20018, "mutability": "mutable", "name": "_supply", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20032, "src": "3801:15:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20017, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3801:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "3739:78:46" }, "returnParameters": { "id": 20026, "nodeType": "ParameterList", "parameters": [], "src": "3894:0:46" }, "scope": 20097, "src": "3728:192:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20041, "nodeType": "Block", "src": "3956:25:46", "statements": [ { "expression": { "argumentTypes": null, "id": 20039, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 20037, "name": "ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20010, "src": "3966:2:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 20038, "name": "_ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20034, "src": "3971:3:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "3966:8:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 20040, "nodeType": "ExpressionStatement", "src": "3966:8:46" } ] }, "documentation": null, "functionSelector": "5f76f6ab", "id": 20042, "implemented": true, "kind": "function", "modifiers": [], "name": "set", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20035, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20034, "mutability": "mutable", "name": "_ok", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20042, "src": "3939:8:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20033, "name": "bool", "nodeType": "ElementaryTypeName", "src": "3939:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "3938:10:46" }, "returnParameters": { "id": 20036, "nodeType": "ParameterList", "parameters": [], "src": "3956:0:46" }, "scope": 20097, "src": "3926:55:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20058, "nodeType": "Block", "src": "4045:64:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20050, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20044, "src": "4064:8:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20051, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20046, "src": "4074:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 20049, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19968, "src": "4055:8:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 20052, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4055:26:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20053, "nodeType": "ExpressionStatement", "src": "4055:26:46" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20055, "name": "ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20010, "src": "4099:2:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 20054, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "4091:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 20056, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4091:11:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20057, "nodeType": "ExpressionStatement", "src": "4091:11:46" } ] }, "documentation": null, "functionSelector": "095ea7b3", "id": 20059, "implemented": true, "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20047, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20044, "mutability": "mutable", "name": "_spender", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20059, "src": "4004:16:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20043, "name": "address", "nodeType": "ElementaryTypeName", "src": "4004:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20046, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20059, "src": "4022:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20045, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4022:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "4003:34:46" }, "returnParameters": { "id": 20048, "nodeType": "ParameterList", "parameters": [], "src": "4045:0:46" }, "scope": 20097, "src": "3987:122:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20075, "nodeType": "Block", "src": "4169:60:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20067, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20061, "src": "4189:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20068, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20063, "src": "4194:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 20066, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19863, "src": "4179:9:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 20069, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4179:22:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20070, "nodeType": "ExpressionStatement", "src": "4179:22:46" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20072, "name": "ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20010, "src": "4219:2:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 20071, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "4211:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 20073, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4211:11:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20074, "nodeType": "ExpressionStatement", "src": "4211:11:46" } ] }, "documentation": null, "functionSelector": "a9059cbb", "id": 20076, "implemented": true, "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20064, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20061, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20076, "src": "4133:11:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20060, "name": "address", "nodeType": "ElementaryTypeName", "src": "4133:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20063, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20076, "src": "4146:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20062, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4146:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "4132:29:46" }, "returnParameters": { "id": 20065, "nodeType": "ParameterList", "parameters": [], "src": "4169:0:46" }, "scope": 20097, "src": "4115:114:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20095, "nodeType": "Block", "src": "4308:71:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20086, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20078, "src": "4332:5:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20087, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20080, "src": "4339:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20088, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20082, "src": "4344:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 20085, "name": "_transferFrom", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19925, "src": "4318:13:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, "id": 20089, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4318:33:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20090, "nodeType": "ExpressionStatement", "src": "4318:33:46" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20092, "name": "ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20010, "src": "4369:2:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 20091, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "4361:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 20093, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4361:11:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20094, "nodeType": "ExpressionStatement", "src": "4361:11:46" } ] }, "documentation": null, "functionSelector": "23b872dd", "id": 20096, "implemented": true, "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20083, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20078, "mutability": "mutable", "name": "_from", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20096, "src": "4257:13:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20077, "name": "address", "nodeType": "ElementaryTypeName", "src": "4257:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20080, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20096, "src": "4272:11:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20079, "name": "address", "nodeType": "ElementaryTypeName", "src": "4272:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20082, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20096, "src": "4285:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20081, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4285:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "4256:44:46" }, "returnParameters": { "id": 20084, "nodeType": "ParameterList", "parameters": [], "src": "4308:0:46" }, "scope": 20097, "src": "4235:144:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], "scope": 20280, "src": "3643:738:46" }, { "abstract": false, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 20098, "name": "NonStandardToken", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 19969, "src": "4431:16:46", "typeDescriptions": { "typeIdentifier": "t_contract$_NonStandardToken_$19969", "typeString": "contract NonStandardToken" } }, "id": 20099, "nodeType": "InheritanceSpecifier", "src": "4431:16:46" } ], "contractDependencies": [ 19969, 22661 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 20167, "linearizedBaseContracts": [ 20167, 19969, 22661 ], "name": "TestNonStandardTokenWithoutDecimals", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "06fdde03", "id": 20101, "mutability": "mutable", "name": "name", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20167, "src": "4454:18:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string" }, "typeName": { "id": 20100, "name": "string", "nodeType": "ElementaryTypeName", "src": "4454:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "public" }, { "constant": false, "functionSelector": "95d89b41", "id": 20103, "mutability": "mutable", "name": "symbol", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20167, "src": "4478:20:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string" }, "typeName": { "id": 20102, "name": "string", "nodeType": "ElementaryTypeName", "src": "4478:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "public" }, { "body": { "id": 20123, "nodeType": "Block", "src": "4619:55:46", "statements": [ { "expression": { "argumentTypes": null, "id": 20117, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 20115, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20101, "src": "4629:4:46", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 20116, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20105, "src": "4636:5:46", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "4629:12:46", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 20118, "nodeType": "ExpressionStatement", "src": "4629:12:46" }, { "expression": { "argumentTypes": null, "id": 20121, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 20119, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20103, "src": "4651:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 20120, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20107, "src": "4660:7:46", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "src": "4651:16:46", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 20122, "nodeType": "ExpressionStatement", "src": "4651:16:46" } ] }, "documentation": null, "id": 20124, "implemented": true, "kind": "constructor", "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 20112, "name": "_supply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20109, "src": "4610:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 20113, "modifierName": { "argumentTypes": null, "id": 20111, "name": "NonStandardToken", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19969, "src": "4593:16:46", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_NonStandardToken_$19969_$", "typeString": "type(contract NonStandardToken)" } }, "nodeType": "ModifierInvocation", "src": "4593:25:46" } ], "name": "", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20110, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20105, "mutability": "mutable", "name": "_name", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20124, "src": "4517:19:46", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 20104, "name": "string", "nodeType": "ElementaryTypeName", "src": "4517:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20107, "mutability": "mutable", "name": "_symbol", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20124, "src": "4538:21:46", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 20106, "name": "string", "nodeType": "ElementaryTypeName", "src": "4538:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20109, "mutability": "mutable", "name": "_supply", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20124, "src": "4561:15:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20108, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4561:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "4516:61:46" }, "returnParameters": { "id": 20114, "nodeType": "ParameterList", "parameters": [], "src": "4619:0:46" }, "scope": 20167, "src": "4505:169:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20136, "nodeType": "Block", "src": "4738:43:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20132, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20126, "src": "4757:8:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20133, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20128, "src": "4767:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 20131, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19968, "src": "4748:8:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 20134, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4748:26:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20135, "nodeType": "ExpressionStatement", "src": "4748:26:46" } ] }, "documentation": null, "functionSelector": "095ea7b3", "id": 20137, "implemented": true, "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20129, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20126, "mutability": "mutable", "name": "_spender", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20137, "src": "4697:16:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20125, "name": "address", "nodeType": "ElementaryTypeName", "src": "4697:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20128, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20137, "src": "4715:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20127, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4715:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "4696:34:46" }, "returnParameters": { "id": 20130, "nodeType": "ParameterList", "parameters": [], "src": "4738:0:46" }, "scope": 20167, "src": "4680:101:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20149, "nodeType": "Block", "src": "4841:39:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20145, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20139, "src": "4861:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20146, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20141, "src": "4866:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 20144, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19863, "src": "4851:9:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 20147, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4851:22:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20148, "nodeType": "ExpressionStatement", "src": "4851:22:46" } ] }, "documentation": null, "functionSelector": "a9059cbb", "id": 20150, "implemented": true, "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20142, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20139, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20150, "src": "4805:11:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20138, "name": "address", "nodeType": "ElementaryTypeName", "src": "4805:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20141, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20150, "src": "4818:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20140, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4818:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "4804:29:46" }, "returnParameters": { "id": 20143, "nodeType": "ParameterList", "parameters": [], "src": "4841:0:46" }, "scope": 20167, "src": "4787:93:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20165, "nodeType": "Block", "src": "4959:50:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20160, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20152, "src": "4983:5:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20161, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20154, "src": "4990:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20162, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20156, "src": "4995:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 20159, "name": "_transferFrom", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19925, "src": "4969:13:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, "id": 20163, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4969:33:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20164, "nodeType": "ExpressionStatement", "src": "4969:33:46" } ] }, "documentation": null, "functionSelector": "23b872dd", "id": 20166, "implemented": true, "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20157, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20152, "mutability": "mutable", "name": "_from", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20166, "src": "4908:13:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20151, "name": "address", "nodeType": "ElementaryTypeName", "src": "4908:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20154, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20166, "src": "4923:11:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20153, "name": "address", "nodeType": "ElementaryTypeName", "src": "4923:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20156, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20166, "src": "4936:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20155, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4936:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "4907:44:46" }, "returnParameters": { "id": 20158, "nodeType": "ParameterList", "parameters": [], "src": "4959:0:46" }, "scope": 20167, "src": "4886:123:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], "scope": 20280, "src": "4383:628:46" }, { "abstract": false, "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 20168, "name": "NonStandardTokenDetailed", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 20006, "src": "5043:24:46", "typeDescriptions": { "typeIdentifier": "t_contract$_NonStandardTokenDetailed_$20006", "typeString": "contract NonStandardTokenDetailed" } }, "id": 20169, "nodeType": "InheritanceSpecifier", "src": "5043:24:46" } ], "contractDependencies": [ 19969, 20006, 22661 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 20279, "linearizedBaseContracts": [ 20279, 20006, 19969, 22661 ], "name": "TestStandardToken", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "d909b403", "id": 20171, "mutability": "mutable", "name": "ok", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20279, "src": "5074:14:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20170, "name": "bool", "nodeType": "ElementaryTypeName", "src": "5074:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "public" }, { "constant": false, "functionSelector": "1b08d96f", "id": 20173, "mutability": "mutable", "name": "ret", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20279, "src": "5094:15:46", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20172, "name": "bool", "nodeType": "ElementaryTypeName", "src": "5094:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "public" }, { "body": { "id": 20195, "nodeType": "Block", "src": "5282:32:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "74727565", "id": 20191, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "5296:4:46", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, { "argumentTypes": null, "hexValue": "74727565", "id": 20192, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "5302:4:46", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 20190, "name": "set", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20212, "src": "5292:3:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$_t_bool_$returns$__$", "typeString": "function (bool,bool)" } }, "id": 20193, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5292:15:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20194, "nodeType": "ExpressionStatement", "src": "5292:15:46" } ] }, "documentation": null, "id": 20196, "implemented": true, "kind": "constructor", "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 20184, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20175, "src": "5246:5:46", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 20185, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20177, "src": "5253:7:46", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "argumentTypes": null, "id": 20186, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20179, "src": "5262:9:46", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { "argumentTypes": null, "id": 20187, "name": "_supply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20181, "src": "5273:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "id": 20188, "modifierName": { "argumentTypes": null, "id": 20183, "name": "NonStandardTokenDetailed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20006, "src": "5221:24:46", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_NonStandardTokenDetailed_$20006_$", "typeString": "type(contract NonStandardTokenDetailed)" } }, "nodeType": "ModifierInvocation", "src": "5221:60:46" } ], "name": "", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20182, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20175, "mutability": "mutable", "name": "_name", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20196, "src": "5128:19:46", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 20174, "name": "string", "nodeType": "ElementaryTypeName", "src": "5128:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20177, "mutability": "mutable", "name": "_symbol", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20196, "src": "5149:21:46", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 20176, "name": "string", "nodeType": "ElementaryTypeName", "src": "5149:6:46", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20179, "mutability": "mutable", "name": "_decimals", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20196, "src": "5172:15:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 20178, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "5172:5:46", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20181, "mutability": "mutable", "name": "_supply", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20196, "src": "5189:15:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20180, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5189:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "5127:78:46" }, "returnParameters": { "id": 20189, "nodeType": "ParameterList", "parameters": [], "src": "5282:0:46" }, "scope": 20279, "src": "5116:198:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20211, "nodeType": "Block", "src": "5361:45:46", "statements": [ { "expression": { "argumentTypes": null, "id": 20205, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 20203, "name": "ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20171, "src": "5371:2:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 20204, "name": "_ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20198, "src": "5376:3:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "5371:8:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 20206, "nodeType": "ExpressionStatement", "src": "5371:8:46" }, { "expression": { "argumentTypes": null, "id": 20209, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 20207, "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20173, "src": "5389:3:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 20208, "name": "_ret", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20200, "src": "5395:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "5389:10:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 20210, "nodeType": "ExpressionStatement", "src": "5389:10:46" } ] }, "documentation": null, "functionSelector": "f907191a", "id": 20212, "implemented": true, "kind": "function", "modifiers": [], "name": "set", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20201, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20198, "mutability": "mutable", "name": "_ok", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20212, "src": "5333:8:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20197, "name": "bool", "nodeType": "ElementaryTypeName", "src": "5333:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20200, "mutability": "mutable", "name": "_ret", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20212, "src": "5343:9:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20199, "name": "bool", "nodeType": "ElementaryTypeName", "src": "5343:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "5332:21:46" }, "returnParameters": { "id": 20202, "nodeType": "ParameterList", "parameters": [], "src": "5361:0:46" }, "scope": 20279, "src": "5320:86:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20232, "nodeType": "Block", "src": "5485:84:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20222, "name": "_spender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20214, "src": "5504:8:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20223, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20216, "src": "5514:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 20221, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19968, "src": "5495:8:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 20224, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5495:26:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20225, "nodeType": "ExpressionStatement", "src": "5495:26:46" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20227, "name": "ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20171, "src": "5539:2:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 20226, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "5531:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 20228, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5531:11:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20229, "nodeType": "ExpressionStatement", "src": "5531:11:46" }, { "expression": { "argumentTypes": null, "id": 20230, "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20173, "src": "5559:3:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 20220, "id": 20231, "nodeType": "Return", "src": "5552:10:46" } ] }, "documentation": null, "functionSelector": "095ea7b3", "id": 20233, "implemented": true, "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20217, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20214, "mutability": "mutable", "name": "_spender", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20233, "src": "5429:16:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20213, "name": "address", "nodeType": "ElementaryTypeName", "src": "5429:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20216, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20233, "src": "5447:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20215, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5447:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "5428:34:46" }, "returnParameters": { "id": 20220, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20219, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20233, "src": "5479:4:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20218, "name": "bool", "nodeType": "ElementaryTypeName", "src": "5479:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "5478:6:46" }, "scope": 20279, "src": "5412:157:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20253, "nodeType": "Block", "src": "5644:80:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20243, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20235, "src": "5664:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20244, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20237, "src": "5669:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 20242, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19863, "src": "5654:9:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 20245, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5654:22:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20246, "nodeType": "ExpressionStatement", "src": "5654:22:46" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20248, "name": "ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20171, "src": "5694:2:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 20247, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "5686:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 20249, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5686:11:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20250, "nodeType": "ExpressionStatement", "src": "5686:11:46" }, { "expression": { "argumentTypes": null, "id": 20251, "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20173, "src": "5714:3:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 20241, "id": 20252, "nodeType": "Return", "src": "5707:10:46" } ] }, "documentation": null, "functionSelector": "a9059cbb", "id": 20254, "implemented": true, "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20238, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20235, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20254, "src": "5593:11:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20234, "name": "address", "nodeType": "ElementaryTypeName", "src": "5593:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20237, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20254, "src": "5606:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20236, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5606:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "5592:29:46" }, "returnParameters": { "id": 20241, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20240, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20254, "src": "5638:4:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20239, "name": "bool", "nodeType": "ElementaryTypeName", "src": "5638:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "5637:6:46" }, "scope": 20279, "src": "5575:149:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 20277, "nodeType": "Block", "src": "5818:91:46", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20266, "name": "_from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20256, "src": "5842:5:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20267, "name": "_to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20258, "src": "5849:3:46", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 20268, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20260, "src": "5854:6:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 20265, "name": "_transferFrom", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19925, "src": "5828:13:46", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, "id": 20269, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5828:33:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20270, "nodeType": "ExpressionStatement", "src": "5828:33:46" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20272, "name": "ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20171, "src": "5879:2:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 20271, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "5871:7:46", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 20273, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "5871:11:46", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20274, "nodeType": "ExpressionStatement", "src": "5871:11:46" }, { "expression": { "argumentTypes": null, "id": 20275, "name": "ret", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20173, "src": "5899:3:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 20264, "id": 20276, "nodeType": "Return", "src": "5892:10:46" } ] }, "documentation": null, "functionSelector": "23b872dd", "id": 20278, "implemented": true, "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 20261, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20256, "mutability": "mutable", "name": "_from", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20278, "src": "5752:13:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20255, "name": "address", "nodeType": "ElementaryTypeName", "src": "5752:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20258, "mutability": "mutable", "name": "_to", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20278, "src": "5767:11:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20257, "name": "address", "nodeType": "ElementaryTypeName", "src": "5767:7:46", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 20260, "mutability": "mutable", "name": "_value", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20278, "src": "5780:14:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 20259, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5780:7:46", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "5751:44:46" }, "returnParameters": { "id": 20264, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20263, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 20278, "src": "5812:4:46", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20262, "name": "bool", "nodeType": "ElementaryTypeName", "src": "5812:4:46", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "5811:6:46" }, "scope": 20279, "src": "5730:179:46", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" } ], "scope": 20280, "src": "5013:898:46" } ], "src": "51:5861:46" }, "compiler": { "name": "solc", "version": "0.6.12+commit.27d51765.Emscripten.clang" }, "networks": {}, "schemaVersion": "3.2.3", "updatedAt": "2020-10-20T08:24:47.813Z", "devdoc": { "kind": "dev", "methods": { "constructor": { "details": "initializes a new NonStandardToken instance", "params": { "_supply": "initial supply" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "notice": "ERC20 Non-Standard Token implementation", "version": 1 } }