UNPKG

@rsksmart/rif-marketplace-storage

Version:
1,170 lines 82.6 kB
{ "contractName": "Initializable", "abi": [], "metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Helper contract to support initializer functions. To use it, replace the constructor with a function that has the `initializer` modifier. WARNING: Unlike constructors, initializer functions must be manually invoked. This applies both to deploying an Initializable contract, as well as extending an Initializable contract via inheritance. WARNING: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or ensure that all initializers are idempotent, because this is not dealt with automatically as with constructors.\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"initialized\":{\"details\":\"Indicates that the contract has been initialized.\"},\"initializing\":{\"details\":\"Indicates that the contract is in the process of being initialized.\"}},\"title\":\"Initializable\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-ethereum-package/contracts/Initializable.sol\":\"Initializable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-ethereum-package/contracts/Initializable.sol\":{\"keccak256\":\"0x9bfec92e36234ecc99b5d37230acb6cd1f99560233753162204104a4897e8721\",\"urls\":[\"bzz-raw://5cf7c208583d4d046d75bd99f5507412ab01cce9dd9f802ce9768a416d93ea2f\",\"dweb:/ipfs/QmcQS1BBMPpVEkXP3qzwSjxHNrqDek8YeR7xbVWDC9ApC7\"]}},\"version\":1}", "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220daf0868b97284bbb43035033992e5d811748f9110379570d95ba8262c2d7363864736f6c634300060c0033", "deployedBytecode": "0x6080604052600080fdfea2646970667358221220daf0868b97284bbb43035033992e5d811748f9110379570d95ba8262c2d7363864736f6c634300060c0033", "immutableReferences": {}, "sourceMap": "657:1357:7:-:0;;;;;;;;;;;;;;;;;;;", "deployedSourceMap": "657:1357:7:-:0;;;;;", "source": "pragma solidity >=0.4.24 <0.7.0;\n\n\n/**\n * @title Initializable\n *\n * @dev Helper contract to support initializer functions. To use it, replace\n * the constructor with a function that has the `initializer` modifier.\n * WARNING: Unlike constructors, initializer functions must be manually\n * invoked. This applies both to deploying an Initializable contract, as well\n * as extending an Initializable contract via inheritance.\n * WARNING: When used with inheritance, manual care must be taken to not invoke\n * a parent initializer twice, or ensure that all initializers are idempotent,\n * because this is not dealt with automatically as with constructors.\n */\ncontract Initializable {\n\n /**\n * @dev Indicates that the contract has been initialized.\n */\n bool private initialized;\n\n /**\n * @dev Indicates that the contract is in the process of being initialized.\n */\n bool private initializing;\n\n /**\n * @dev Modifier to use in the initializer function of a contract.\n */\n modifier initializer() {\n require(initializing || isConstructor() || !initialized, \"Contract instance has already been initialized\");\n\n bool isTopLevelCall = !initializing;\n if (isTopLevelCall) {\n initializing = true;\n initialized = true;\n }\n\n _;\n\n if (isTopLevelCall) {\n initializing = false;\n }\n }\n\n /// @dev Returns true if and only if the function is running in the constructor\n function isConstructor() private view returns (bool) {\n // extcodesize checks the size of the code stored in an address, and\n // address returns the current address. Since the code is still not\n // deployed when running a constructor, any checks on its code size will\n // yield zero, making it an effective way to detect if a contract is\n // under construction or not.\n address self = address(this);\n uint256 cs;\n assembly { cs := extcodesize(self) }\n return cs == 0;\n }\n\n // Reserved storage space to allow for layout changes in the future.\n uint256[50] private ______gap;\n}\n", "sourcePath": "@openzeppelin/contracts-ethereum-package/contracts/Initializable.sol", "ast": { "absolutePath": "@openzeppelin/contracts-ethereum-package/contracts/Initializable.sol", "exportedSymbols": { "Initializable": [ 2183 ] }, "id": 2184, "license": null, "nodeType": "SourceUnit", "nodes": [ { "id": 2110, "literals": [ "solidity", ">=", "0.4", ".24", "<", "0.7", ".0" ], "nodeType": "PragmaDirective", "src": "0:32:7" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": { "id": 2111, "nodeType": "StructuredDocumentation", "src": "35:621:7", "text": " @title Initializable\n @dev Helper contract to support initializer functions. To use it, replace\n the constructor with a function that has the `initializer` modifier.\n WARNING: Unlike constructors, initializer functions must be manually\n invoked. This applies both to deploying an Initializable contract, as well\n as extending an Initializable contract via inheritance.\n WARNING: When used with inheritance, manual care must be taken to not invoke\n a parent initializer twice, or ensure that all initializers are idempotent,\n because this is not dealt with automatically as with constructors." }, "fullyImplemented": true, "id": 2183, "linearizedBaseContracts": [ 2183 ], "name": "Initializable", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "documentation": { "id": 2112, "nodeType": "StructuredDocumentation", "src": "685:69:7", "text": " @dev Indicates that the contract has been initialized." }, "id": 2114, "mutability": "mutable", "name": "initialized", "nodeType": "VariableDeclaration", "overrides": null, "scope": 2183, "src": "757:24:7", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 2113, "name": "bool", "nodeType": "ElementaryTypeName", "src": "757:4:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "private" }, { "constant": false, "documentation": { "id": 2115, "nodeType": "StructuredDocumentation", "src": "786:87:7", "text": " @dev Indicates that the contract is in the process of being initialized." }, "id": 2117, "mutability": "mutable", "name": "initializing", "nodeType": "VariableDeclaration", "overrides": null, "scope": 2183, "src": "876:25:7", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 2116, "name": "bool", "nodeType": "ElementaryTypeName", "src": "876:4:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "private" }, { "body": { "id": 2155, "nodeType": "Block", "src": "1010:313:7", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2127, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2124, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2121, "name": "initializing", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2117, "src": "1024:12:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "id": 2122, "name": "isConstructor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2178, "src": "1040:13:7", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, "id": 2123, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1040:15:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "1024:31:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "id": 2126, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "1059:12:7", "subExpression": { "argumentTypes": null, "id": 2125, "name": "initialized", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2114, "src": "1060:11:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "1024:47:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564", "id": 2128, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1073:48:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9fbba6c4dcac9134893b633b9564f36435b3f927c1d5fa152c5c14b20cecb1a4", "typeString": "literal_string \"Contract instance has already been initialized\"" }, "value": "Contract instance has already been initialized" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_9fbba6c4dcac9134893b633b9564f36435b3f927c1d5fa152c5c14b20cecb1a4", "typeString": "literal_string \"Contract instance has already been initialized\"" } ], "id": 2120, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "1016:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2129, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1016:106:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2130, "nodeType": "ExpressionStatement", "src": "1016:106:7" }, { "assignments": [ 2132 ], "declarations": [ { "constant": false, "id": 2132, "mutability": "mutable", "name": "isTopLevelCall", "nodeType": "VariableDeclaration", "overrides": null, "scope": 2155, "src": "1129:19:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 2131, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1129:4:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "id": 2135, "initialValue": { "argumentTypes": null, "id": 2134, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "1151:13:7", "subExpression": { "argumentTypes": null, "id": 2133, "name": "initializing", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2117, "src": "1152:12:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", "src": "1129:35:7" }, { "condition": { "argumentTypes": null, "id": 2136, "name": "isTopLevelCall", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2132, "src": "1174:14:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2146, "nodeType": "IfStatement", "src": "1170:80:7", "trueBody": { "id": 2145, "nodeType": "Block", "src": "1190:60:7", "statements": [ { "expression": { "argumentTypes": null, "id": 2139, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2137, "name": "initializing", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2117, "src": "1198:12:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", "id": 2138, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "1213:4:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "1198:19:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 2140, "nodeType": "ExpressionStatement", "src": "1198:19:7" }, { "expression": { "argumentTypes": null, "id": 2143, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2141, "name": "initialized", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2114, "src": "1225:11:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", "id": 2142, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "1239:4:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "1225:18:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 2144, "nodeType": "ExpressionStatement", "src": "1225:18:7" } ] } }, { "id": 2147, "nodeType": "PlaceholderStatement", "src": "1256:1:7" }, { "condition": { "argumentTypes": null, "id": 2148, "name": "isTopLevelCall", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2132, "src": "1268:14:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, "id": 2154, "nodeType": "IfStatement", "src": "1264:55:7", "trueBody": { "id": 2153, "nodeType": "Block", "src": "1284:35:7", "statements": [ { "expression": { "argumentTypes": null, "id": 2151, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 2149, "name": "initializing", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2117, "src": "1292:12:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", "id": 2150, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "1307:5:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, "src": "1292:20:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 2152, "nodeType": "ExpressionStatement", "src": "1292:20:7" } ] } } ] }, "documentation": { "id": 2118, "nodeType": "StructuredDocumentation", "src": "906:78:7", "text": " @dev Modifier to use in the initializer function of a contract." }, "id": 2156, "name": "initializer", "nodeType": "ModifierDefinition", "overrides": null, "parameters": { "id": 2119, "nodeType": "ParameterList", "parameters": [], "src": "1007:2:7" }, "src": "987:336:7", "virtual": false, "visibility": "internal" }, { "body": { "id": 2177, "nodeType": "Block", "src": "1462:445:7", "statements": [ { "assignments": [ 2163 ], "declarations": [ { "constant": false, "id": 2163, "mutability": "mutable", "name": "self", "nodeType": "VariableDeclaration", "overrides": null, "scope": 2177, "src": "1797:12:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2162, "name": "address", "nodeType": "ElementaryTypeName", "src": "1797:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "id": 2168, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 2166, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "1820:4:7", "typeDescriptions": { "typeIdentifier": "t_contract$_Initializable_$2183", "typeString": "contract Initializable" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_contract$_Initializable_$2183", "typeString": "contract Initializable" } ], "id": 2165, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1812:7:7", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 2164, "name": "address", "nodeType": "ElementaryTypeName", "src": "1812:7:7", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, "id": 2167, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1812:13:7", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", "src": "1797:28:7" }, { "assignments": [ 2170 ], "declarations": [ { "constant": false, "id": 2170, "mutability": "mutable", "name": "cs", "nodeType": "VariableDeclaration", "overrides": null, "scope": 2177, "src": "1831:10:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2169, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1831:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "id": 2171, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "1831:10:7" }, { "AST": { "nodeType": "YulBlock", "src": "1856:27:7", "statements": [ { "nodeType": "YulAssignment", "src": "1858:23:7", "value": { "arguments": [ { "name": "self", "nodeType": "YulIdentifier", "src": "1876:4:7" } ], "functionName": { "name": "extcodesize", "nodeType": "YulIdentifier", "src": "1864:11:7" }, "nodeType": "YulFunctionCall", "src": "1864:17:7" }, "variableNames": [ { "name": "cs", "nodeType": "YulIdentifier", "src": "1858:2:7" } ] } ] }, "evmVersion": "istanbul", "externalReferences": [ { "declaration": 2170, "isOffset": false, "isSlot": false, "src": "1858:2:7", "valueSize": 1 }, { "declaration": 2163, "isOffset": false, "isSlot": false, "src": "1876:4:7", "valueSize": 1 } ], "id": 2172, "nodeType": "InlineAssembly", "src": "1847:36:7" }, { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2175, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2173, "name": "cs", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2170, "src": "1895:2:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "hexValue": "30", "id": 2174, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1901:1:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "1895:7:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 2161, "id": 2176, "nodeType": "Return", "src": "1888:14:7" } ] }, "documentation": { "id": 2157, "nodeType": "StructuredDocumentation", "src": "1327:79:7", "text": "@dev Returns true if and only if the function is running in the constructor" }, "id": 2178, "implemented": true, "kind": "function", "modifiers": [], "name": "isConstructor", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 2158, "nodeType": "ParameterList", "parameters": [], "src": "1431:2:7" }, "returnParameters": { "id": 2161, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2160, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 2178, "src": "1456:4:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 2159, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1456:4:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "1455:6:7" }, "scope": 2183, "src": "1409:498:7", "stateMutability": "view", "virtual": false, "visibility": "private" }, { "constant": false, "id": 2182, "mutability": "mutable", "name": "______gap", "nodeType": "VariableDeclaration", "overrides": null, "scope": 2183, "src": "1982:29:7", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$50_storage", "typeString": "uint256[50]" }, "typeName": { "baseType": { "id": 2179, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1982:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2181, "length": { "argumentTypes": null, "hexValue": "3530", "id": 2180, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1990:2:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_50_by_1", "typeString": "int_const 50" }, "value": "50" }, "nodeType": "ArrayTypeName", "src": "1982:11:7", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$50_storage_ptr", "typeString": "uint256[50]" } }, "value": null, "visibility": "private" } ], "scope": 2184, "src": "657:1357:7" } ], "src": "0:2015:7" }, "legacyAST": { "absolutePath": "@openzeppelin/contracts-ethereum-package/contracts/Initializable.sol", "exportedSymbols": { "Initializable": [ 2183 ] }, "id": 2184, "license": null, "nodeType": "SourceUnit", "nodes": [ { "id": 2110, "literals": [ "solidity", ">=", "0.4", ".24", "<", "0.7", ".0" ], "nodeType": "PragmaDirective", "src": "0:32:7" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": { "id": 2111, "nodeType": "StructuredDocumentation", "src": "35:621:7", "text": " @title Initializable\n @dev Helper contract to support initializer functions. To use it, replace\n the constructor with a function that has the `initializer` modifier.\n WARNING: Unlike constructors, initializer functions must be manually\n invoked. This applies both to deploying an Initializable contract, as well\n as extending an Initializable contract via inheritance.\n WARNING: When used with inheritance, manual care must be taken to not invoke\n a parent initializer twice, or ensure that all initializers are idempotent,\n because this is not dealt with automatically as with constructors." }, "fullyImplemented": true, "id": 2183, "linearizedBaseContracts": [ 2183 ], "name": "Initializable", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "documentation": { "id": 2112, "nodeType": "StructuredDocumentation", "src": "685:69:7", "text": " @dev Indicates that the contract has been initialized." }, "id": 2114, "mutability": "mutable", "name": "initialized", "nodeType": "VariableDeclaration", "overrides": null, "scope": 2183, "src": "757:24:7", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 2113, "name": "bool", "nodeType": "ElementaryTypeName", "src": "757:4:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "private" }, { "constant": false, "documentation": { "id": 2115, "nodeType": "StructuredDocumentation", "src": "786:87:7", "text": " @dev Indicates that the contract is in the process of being initialized." }, "id": 2117, "mutability": "mutable", "name": "initializing", "nodeType": "VariableDeclaration", "overrides": null, "scope": 2183, "src": "876:25:7", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 2116, "name": "bool", "nodeType": "ElementaryTypeName", "src": "876:4:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "private" }, { "body": { "id": 2155, "nodeType": "Block", "src": "1010:313:7", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2127, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 2124, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 2121, "name": "initializing", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2117, "src": "1024:12:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "id": 2122, "name": "isConstructor", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2178, "src": "1040:13:7", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, "id": 2123, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "s