@rsksmart/rif-marketplace-storage
Version:
Contracts for incentivized pinning
1,170 lines • 82.6 kB
JSON
{
"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