UNPKG

tokenboost-solidity

Version:
1,519 lines 86.4 kB
{ "contractName": "SaleStrategy", "abi": [ { "constant": true, "inputs": [ { "name": "_interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "activated", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "InterfaceId_ERC165", "outputs": [ { "name": "", "type": "bytes4" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "InterfaceId_Strategy", "outputs": [ { "name": "", "type": "bytes4" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "sale", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "template", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "renounceOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "InterfaceId_SaleStrategy", "outputs": [ { "name": "", "type": "bytes4" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "InterfaceId_Contract", "outputs": [ { "name": "", "type": "bytes4" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "inputs": [ { "name": "_owner", "type": "address" }, { "name": "_sale", "type": "address" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "previousOwner", "type": "address" } ], "name": "OwnershipRenounced", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "previousOwner", "type": "address" }, { "indexed": true, "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "constant": false, "inputs": [], "name": "activate", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "deactivate", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "started", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "successful", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "finished", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" } ], "bytecode": "0x", "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", "source": "pragma solidity ^0.4.24;\n\nimport \"../Strategy.sol\";\nimport \"../../sale/Sale.sol\";\n\ncontract SaleStrategy is Strategy {\n /**\n * @notice this.owner.selector ^ this.renounceOwnership.selector ^ this.transferOwnership.selector\n ^ this.template.selector ^ this.activate.selector ^ this.deactivate.selector\n ^ this.started.selector ^ this.successful.selector ^ this.finished.selector\n */\n bytes4 public constant InterfaceId_SaleStrategy = 0x04c8123d;\n\n Sale public sale;\n\n constructor(address _owner, Sale _sale) public Strategy(_owner) {\n sale = _sale;\n\n _registerInterface(InterfaceId_SaleStrategy);\n }\n\n modifier whenSaleActivated {\n require(sale.activated());\n _;\n }\n\n modifier whenSaleNotActivated {\n require(!sale.activated());\n _;\n }\n\n function activate() whenSaleNotActivated public returns (bool) {\n return super.activate();\n }\n\n function deactivate() onlyOwner whenSaleNotActivated public returns (bool) {\n activated = false;\n return true;\n }\n\n function started() public view returns (bool);\n\n function successful() public view returns (bool);\n\n function finished() public view returns (bool);\n}\n", "sourcePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity/contracts/strategy/sale/SaleStrategy.sol", "ast": { "absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity/contracts/strategy/sale/SaleStrategy.sol", "exportedSymbols": { "SaleStrategy": [ 1484 ] }, "id": 1485, "nodeType": "SourceUnit", "nodes": [ { "id": 1391, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:6" }, { "absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity/contracts/strategy/Strategy.sol", "file": "../Strategy.sol", "id": 1392, "nodeType": "ImportDirective", "scope": 1485, "sourceUnit": 1390, "src": "26:25:6", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity/contracts/sale/Sale.sol", "file": "../../sale/Sale.sol", "id": 1393, "nodeType": "ImportDirective", "scope": 1485, "sourceUnit": 1353, "src": "52:29:6", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 1394, "name": "Strategy", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1389, "src": "108:8:6", "typeDescriptions": { "typeIdentifier": "t_contract$_Strategy_$1389", "typeString": "contract Strategy" } }, "id": 1395, "nodeType": "InheritanceSpecifier", "src": "108:8:6" } ], "contractDependencies": [ 33, 89, 1389, 4653, 4704, 4884 ], "contractKind": "contract", "documentation": null, "fullyImplemented": false, "id": 1484, "linearizedBaseContracts": [ 1484, 1389, 33, 89, 4704, 4653, 4884 ], "name": "SaleStrategy", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, "id": 1398, "name": "InterfaceId_SaleStrategy", "nodeType": "VariableDeclaration", "scope": 1484, "src": "411:60:6", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 1396, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "411:6:6", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "value": { "argumentTypes": null, "hexValue": "30783034633831323364", "id": 1397, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "461:10:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_80220733_by_1", "typeString": "int_const 80220733" }, "value": "0x04c8123d" }, "visibility": "public" }, { "constant": false, "id": 1400, "name": "sale", "nodeType": "VariableDeclaration", "scope": 1484, "src": "478:16:6", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_Sale_$1352", "typeString": "contract Sale" }, "typeName": { "contractScope": null, "id": 1399, "name": "Sale", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1352, "src": "478:4:6", "typeDescriptions": { "typeIdentifier": "t_contract$_Sale_$1352", "typeString": "contract Sale" } }, "value": null, "visibility": "public" }, { "body": { "id": 1418, "nodeType": "Block", "src": "565:84:6", "statements": [ { "expression": { "argumentTypes": null, "id": 1412, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1410, "name": "sale", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1400, "src": "575:4:6", "typeDescriptions": { "typeIdentifier": "t_contract$_Sale_$1352", "typeString": "contract Sale" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 1411, "name": "_sale", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1404, "src": "582:5:6", "typeDescriptions": { "typeIdentifier": "t_contract$_Sale_$1352", "typeString": "contract Sale" } }, "src": "575:12:6", "typeDescriptions": { "typeIdentifier": "t_contract$_Sale_$1352", "typeString": "contract Sale" } }, "id": 1413, "nodeType": "ExpressionStatement", "src": "575:12:6" }, { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 1415, "name": "InterfaceId_SaleStrategy", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1398, "src": "617:24:6", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } ], "id": 1414, "name": "_registerInterface", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4703, "src": "598:18:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", "typeString": "function (bytes4)" } }, "id": 1416, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "598:44:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1417, "nodeType": "ExpressionStatement", "src": "598:44:6" } ] }, "documentation": null, "id": 1419, "implemented": true, "isConstructor": true, "isDeclaredConst": false, "modifiers": [ { "arguments": [ { "argumentTypes": null, "id": 1407, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1402, "src": "557:6:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "id": 1408, "modifierName": { "argumentTypes": null, "id": 1406, "name": "Strategy", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1389, "src": "548:8:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Strategy_$1389_$", "typeString": "type(contract Strategy)" } }, "nodeType": "ModifierInvocation", "src": "548:16:6" } ], "name": "", "nodeType": "FunctionDefinition", "parameters": { "id": 1405, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1402, "name": "_owner", "nodeType": "VariableDeclaration", "scope": 1419, "src": "513:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1401, "name": "address", "nodeType": "ElementaryTypeName", "src": "513:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1404, "name": "_sale", "nodeType": "VariableDeclaration", "scope": 1419, "src": "529:10:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_Sale_$1352", "typeString": "contract Sale" }, "typeName": { "contractScope": null, "id": 1403, "name": "Sale", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1352, "src": "529:4:6", "typeDescriptions": { "typeIdentifier": "t_contract$_Sale_$1352", "typeString": "contract Sale" } }, "value": null, "visibility": "internal" } ], "src": "512:28:6" }, "payable": false, "returnParameters": { "id": 1409, "nodeType": "ParameterList", "parameters": [], "src": "565:0:6" }, "scope": 1484, "src": "501:148:6", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 1428, "nodeType": "Block", "src": "682:53:6", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 1422, "name": "sale", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1400, "src": "700:4:6", "typeDescriptions": { "typeIdentifier": "t_contract$_Sale_$1352", "typeString": "contract Sale" } }, "id": 1423, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "activated", "nodeType": "MemberAccess", "referencedDeclaration": 3, "src": "700:14:6", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", "typeString": "function () view external returns (bool)" } }, "id": 1424, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "700:16:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 1421, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6576, 6577 ], "referencedDeclaration": 6576, "src": "692:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 1425, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "692:25:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1426, "nodeType": "ExpressionStatement", "src": "692:25:6" }, { "id": 1427, "nodeType": "PlaceholderStatement", "src": "727:1:6" } ] }, "documentation": null, "id": 1429, "name": "whenSaleActivated", "nodeType": "ModifierDefinition", "parameters": { "id": 1420, "nodeType": "ParameterList", "parameters": [], "src": "682:0:6" }, "src": "655:80:6", "visibility": "internal" }, { "body": { "id": 1439, "nodeType": "Block", "src": "771:54:6", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 1435, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "789:17:6", "subExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 1432, "name": "sale", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1400, "src": "790:4:6", "typeDescriptions": { "typeIdentifier": "t_contract$_Sale_$1352", "typeString": "contract Sale" } }, "id": 1433, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "activated", "nodeType": "MemberAccess", "referencedDeclaration": 3, "src": "790:14:6", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", "typeString": "function () view external returns (bool)" } }, "id": 1434, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "790:16:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 1431, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 6576, 6577 ], "referencedDeclaration": 6576, "src": "781:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 1436, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "781:26:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1437, "nodeType": "ExpressionStatement", "src": "781:26:6" }, { "id": 1438, "nodeType": "PlaceholderStatement", "src": "817:1:6" } ] }, "documentation": null, "id": 1440, "name": "whenSaleNotActivated", "nodeType": "ModifierDefinition", "parameters": { "id": 1430, "nodeType": "ParameterList", "parameters": [], "src": "771:0:6" }, "src": "741:84:6", "visibility": "internal" }, { "body": { "id": 1451, "nodeType": "Block", "src": "894:40:6", "statements": [ { "expression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "expression": { "argumentTypes": null, "id": 1447, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6635, "src": "911:5:6", "typeDescriptions": { "typeIdentifier": "t_super$_SaleStrategy_$1484", "typeString": "contract super SaleStrategy" } }, "id": 1448, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "activate", "nodeType": "MemberAccess", "referencedDeclaration": 1388, "src": "911:14:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bool_$", "typeString": "function () returns (bool)" } }, "id": 1449, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "911:16:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 1446, "id": 1450, "nodeType": "Return", "src": "904:23:6" } ] }, "documentation": null, "id": 1452, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 1443, "modifierName": { "argumentTypes": null, "id": 1442, "name": "whenSaleNotActivated", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1440, "src": "851:20:6", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "851:20:6" } ], "name": "activate", "nodeType": "FunctionDefinition", "parameters": { "id": 1441, "nodeType": "ParameterList", "parameters": [], "src": "848:2:6" }, "payable": false, "returnParameters": { "id": 1446, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1445, "name": "", "nodeType": "VariableDeclaration", "scope": 1452, "src": "888:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 1444, "name": "bool", "nodeType": "ElementaryTypeName", "src": "888:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "887:6:6" }, "scope": 1484, "src": "831:103:6", "stateMutability": "nonpayable", "superFunction": 1388, "visibility": "public" }, { "body": { "id": 1467, "nodeType": "Block", "src": "1015:55:6", "statements": [ { "expression": { "argumentTypes": null, "id": 1463, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1461, "name": "activated", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3, "src": "1025:9:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", "id": 1462, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "1037:5:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, "src": "1025:17:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1464, "nodeType": "ExpressionStatement", "src": "1025:17:6" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", "id": 1465, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "1059:4:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "functionReturnParameters": 1460, "id": 1466, "nodeType": "Return", "src": "1052:11:6" } ] }, "documentation": null, "id": 1468, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 1455, "modifierName": { "argumentTypes": null, "id": 1454, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4832, "src": "962:9:6", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "962:9:6" }, { "arguments": null, "id": 1457, "modifierName": { "argumentTypes": null, "id": 1456, "name": "whenSaleNotActivated", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1440, "src": "972:20:6", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "972:20:6" } ], "name": "deactivate", "nodeType": "FunctionDefinition", "parameters": { "id": 1453, "nodeType": "ParameterList", "parameters": [], "src": "959:2:6" }, "payable": false, "returnParameters": { "id": 1460, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1459, "name": "", "nodeType": "VariableDeclaration", "scope": 1468, "src": "1009:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 1458, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1009:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "1008:6:6" }, "scope": 1484, "src": "940:130:6", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": null, "documentation": null, "id": 1473, "implemented": false, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "started", "nodeType": "FunctionDefinition", "parameters": { "id": 1469, "nodeType": "ParameterList", "parameters": [], "src": "1092:2:6" }, "payable": false, "returnParameters": { "id": 1472, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1471, "name": "", "nodeType": "VariableDeclaration", "scope": 1473, "src": "1116:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 1470, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1116:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "1115:6:6" }, "scope": 1484, "src": "1076:46:6", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": null, "documentation": null, "id": 1478, "implemented": false, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "successful", "nodeType": "FunctionDefinition", "parameters": { "id": 1474, "nodeType": "ParameterList", "parameters": [], "src": "1147:2:6" }, "payable": false, "returnParameters": { "id": 1477, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1476, "name": "", "nodeType": "VariableDeclaration", "scope": 1478, "src": "1171:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 1475, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1171:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "1170:6:6" }, "scope": 1484, "src": "1128:49:6", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": null, "documentation": null, "id": 1483, "implemented": false, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "finished", "nodeType": "FunctionDefinition", "parameters": { "id": 1479, "nodeType": "ParameterList", "parameters": [], "src": "1200:2:6" }, "payable": false, "returnParameters": { "id": 1482, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1481, "name": "", "nodeType": "VariableDeclaration", "scope": 1483, "src": "1224:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 1480, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1224:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "1223:6:6" }, "scope": 1484, "src": "1183:47:6", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], "scope": 1485, "src": "83:1149:6" } ], "src": "0:1233:6" }, "legacyAST": { "absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity/contracts/strategy/sale/SaleStrategy.sol", "exportedSymbols": { "SaleStrategy": [ 1484 ] }, "id": 1485, "nodeType": "SourceUnit", "nodes": [ { "id": 1391, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:6" }, { "absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity/contracts/strategy/Strategy.sol", "file": "../Strategy.sol", "id": 1392, "nodeType": "ImportDirective", "scope": 1485, "sourceUnit": 1390, "src": "26:25:6", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/Users/yoonjae/SolidityProjects/tokenboost-solidity/contracts/sale/Sale.sol", "file": "../../sale/Sale.sol", "id": 1393, "nodeType": "ImportDirective", "scope": 1485, "sourceUnit": 1353, "src": "52:29:6", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 1394, "name": "Strategy", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1389, "src": "108:8:6", "typeDescriptions": { "typeIdentifier": "t_contract$_Strategy_$1389", "typeString": "contract Strategy" } }, "id": 1395, "nodeType": "InheritanceSpecifier", "src": "108:8:6" } ], "contractDependencies": [ 33, 89, 1389, 4653, 4704, 4884 ], "contractKind": "contract", "documentation": null, "fullyImplemented": false, "id": 1484, "linearizedBaseContracts": [ 1484, 1389, 33, 89, 4704, 4653, 4884 ], "name": "SaleStrategy", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, "id": 1398, "name": "InterfaceId_SaleStrategy", "nodeType": "VariableDeclaration", "scope": 1484, "src": "411:60:6", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 1396, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "411:6:6", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "value": { "argumentTypes": null, "hexValue": "30783034633831323364", "id": 1397, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "461:10:6", "subdenomination": null, "typeDescriptions": { "type