cc-zos-vouching
Version:
Vouching logic for the EVM packages of the ZeppelinOS smart contract platform
1,534 lines (1,533 loc) • 57.4 kB
JSON
{
"contractName": "ERC20Detailed",
"abi": [
{
"constant": false,
"inputs": [
{
"name": "spender",
"type": "address"
},
{
"name": "value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "from",
"type": "address"
},
{
"name": "to",
"type": "address"
},
{
"name": "value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "who",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "to",
"type": "address"
},
{
"name": "value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "owner",
"type": "address"
},
{
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "from",
"type": "address"
},
{
"indexed": true,
"name": "to",
"type": "address"
},
{
"indexed": false,
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "owner",
"type": "address"
},
{
"indexed": true,
"name": "spender",
"type": "address"
},
{
"indexed": false,
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"constant": false,
"inputs": [
{
"name": "name",
"type": "string"
},
{
"name": "symbol",
"type": "string"
},
{
"name": "decimals",
"type": "uint8"
}
],
"name": "initialize",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "name",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "symbol",
"outputs": [
{
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "decimals",
"outputs": [
{
"name": "",
"type": "uint8"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"sourceMap": "",
"deployedSourceMap": "",
"source": "pragma solidity ^0.4.24;\n\nimport \"zos-lib/contracts/Initializable.sol\";\nimport \"./IERC20.sol\";\n\n\n/**\n * @title ERC20Detailed token\n * @dev The decimals are only for visualization purposes.\n * All the operations are done using the smallest and indivisible token unit,\n * just as on Ethereum all the operations are done in wei.\n */\ncontract ERC20Detailed is Initializable, IERC20 {\n string private _name;\n string private _symbol;\n uint8 private _decimals;\n\n function initialize(string name, string symbol, uint8 decimals) public initializer {\n _name = name;\n _symbol = symbol;\n _decimals = decimals;\n }\n\n /**\n * @return the name of the token.\n */\n function name() public view returns(string) {\n return _name;\n }\n\n /**\n * @return the symbol of the token.\n */\n function symbol() public view returns(string) {\n return _symbol;\n }\n\n /**\n * @return the number of decimals of the token.\n */\n function decimals() public view returns(uint8) {\n return _decimals;\n }\n\n uint256[50] private ______gap;\n}\n",
"sourcePath": "openzeppelin-eth/contracts/token/ERC20/ERC20Detailed.sol",
"ast": {
"absolutePath": "openzeppelin-eth/contracts/token/ERC20/ERC20Detailed.sol",
"exportedSymbols": {
"ERC20Detailed": [
1420
]
},
"id": 1421,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1355,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:8"
},
{
"absolutePath": "zos-lib/contracts/Initializable.sol",
"file": "zos-lib/contracts/Initializable.sol",
"id": 1356,
"nodeType": "ImportDirective",
"scope": 1421,
"sourceUnit": 1919,
"src": "26:45:8",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "openzeppelin-eth/contracts/token/ERC20/IERC20.sol",
"file": "./IERC20.sol",
"id": 1357,
"nodeType": "ImportDirective",
"scope": 1421,
"sourceUnit": 1613,
"src": "72:22:8",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 1358,
"name": "Initializable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1918,
"src": "356:13:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Initializable_$1918",
"typeString": "contract Initializable"
}
},
"id": 1359,
"nodeType": "InheritanceSpecifier",
"src": "356:13:8"
},
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 1360,
"name": "IERC20",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1612,
"src": "371:6:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$1612",
"typeString": "contract IERC20"
}
},
"id": 1361,
"nodeType": "InheritanceSpecifier",
"src": "371:6:8"
}
],
"contractDependencies": [
1612,
1918
],
"contractKind": "contract",
"documentation": "@title ERC20Detailed token\n@dev The decimals are only for visualization purposes.\nAll the operations are done using the smallest and indivisible token unit,\njust as on Ethereum all the operations are done in wei.",
"fullyImplemented": false,
"id": 1420,
"linearizedBaseContracts": [
1420,
1612,
1918
],
"name": "ERC20Detailed",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 1363,
"name": "_name",
"nodeType": "VariableDeclaration",
"scope": 1420,
"src": "382:20:8",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string"
},
"typeName": {
"id": 1362,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "382:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "private"
},
{
"constant": false,
"id": 1365,
"name": "_symbol",
"nodeType": "VariableDeclaration",
"scope": 1420,
"src": "406:22:8",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string"
},
"typeName": {
"id": 1364,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "406:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "private"
},
{
"constant": false,
"id": 1367,
"name": "_decimals",
"nodeType": "VariableDeclaration",
"scope": 1420,
"src": "432:23:8",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 1366,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "432:5:8",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "private"
},
{
"body": {
"id": 1390,
"nodeType": "Block",
"src": "543:71:8",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 1380,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 1378,
"name": "_name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1363,
"src": "549:5:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 1379,
"name": "name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1369,
"src": "557:4:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "549:12:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"id": 1381,
"nodeType": "ExpressionStatement",
"src": "549:12:8"
},
{
"expression": {
"argumentTypes": null,
"id": 1384,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 1382,
"name": "_symbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1365,
"src": "567:7:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 1383,
"name": "symbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1371,
"src": "577:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "567:16:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"id": 1385,
"nodeType": "ExpressionStatement",
"src": "567:16:8"
},
{
"expression": {
"argumentTypes": null,
"id": 1388,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 1386,
"name": "_decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1367,
"src": "589:9:8",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 1387,
"name": "decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1373,
"src": "601:8:8",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"src": "589:20:8",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"id": 1389,
"nodeType": "ExpressionStatement",
"src": "589:20:8"
}
]
},
"documentation": null,
"id": 1391,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
"id": 1376,
"modifierName": {
"argumentTypes": null,
"id": 1375,
"name": "initializer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1899,
"src": "531:11:8",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "531:11:8"
}
],
"name": "initialize",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1374,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1369,
"name": "name",
"nodeType": "VariableDeclaration",
"scope": 1391,
"src": "480:11:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 1368,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "480:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 1371,
"name": "symbol",
"nodeType": "VariableDeclaration",
"scope": 1391,
"src": "493:13:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 1370,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "493:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 1373,
"name": "decimals",
"nodeType": "VariableDeclaration",
"scope": 1391,
"src": "508:14:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 1372,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "508:5:8",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "479:44:8"
},
"payable": false,
"returnParameters": {
"id": 1377,
"nodeType": "ParameterList",
"parameters": [],
"src": "543:0:8"
},
"scope": 1420,
"src": "460:154:8",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 1398,
"nodeType": "Block",
"src": "710:23:8",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 1396,
"name": "_name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1363,
"src": "723:5:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"functionReturnParameters": 1395,
"id": 1397,
"nodeType": "Return",
"src": "716:12:8"
}
]
},
"documentation": "@return the name of the token.",
"id": 1399,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "name",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1392,
"nodeType": "ParameterList",
"parameters": [],
"src": "679:2:8"
},
"payable": false,
"returnParameters": {
"id": 1395,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1394,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1399,
"src": "702:6:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 1393,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "702:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "701:8:8"
},
"scope": 1420,
"src": "666:67:8",
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 1406,
"nodeType": "Block",
"src": "833:25:8",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 1404,
"name": "_symbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1365,
"src": "846:7:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"functionReturnParameters": 1403,
"id": 1405,
"nodeType": "Return",
"src": "839:14:8"
}
]
},
"documentation": "@return the symbol of the token.",
"id": 1407,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "symbol",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1400,
"nodeType": "ParameterList",
"parameters": [],
"src": "802:2:8"
},
"payable": false,
"returnParameters": {
"id": 1403,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1402,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1407,
"src": "825:6:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 1401,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "825:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "824:8:8"
},
"scope": 1420,
"src": "787:71:8",
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 1414,
"nodeType": "Block",
"src": "971:27:8",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 1412,
"name": "_decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1367,
"src": "984:9:8",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"functionReturnParameters": 1411,
"id": 1413,
"nodeType": "Return",
"src": "977:16:8"
}
]
},
"documentation": "@return the number of decimals of the token.",
"id": 1415,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "decimals",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1408,
"nodeType": "ParameterList",
"parameters": [],
"src": "941:2:8"
},
"payable": false,
"returnParameters": {
"id": 1411,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1410,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1415,
"src": "964:5:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 1409,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "964:5:8",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "963:7:8"
},
"scope": 1420,
"src": "924:74:8",
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
},
{
"constant": false,
"id": 1419,
"name": "______gap",
"nodeType": "VariableDeclaration",
"scope": 1420,
"src": "1002:29:8",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$50_storage",
"typeString": "uint256[50]"
},
"typeName": {
"baseType": {
"id": 1416,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1002:7:8",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 1418,
"length": {
"argumentTypes": null,
"hexValue": "3530",
"id": 1417,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1010:2:8",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
},
"value": "50"
},
"nodeType": "ArrayTypeName",
"src": "1002:11:8",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$50_storage_ptr",
"typeString": "uint256[50]"
}
},
"value": null,
"visibility": "private"
}
],
"scope": 1421,
"src": "330:704:8"
}
],
"src": "0:1035:8"
},
"legacyAST": {
"absolutePath": "openzeppelin-eth/contracts/token/ERC20/ERC20Detailed.sol",
"exportedSymbols": {
"ERC20Detailed": [
1420
]
},
"id": 1421,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1355,
"literals": [
"solidity",
"^",
"0.4",
".24"
],
"nodeType": "PragmaDirective",
"src": "0:24:8"
},
{
"absolutePath": "zos-lib/contracts/Initializable.sol",
"file": "zos-lib/contracts/Initializable.sol",
"id": 1356,
"nodeType": "ImportDirective",
"scope": 1421,
"sourceUnit": 1919,
"src": "26:45:8",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "openzeppelin-eth/contracts/token/ERC20/IERC20.sol",
"file": "./IERC20.sol",
"id": 1357,
"nodeType": "ImportDirective",
"scope": 1421,
"sourceUnit": 1613,
"src": "72:22:8",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 1358,
"name": "Initializable",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1918,
"src": "356:13:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Initializable_$1918",
"typeString": "contract Initializable"
}
},
"id": 1359,
"nodeType": "InheritanceSpecifier",
"src": "356:13:8"
},
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 1360,
"name": "IERC20",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1612,
"src": "371:6:8",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$1612",
"typeString": "contract IERC20"
}
},
"id": 1361,
"nodeType": "InheritanceSpecifier",
"src": "371:6:8"
}
],
"contractDependencies": [
1612,
1918
],
"contractKind": "contract",
"documentation": "@title ERC20Detailed token\n@dev The decimals are only for visualization purposes.\nAll the operations are done using the smallest and indivisible token unit,\njust as on Ethereum all the operations are done in wei.",
"fullyImplemented": false,
"id": 1420,
"linearizedBaseContracts": [
1420,
1612,
1918
],
"name": "ERC20Detailed",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 1363,
"name": "_name",
"nodeType": "VariableDeclaration",
"scope": 1420,
"src": "382:20:8",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string"
},
"typeName": {
"id": 1362,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "382:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "private"
},
{
"constant": false,
"id": 1365,
"name": "_symbol",
"nodeType": "VariableDeclaration",
"scope": 1420,
"src": "406:22:8",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string"
},
"typeName": {
"id": 1364,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "406:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "private"
},
{
"constant": false,
"id": 1367,
"name": "_decimals",
"nodeType": "VariableDeclaration",
"scope": 1420,
"src": "432:23:8",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 1366,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "432:5:8",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "private"
},
{
"body": {
"id": 1390,
"nodeType": "Block",
"src": "543:71:8",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 1380,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 1378,
"name": "_name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1363,
"src": "549:5:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 1379,
"name": "name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1369,
"src": "557:4:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "549:12:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"id": 1381,
"nodeType": "ExpressionStatement",
"src": "549:12:8"
},
{
"expression": {
"argumentTypes": null,
"id": 1384,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 1382,
"name": "_symbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1365,
"src": "567:7:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 1383,
"name": "symbol",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1371,
"src": "577:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "567:16:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"id": 1385,
"nodeType": "ExpressionStatement",
"src": "567:16:8"
},
{
"expression": {
"argumentTypes": null,
"id": 1388,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 1386,
"name": "_decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1367,
"src": "589:9:8",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 1387,
"name": "decimals",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1373,
"src": "601:8:8",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"src": "589:20:8",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"id": 1389,
"nodeType": "ExpressionStatement",
"src": "589:20:8"
}
]
},
"documentation": null,
"id": 1391,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": false,
"modifiers": [
{
"arguments": null,
"id": 1376,
"modifierName": {
"argumentTypes": null,
"id": 1375,
"name": "initializer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1899,
"src": "531:11:8",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "531:11:8"
}
],
"name": "initialize",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1374,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1369,
"name": "name",
"nodeType": "VariableDeclaration",
"scope": 1391,
"src": "480:11:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 1368,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "480:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 1371,
"name": "symbol",
"nodeType": "VariableDeclaration",
"scope": 1391,
"src": "493:13:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 1370,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "493:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 1373,
"name": "decimals",
"nodeType": "VariableDeclaration",
"scope": 1391,
"src": "508:14:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 1372,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "508:5:8",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "479:44:8"
},
"payable": false,
"returnParameters": {
"id": 1377,
"nodeType": "ParameterList",
"parameters": [],
"src": "543:0:8"
},
"scope": 1420,
"src": "460:154:8",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 1398,
"nodeType": "Block",
"src": "710:23:8",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 1396,
"name": "_name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1363,
"src": "723:5:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"functionReturnParameters": 1395,
"id": 1397,
"nodeType": "Return",
"src": "716:12:8"
}
]
},
"documentation": "@return the name of the token.",
"id": 1399,
"implemented": true,
"isConstructor": false,
"isDeclaredConst": true,
"modifiers": [],
"name": "name",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1392,
"nodeType": "ParameterList",
"parameters": [],
"src": "679:2:8"
},
"payable": false,
"returnParameters": {
"id": 1395,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1394,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1399,
"src": "702:6:8",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 1393,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "702:6:8",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "701:8:8"
},
"scope": 1420,
"src": "666:67:8",
"stateMutability": "view",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 1406,
"nodeType": "Block",
"src": "833:25:8",
"statements": [