{ "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": "0x608060405234801561001057600080fd5b5061060d806100206000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461006757806342966c681461009257806370a08231146100bf578063a9059cbb14610116575b600080fd5b34801561007357600080fd5b5061007c61017b565b6040518082815260200191505060405180910390f35b34801561009e57600080fd5b506100bd60048036038101908080359060200190929190505050610185565b005b3480156100cb57600080fd5b50610100600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610192565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b50610161600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506101da565b604051808215151515815260200191505060405180910390f35b6000600154905090565b61018f33826103f9565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561021757600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561026457600080fd5b6102b5826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105ac90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610348826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105c590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561044657600080fd5b610497816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105ac90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506104ee816001546105ac90919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008282111515156105ba57fe5b818303905092915050565b600081830190508281101515156105d857fe5b809050929150505600a165627a7a72305820a1a66e231860d71942ba38cb5a08d860c0f6c14bdbb0e8620ed0f074bf2b5b370029", "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461006757806342966c681461009257806370a08231146100bf578063a9059cbb14610116575b600080fd5b34801561007357600080fd5b5061007c61017b565b6040518082815260200191505060405180910390f35b34801561009e57600080fd5b506100bd60048036038101908080359060200190929190505050610185565b005b3480156100cb57600080fd5b50610100600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610192565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b50610161600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506101da565b604051808215151515815260200191505060405180910390f35b6000600154905090565b61018f33826103f9565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561021757600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561026457600080fd5b6102b5826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105ac90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610348826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105c590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561044657600080fd5b610497816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105ac90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506104ee816001546105ac90919063ffffffff16565b6001819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008282111515156105ba57fe5b818303905092915050565b600081830190508281101515156105d857fe5b809050929150505600a165627a7a72305820a1a66e231860d71942ba38cb5a08d860c0f6c14bdbb0e8620ed0f074bf2b5b370029", "sourceMap": "147:723:32:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;147:723:32;;;;;;;", "deployedSourceMap": "147:723:32:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;371:83:31;;;;;;;;;;;;;;;;;;;;;;;353:73:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;353:73:32;;;;;;;;;;;;;;;;;;;;;;;;;;1131:99:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1131:99:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;608:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;608:321:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;371:83;415:7;437:12;;430:19;;371:83;:::o;353:73:32:-;396:25;402:10;414:6;396:5;:25::i;:::-;353:73;:::o;1131:99:31:-;1187:7;1209:8;:16;1218:6;1209:16;;;;;;;;;;;;;;;;1202:23;;1131:99;;;:::o;608:321::-;671:4;706:1;691:17;;:3;:17;;;;683:26;;;;;;;;733:8;:20;742:10;733:20;;;;;;;;;;;;;;;;723:6;:30;;715:39;;;;;;;;784:32;809:6;784:8;:20;793:10;784:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;761:8;:20;770:10;761:20;;;;;;;;;;;;;;;:55;;;;838:25;856:6;838:8;:13;847:3;838:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;822:8;:13;831:3;822:13;;;;;;;;;;;;;;;:41;;;;895:3;874:33;;883:10;874:33;;;900:6;874:33;;;;;;;;;;;;;;;;;;920:4;913:11;;608:321;;;;:::o;430:438:32:-;508:8;:14;517:4;508:14;;;;;;;;;;;;;;;;498:6;:24;;490:33;;;;;;;;718:26;737:6;718:8;:14;727:4;718:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;701:8;:14;710:4;701:14;;;;;;;;;;;;;;;:43;;;;765:24;782:6;765:12;;:16;;:24;;;;:::i;:::-;750:12;:39;;;;805:4;800:18;;;811:6;800:18;;;;;;;;;;;;;;;;;;852:1;829:34;;838:4;829:34;;;856:6;829:34;;;;;;;;;;;;;;;;;;430:438;;:::o;836:110:6:-;894:7;921:1;916;:6;;909:14;;;;;;940:1;936;:5;929:12;;836:110;;;;:::o;1008:123::-;1066:9;1091:1;1087;:5;1083:9;;1110:1;1105;:6;;1098:14;;;;;;1125:1;1118:8;;1008:123;;;;:::o", "source": "pragma solidity ^0.4.21;\n\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": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BurnableToken.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BurnableToken.sol", "exportedSymbols": { "BurnableToken": [ 2286 ] }, "id": 2287, "nodeType": "SourceUnit", "nodes": [ { "id": 2217, "literals": [ "solidity", "^", "0.4", ".21" ], "nodeType": "PragmaDirective", "src": "0:24:32" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BasicToken.sol", "file": "./BasicToken.sol", "id": 2218, "nodeType": "ImportDirective", "scope": 2287, "sourceUnit": 2216, "src": "26:26:32", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 2219, "name": "BasicToken", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2215, "src": "173:10:32", "typeDescriptions": { "typeIdentifier": "t_contract$_BasicToken_$2215", "typeString": "contract BasicToken" } }, "id": 2220, "nodeType": "InheritanceSpecifier", "src": "173:10:32" } ], "contractDependencies": [ 2215, 2511 ], "contractKind": "contract", "documentation": "@title Burnable Token\n@dev Token that can be irreversibly burned (destroyed).", "fullyImplemented": true, "id": 2286, "linearizedBaseContracts": [ 2286, 2215, 2511 ], "name": "BurnableToken", "nodeType": "ContractDefinition", "nodes": [ { "anonymous": false, "documentation": null, "id": 2226, "name": "Burn", "nodeType": "EventDefinition", "parameters": { "id": 2225, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2222, "indexed": true, "name": "burner", "nodeType": "VariableDeclaration", "scope": 2226, "src": "200:22:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2221, "name": "address", "nodeType": "ElementaryTypeName", "src": "200:7:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2224, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", "scope": 2226, "src": "224:13:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2223, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "224:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "199:39:32" }, "src": "189:50:32" }, { "body": { "id": 2237, "nodeType": "Block", "src": "390:36:32", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2232, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4784, "src": "402:3:32", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2233, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "402:10:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2234, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2228, "src": "414:6:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2231, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2285, "src": "396:5:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 2235, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "396:25:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2236, "nodeType": "ExpressionStatement", "src": "396:25:32" } ] }, "documentation": "@dev Burns a specific amount of tokens.\n@param _value The amount of token to be burned.", "id": 2238, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "burn", "nodeType": "FunctionDefinition", "parameters": { "id": 2229, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2228, "name": "_value", "nodeType": "VariableDeclaration", "scope": 2238, "src": "367:14:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2227, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "367:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "366:16:32" }, "payable": false, "returnParameters": { "id": 2230, "nodeType": "ParameterList", "parameters": [], "src": "390:0:32" }, "scope": 2286, "src": "353:73:32", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2284, "nodeType": "Block", "src": "484:384:32", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2250, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2246, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2242, "src": "498:6:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2247, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2132, "src": "508:8:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 2249, "indexExpression": { "argumentTypes": null, "id": 2248, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2240, "src": "517:4:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "508:14:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "498:24:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 2245, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4787, 4788 ], "referencedDeclaration": 4787, "src": "490:7:32", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 2251, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "490:33:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2252, "nodeType": "ExpressionStatement", "src": "490:33:32" }, { "expression": { "argumentTypes": null, "id": 2262, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2253, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2132, "src": "701:8:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 2255, "indexExpression": { "argumentTypes": null, "id": 2254, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2240, "src": "710:4:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "701:14:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2260, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2242, "src": "737:6:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2256, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2132, "src": "718:8:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 2258, "indexExpression": { "argumentTypes": null, "id": 2257, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2240, "src": "727:4:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "718:14:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2259, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 511, "src": "718:18:32", "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": 2261, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "718:26:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "701:43:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2263, "nodeType": "ExpressionStatement", "src": "701:43:32" }, { "expression": { "argumentTypes": null, "id": 2269, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2264, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2134, "src": "750:12:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2267, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2242, "src": "782:6:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 2265, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2134, "src": "765:12:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2266, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 511, "src": "765:16:32", "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": 2268, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "765:24:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "750:39:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2270, "nodeType": "ExpressionStatement", "src": "750:39:32" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2272, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2240, "src": "805:4:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2273, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2242, "src": "811:6:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2271, "name": "Burn", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2226, "src": "800:4:32", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 2274, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "800:18:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2275, "nodeType": "EmitStatement", "src": "795:23:32" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2277, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2240, "src": "838:4:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2279, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "852:1:32", "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": 2278, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "844:7:32", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 2280, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "844:10:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2281, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2242, "src": "856:6:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2276, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2510, "src": "829:8:32", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, "id": 2282, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "829:34:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2283, "nodeType": "EmitStatement", "src": "824:39:32" } ] }, "documentation": null, "id": 2285, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "_burn", "nodeType": "FunctionDefinition", "parameters": { "id": 2243, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2240, "name": "_who", "nodeType": "VariableDeclaration", "scope": 2285, "src": "445:12:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2239, "name": "address", "nodeType": "ElementaryTypeName", "src": "445:7:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2242, "name": "_value", "nodeType": "VariableDeclaration", "scope": 2285, "src": "459:14:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2241, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "459:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "444:30:32" }, "payable": false, "returnParameters": { "id": 2244, "nodeType": "ParameterList", "parameters": [], "src": "484:0:32" }, "scope": 2286, "src": "430:438:32", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], "scope": 2287, "src": "147:723:32" } ], "src": "0:871:32" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BurnableToken.sol", "exportedSymbols": { "BurnableToken": [ 2286 ] }, "id": 2287, "nodeType": "SourceUnit", "nodes": [ { "id": 2217, "literals": [ "solidity", "^", "0.4", ".21" ], "nodeType": "PragmaDirective", "src": "0:24:32" }, { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/token/ERC20/BasicToken.sol", "file": "./BasicToken.sol", "id": 2218, "nodeType": "ImportDirective", "scope": 2287, "sourceUnit": 2216, "src": "26:26:32", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 2219, "name": "BasicToken", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 2215, "src": "173:10:32", "typeDescriptions": { "typeIdentifier": "t_contract$_BasicToken_$2215", "typeString": "contract BasicToken" } }, "id": 2220, "nodeType": "InheritanceSpecifier", "src": "173:10:32" } ], "contractDependencies": [ 2215, 2511 ], "contractKind": "contract", "documentation": "@title Burnable Token\n@dev Token that can be irreversibly burned (destroyed).", "fullyImplemented": true, "id": 2286, "linearizedBaseContracts": [ 2286, 2215, 2511 ], "name": "BurnableToken", "nodeType": "ContractDefinition", "nodes": [ { "anonymous": false, "documentation": null, "id": 2226, "name": "Burn", "nodeType": "EventDefinition", "parameters": { "id": 2225, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2222, "indexed": true, "name": "burner", "nodeType": "VariableDeclaration", "scope": 2226, "src": "200:22:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2221, "name": "address", "nodeType": "ElementaryTypeName", "src": "200:7:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2224, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", "scope": 2226, "src": "224:13:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2223, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "224:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "199:39:32" }, "src": "189:50:32" }, { "body": { "id": 2237, "nodeType": "Block", "src": "390:36:32", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 2232, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4784, "src": "402:3:32", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 2233, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "402:10:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2234, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2228, "src": "414:6:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2231, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2285, "src": "396:5:32", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 2235, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "396:25:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2236, "nodeType": "ExpressionStatement", "src": "396:25:32" } ] }, "documentation": "@dev Burns a specific amount of tokens.\n@param _value The amount of token to be burned.", "id": 2238, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "burn", "nodeType": "FunctionDefinition", "parameters": { "id": 2229, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2228, "name": "_value", "nodeType": "VariableDeclaration", "scope": 2238, "src": "367:14:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2227, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "367:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "366:16:32" }, "payable": false, "returnParameters": { "id": 2230, "nodeType": "ParameterList", "parameters": [], "src": "390:0:32" }, "scope": 2286, "src": "353:73:32", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 2284, "nodeType": "Block", "src": "484:384:32", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2250, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2246, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2242, "src": "498:6:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2247, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2132, "src": "508:8:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 2249, "indexExpression": { "argumentTypes": null, "id": 2248, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2240, "src": "517:4:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "508:14:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "498:24:32", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 2245, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4787, 4788 ], "referencedDeclaration": 4787, "src": "490:7:32", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 2251, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "490:33:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2252, "nodeType": "ExpressionStatement", "src": "490:33:32" }, { "expression": { "argumentTypes": null, "id": 2262, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2253, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2132, "src": "701:8:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 2255, "indexExpression": { "argumentTypes": null, "id": 2254, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2240, "src": "710:4:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "701:14:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2260, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2242, "src": "737:6:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, "id": 2256, "name": "balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2132, "src": "718:8:32", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, "id": 2258, "indexExpression": { "argumentTypes": null, "id": 2257, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2240, "src": "727:4:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "718:14:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2259, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 511, "src": "718:18:32", "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": 2261, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "718:26:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "701:43:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2263, "nodeType": "ExpressionStatement", "src": "701:43:32" }, { "expression": { "argumentTypes": null, "id": 2269, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2264, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2134, "src": "750:12:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2267, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2242, "src": "782:6:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "expression": { "argumentTypes": null, "id": 2265, "name": "totalSupply_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2134, "src": "765:12:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2266, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 511, "src": "765:16:32", "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": 2268, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "765:24:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "750:39:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2270, "nodeType": "ExpressionStatement", "src": "750:39:32" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2272, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2240, "src": "805:4:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2273, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2242, "src": "811:6:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2271, "name": "Burn", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2226, "src": "800:4:32", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, "id": 2274, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "800:18:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2275, "nodeType": "EmitStatement", "src": "795:23:32" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2277, "name": "_who", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2240, "src": "838:4:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 2279, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "852:1:32", "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": 2278, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "844:7:32", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 2280, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "844:10:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 2281, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2242, "src": "856:6:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 2276, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2510, "src": "829:8:32", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, "id": 2282, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "829:34:32", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2283, "nodeType": "EmitStatement", "src": "824:39:32" } ] }, "documentation": null, "id": 2285, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "_burn", "nodeType": "FunctionDefinition", "parameters": { "id": 2243, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2240, "name": "_who", "nodeType": "VariableDeclaration", "scope": 2285, "src": "445:12:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2239, "name": "address", "nodeType": "ElementaryTypeName", "src": "445:7:32", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 2242, "name": "_value", "nodeType": "VariableDeclaration", "scope": 2285, "src": "459:14:32", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2241, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "459:7:32", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "444:30:32" }, "payable": false, "returnParameters": { "id": 2244, "nodeType": "ParameterList", "parameters": [], "src": "484:0:32" }, "scope": 2286, "src": "430:438:32", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], "scope": 2287, "src": "147:723:32" } ], "src": "0:871:32" }, "compiler": { "name": "solc", "version": "0.4.24+commit.e67f0147.Emscripten.clang" }, "networks": {}, "schemaVersion": "2.0.1", "updatedAt": "2018-08-23T14:35:50.635Z" }