UNPKG

@dnextco/tokenboost-solidity-erc223token

Version:

Solidity contracts for TokenBoost (ERC223Token)

1,209 lines 83.4 kB
{ "contractName": "BurnableToken", "abi": [ { "constant": true, "inputs": [], "name": "totalSupply", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_to", "type": "address" }, { "name": "_value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "burner", "type": "address" }, { "indexed": false, "name": "value", "type": "uint256" } ], "name": "Burn", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "from", "type": "address" }, { "indexed": true, "name": "to", "type": "address" }, { "indexed": false, "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "constant": false, "inputs": [ { "name": "_value", "type": "uint256" } ], "name": "burn", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b5061035f806100206000396000f3006080604052600436106100615763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166318160ddd811461006657806342966c681461008d57806370a08231146100a7578063a9059cbb146100c8575b600080fd5b34801561007257600080fd5b5061007b610100565b60408051918252519081900360200190f35b34801561009957600080fd5b506100a5600435610106565b005b3480156100b357600080fd5b5061007b600160a060020a0360043516610113565b3480156100d457600080fd5b506100ec600160a060020a036004351660243561012e565b604080519115158252519081900360200190f35b60015490565b610110338261020d565b50565b600160a060020a031660009081526020819052604090205490565b3360009081526020819052604081205482111561014a57600080fd5b600160a060020a038316151561015f57600080fd5b3360009081526020819052604090205461017f908363ffffffff61030e16565b3360009081526020819052604080822092909255600160a060020a038516815220546101b1908363ffffffff61032016565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600160a060020a03821660009081526020819052604090205481111561023257600080fd5b600160a060020a03821660009081526020819052604090205461025b908263ffffffff61030e16565b600160a060020a038316600090815260208190526040902055600154610287908263ffffffff61030e16565b600155604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60008282111561031a57fe5b50900390565b8181018281101561032d57fe5b929150505600a165627a7a72305820254323e3c126b7015c8d1bc64d8b16623221f62111c2148d089c62fbe2f5d2240029", "deployedBytecode": "0x6080604052600436106100615763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166318160ddd811461006657806342966c681461008d57806370a08231146100a7578063a9059cbb146100c8575b600080fd5b34801561007257600080fd5b5061007b610100565b60408051918252519081900360200190f35b34801561009957600080fd5b506100a5600435610106565b005b3480156100b357600080fd5b5061007b600160a060020a0360043516610113565b3480156100d457600080fd5b506100ec600160a060020a036004351660243561012e565b604080519115158252519081900360200190f35b60015490565b610110338261020d565b50565b600160a060020a031660009081526020819052604090205490565b3360009081526020819052604081205482111561014a57600080fd5b600160a060020a038316151561015f57600080fd5b3360009081526020819052604090205461017f908363ffffffff61030e16565b3360009081526020819052604080822092909255600160a060020a038516815220546101b1908363ffffffff61032016565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600160a060020a03821660009081526020819052604090205481111561023257600080fd5b600160a060020a03821660009081526020819052604090205461025b908263ffffffff61030e16565b600160a060020a038316600090815260208190526040902055600154610287908263ffffffff61030e16565b600155604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60008282111561031a57fe5b50900390565b8181018281101561032d57fe5b929150505600a165627a7a72305820254323e3c126b7015c8d1bc64d8b16623221f62111c2148d089c62fbe2f5d2240029", "sourceMap": "147:723:45:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;147:723:45;;;;;;;", "deployedSourceMap": "147:723:45:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;389:83:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;389:83:44;;;;;;;;;;;;;;;;;;;;353:73:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;353:73:45;;;;;;;1149:99:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1149:99:44;-1:-1:-1;;;;;1149:99:44;;;;;626:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;626:321:44;-1:-1:-1;;;;;626:321:44;;;;;;;;;;;;;;;;;;;;;;;;;389:83;455:12;;389:83;:::o;353:73:45:-;396:25;402:10;414:6;396:5;:25::i;:::-;353:73;:::o;1149:99:44:-;-1:-1:-1;;;;;1227:16:44;1205:7;1227:16;;;;;;;;;;;;1149:99::o;626:321::-;728:10;689:4;719:20;;;;;;;;;;;709:30;;;701:39;;;;;;-1:-1:-1;;;;;754:17:44;;;;746:26;;;;;;811:10;802:8;:20;;;;;;;;;;;:32;;827:6;802:32;:24;:32;:::i;:::-;788:10;779:8;:20;;;;;;;;;;;:55;;;;-1:-1:-1;;;;;856:13:44;;;;;;:25;;874:6;856:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;840:13:44;;:8;:13;;;;;;;;;;;;:41;;;;892:33;;;;;;;840:13;;901:10;;892:33;;;;;;;;;;-1:-1:-1;938:4:44;626:321;;;;:::o;430:438:45:-;-1:-1:-1;;;;;508:14:45;;:8;:14;;;;;;;;;;;498:24;;;490:33;;;;;;-1:-1:-1;;;;;718:14:45;;:8;:14;;;;;;;;;;;:26;;737:6;718:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;701:14:45;;:8;:14;;;;;;;;;;:43;765:12;;:24;;782:6;765:24;:16;:24;:::i;:::-;750:12;:39;800:18;;;;;;;;-1:-1:-1;;;;;800:18:45;;;;;;;;;;;;;829:34;;;;;;;;852:1;;-1:-1:-1;;;;;829:34:45;;;;;;;;;;;;430:438;;:::o;1060:116:42:-;1120:7;1142:8;;;;1135:16;;;;-1:-1:-1;1164:7:42;;;1060:116::o;1238:128::-;1319:7;;;1339;;;;1332:15;;;;1238:128;;;;:::o", "source": "pragma solidity ^0.4.24;\n\nimport \"./BasicToken.sol\";\n\n\n/**\n * @title Burnable Token\n * @dev Token that can be irreversibly burned (destroyed).\n */\ncontract BurnableToken is BasicToken {\n\n event Burn(address indexed burner, uint256 value);\n\n /**\n * @dev Burns a specific amount of tokens.\n * @param _value The amount of token to be burned.\n */\n function burn(uint256 _value) public {\n _burn(msg.sender, _value);\n }\n\n function _burn(address _who, uint256 _value) internal {\n require(_value <= balances[_who]);\n // no need to require value <= totalSupply, since that would imply the\n // sender's balance is greater than the totalSupply, which *should* be an assertion failure\n\n balances[_who] = balances[_who].sub(_value);\n totalSupply_ = totalSupply_.sub(_value);\n emit Burn(_who, _value);\n emit Transfer(_who, address(0), _value);\n }\n}\n", "sourcePath": "zeppelin-solidity/contracts/token/ERC20/BurnableToken.sol", "ast": { "absolutePath": "zeppelin-solidity/contracts/token/ERC20/BurnableToken.sol", "exportedSymbols": { "BurnableToken": [ 7069 ] }, "id": 7070, "nodeType": "SourceUnit", "nodes": [ { "id": 7000, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:45" }, { "absolutePath": "zeppelin-solidity/contracts/token/ERC20/BasicToken.sol", "file": "./BasicToken.sol", "id": 7001, "nodeType": "ImportDirective", "scope": 7070, "sourceUnit": 6999, "src": "26:26:45", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 7002, "name": "BasicToken", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 6998, "src": "173:10:45", "typeDescriptions": { "typeIdentifier": "t_contract$_BasicToken_$6998", "typeString": "contract BasicToken" } }, "id": 7003, "nodeType": "InheritanceSpecifier", "src": "173:10:45" } ], "contractDependencies": [ 6998, 7144 ], "contractKind": "contract", "documentation": "@title Burnable Token\n@dev Token that can be irreversibly burned (destroyed).", "fullyImplemented": true, "id": 7069, "linearizedBaseContracts": [ 7069, 6998, 7144 ], "name": "BurnableToken", "nodeType": "ContractDefinition", "nodes": [ { "anonymous": false, "documentation": null, "id": 7009, "name": "Burn", "nodeType": "EventDefinition", "parameters": { "id": 7008, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7005, "indexed": true, "name": "burner", "nodeType": "VariableDeclaration", "scope": 7009, "src": "200:22:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 7004, "name": "address", "nodeType": "ElementaryTypeName", "src": "200:7:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 7007, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", "scope": 7009, "src": "224:13:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7006, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "224:7:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "199:39:45" }, "src": "189:50:45" }, { "body": { "id": 7020, "nodeType": "Block", "src": "390:36:45", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 7015, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7662, "src": "402:3:45", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 7016, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "402:10:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 7017, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7011, "src": "414:6:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 7014, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7068, "src": "396:5:45", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 7018, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "396:25:45", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 7019, "nodeType": "ExpressionStatement", "src": "396:25:45" } ] }, "documentation": "@dev Burns a specific amount of tokens.\n@param _value The amount of token to be burned.", "id": 7021, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "burn", "nodeType": "FunctionDefinition", "parameters": { "id": 7012, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7011, "name": "_value", "nodeType": "VariableDeclaration", "scope": 7021, "src": "367:14:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7010, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "367:7:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "366:16:45" }, "payable": false, "returnParameters": { "id": 7013, "nodeType": "ParameterList", "parameters": [], "src": "390:0:45" }, "scope": 7069, "src": "353:73:45", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 7067, "nodeType": "Block", "src": "484:384:45", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 7033, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 7029, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7025, "src": "498:6:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 7030, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6915, "src": "508:8:45", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 7032, "indexExpression": { "argumentTypes": null, "id": 7031, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7023, "src": "517:4:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "508:14:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "498:24:45", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 7028, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 7665, 7666 ], "referencedDeclaration": 7665, "src": "490:7:45", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 7034, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "490:33:45", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 7035, "nodeType": "ExpressionStatement", "src": "490:33:45" }, { "expression": { "argumentTypes": null, "id": 7045, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 7036, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6915, "src": "701:8:45", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 7038, "indexExpression": { "argumentTypes": null, "id": 7037, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7023, "src": "710:4:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "701:14:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 7043, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7025, "src": "737:6:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 7039, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6915, "src": "718:8:45", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 7041, "indexExpression": { "argumentTypes": null, "id": 7040, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7023, "src": "727:4:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "718:14:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 7042, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 6791, "src": "718:18:45", "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": 7044, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "718:26:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "701:43:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 7046, "nodeType": "ExpressionStatement", "src": "701:43:45" }, { "expression": { "argumentTypes": null, "id": 7052, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 7047, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6917, "src": "750:12:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 7050, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7025, "src": "782:6:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 7048, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6917, "src": "765:12:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 7049, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 6791, "src": "765:16:45", "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": 7051, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "765:24:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "750:39:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 7053, "nodeType": "ExpressionStatement", "src": "750:39:45" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 7055, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7023, "src": "805:4:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 7056, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7025, "src": "811:6:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 7054, "name": "Burn", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7009, "src": "800:4:45", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 7057, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "800:18:45", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 7058, "nodeType": "EmitStatement", "src": "795:23:45" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 7060, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7023, "src": "838:4:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 7062, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "852:1:45", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } ], "id": 7061, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "844:7:45", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 7063, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "844:10:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 7064, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7025, "src": "856:6:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 7059, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7143, "src": "829:8:45", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, "id": 7065, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "829:34:45", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 7066, "nodeType": "EmitStatement", "src": "824:39:45" } ] }, "documentation": null, "id": 7068, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "_burn", "nodeType": "FunctionDefinition", "parameters": { "id": 7026, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7023, "name": "_who", "nodeType": "VariableDeclaration", "scope": 7068, "src": "445:12:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 7022, "name": "address", "nodeType": "ElementaryTypeName", "src": "445:7:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 7025, "name": "_value", "nodeType": "VariableDeclaration", "scope": 7068, "src": "459:14:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7024, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "459:7:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "444:30:45" }, "payable": false, "returnParameters": { "id": 7027, "nodeType": "ParameterList", "parameters": [], "src": "484:0:45" }, "scope": 7069, "src": "430:438:45", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], "scope": 7070, "src": "147:723:45" } ], "src": "0:871:45" }, "legacyAST": { "absolutePath": "zeppelin-solidity/contracts/token/ERC20/BurnableToken.sol", "exportedSymbols": { "BurnableToken": [ 7069 ] }, "id": 7070, "nodeType": "SourceUnit", "nodes": [ { "id": 7000, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:45" }, { "absolutePath": "zeppelin-solidity/contracts/token/ERC20/BasicToken.sol", "file": "./BasicToken.sol", "id": 7001, "nodeType": "ImportDirective", "scope": 7070, "sourceUnit": 6999, "src": "26:26:45", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 7002, "name": "BasicToken", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 6998, "src": "173:10:45", "typeDescriptions": { "typeIdentifier": "t_contract$_BasicToken_$6998", "typeString": "contract BasicToken" } }, "id": 7003, "nodeType": "InheritanceSpecifier", "src": "173:10:45" } ], "contractDependencies": [ 6998, 7144 ], "contractKind": "contract", "documentation": "@title Burnable Token\n@dev Token that can be irreversibly burned (destroyed).", "fullyImplemented": true, "id": 7069, "linearizedBaseContracts": [ 7069, 6998, 7144 ], "name": "BurnableToken", "nodeType": "ContractDefinition", "nodes": [ { "anonymous": false, "documentation": null, "id": 7009, "name": "Burn", "nodeType": "EventDefinition", "parameters": { "id": 7008, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7005, "indexed": true, "name": "burner", "nodeType": "VariableDeclaration", "scope": 7009, "src": "200:22:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 7004, "name": "address", "nodeType": "ElementaryTypeName", "src": "200:7:45", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 7007, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", "scope": 7009, "src": "224:13:45", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 7006, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "224:7:45", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "199:39:45" }, "src": "189:50:45" }, { "