UNPKG

@etherisc/registry-contracts

Version:

Etherisc's smart contracts for the registry.

1,096 lines 102 kB
{ "abi": [ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" } ], "allSourcePaths": { "1": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts-upgradeable@4.8.2/contracts/proxy/utils/Initializable.sol", "2": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts-upgradeable@4.8.2/contracts/utils/AddressUpgradeable.sol" }, "ast": { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts-upgradeable@4.8.2/contracts/proxy/utils/Initializable.sol", "exportedSymbols": { "AddressUpgradeable": [ 18366 ], "Initializable": [ 17084 ] }, "id": 17085, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 16917, "literals": [ "solidity", "^", "0.8", ".2" ], "nodeType": "PragmaDirective", "src": "113:23:1" }, { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts-upgradeable@4.8.2/contracts/utils/AddressUpgradeable.sol", "file": "../../utils/AddressUpgradeable.sol", "id": 16918, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 17085, "sourceUnit": 18367, "src": "138:44:1", "symbolAliases": [], "unitAlias": "" }, { "abstract": true, "baseContracts": [], "canonicalName": "Initializable", "contractDependencies": [], "contractKind": "contract", "documentation": { "id": 16919, "nodeType": "StructuredDocumentation", "src": "184:2198:1", "text": " @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed\n behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an\n external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer\n function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.\n The initialization functions use a version number. Once a version number is used, it is consumed and cannot be\n reused. This mechanism prevents re-execution of each \"step\" but allows the creation of new initialization steps in\n case an upgrade adds a module that needs to be initialized.\n For example:\n [.hljs-theme-light.nopadding]\n ```\n contract MyToken is ERC20Upgradeable {\n function initialize() initializer public {\n __ERC20_init(\"MyToken\", \"MTK\");\n }\n }\n contract MyTokenV2 is MyToken, ERC20PermitUpgradeable {\n function initializeV2() reinitializer(2) public {\n __ERC20Permit_init(\"MyToken\");\n }\n }\n ```\n TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as\n possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}.\n CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure\n that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.\n [CAUTION]\n ====\n Avoid leaving a contract uninitialized.\n An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation\n contract, which may impact the proxy. To prevent the implementation contract from being used, you should invoke\n the {_disableInitializers} function in the constructor to automatically lock it when it is deployed:\n [.hljs-theme-light.nopadding]\n ```\n /// @custom:oz-upgrades-unsafe-allow constructor\n constructor() {\n _disableInitializers();\n }\n ```\n ====" }, "fullyImplemented": true, "id": 17084, "linearizedBaseContracts": [ 17084 ], "name": "Initializable", "nameLocation": "2401:13:1", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "documentation": { "id": 16920, "nodeType": "StructuredDocumentation", "src": "2421:109:1", "text": " @dev Indicates that the contract has been initialized.\n @custom:oz-retyped-from bool" }, "id": 16922, "mutability": "mutable", "name": "_initialized", "nameLocation": "2549:12:1", "nodeType": "VariableDeclaration", "scope": 17084, "src": "2535:26:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 16921, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "2535:5:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "visibility": "private" }, { "constant": false, "documentation": { "id": 16923, "nodeType": "StructuredDocumentation", "src": "2568:91:1", "text": " @dev Indicates that the contract is in the process of being initialized." }, "id": 16925, "mutability": "mutable", "name": "_initializing", "nameLocation": "2677:13:1", "nodeType": "VariableDeclaration", "scope": 17084, "src": "2664:26:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 16924, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2664:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "private" }, { "anonymous": false, "documentation": { "id": 16926, "nodeType": "StructuredDocumentation", "src": "2697:90:1", "text": " @dev Triggered when the contract has been initialized or reinitialized." }, "eventSelector": "7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498", "id": 16930, "name": "Initialized", "nameLocation": "2798:11:1", "nodeType": "EventDefinition", "parameters": { "id": 16929, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 16928, "indexed": false, "mutability": "mutable", "name": "version", "nameLocation": "2816:7:1", "nodeType": "VariableDeclaration", "scope": 16930, "src": "2810:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 16927, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "2810:5:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "visibility": "internal" } ], "src": "2809:15:1" }, "src": "2792:33:1" }, { "body": { "id": 16985, "nodeType": "Block", "src": "3258:483:1", "statements": [ { "assignments": [ 16934 ], "declarations": [ { "constant": false, "id": 16934, "mutability": "mutable", "name": "isTopLevelCall", "nameLocation": "3273:14:1", "nodeType": "VariableDeclaration", "scope": 16985, "src": "3268:19:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 16933, "name": "bool", "nodeType": "ElementaryTypeName", "src": "3268:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "id": 16937, "initialValue": { "id": 16936, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "3290:14:1", "subExpression": { "id": 16935, "name": "_initializing", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 16925, "src": "3291:13:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", "src": "3268:36:1" }, { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 16958, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "components": [ { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 16943, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 16939, "name": "isTopLevelCall", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 16934, "src": "3336:14:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 16942, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 16940, "name": "_initialized", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 16922, "src": "3354:12:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "hexValue": "31", "id": 16941, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3369:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "3354:16:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "3336:34:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "id": 16944, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "3335:36:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "components": [ { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 16956, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 16952, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "3376:45:1", "subExpression": { "arguments": [ { "arguments": [ { "id": 16949, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "3415:4:1", "typeDescriptions": { "typeIdentifier": "t_contract$_Initializable_$17084", "typeString": "contract Initializable" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_contract$_Initializable_$17084", "typeString": "contract Initializable" } ], "id": 16948, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3407:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 16947, "name": "address", "nodeType": "ElementaryTypeName", "src": "3407:7:1", "typeDescriptions": {} } }, "id": 16950, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3407:13:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "id": 16945, "name": "AddressUpgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18366, "src": "3377:18:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_AddressUpgradeable_$18366_$", "typeString": "type(library AddressUpgradeable)" } }, "id": 16946, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "3396:10:1", "memberName": "isContract", "nodeType": "MemberAccess", "referencedDeclaration": 18100, "src": "3377:29:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, "id": 16951, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3377:44:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 16955, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 16953, "name": "_initialized", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 16922, "src": "3425:12:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "31", "id": 16954, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3441:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "3425:17:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "3376:66:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "id": 16957, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "3375:68:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "3335:108:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564", "id": 16959, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "3457:48:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759", "typeString": "literal_string \"Initializable: contract is already initialized\"" }, "value": "Initializable: contract is already initialized" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759", "typeString": "literal_string \"Initializable: contract is already initialized\"" } ], "id": 16938, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "3314:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 16960, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3314:201:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 16961, "nodeType": "ExpressionStatement", "src": "3314:201:1" }, { "expression": { "id": 16964, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 16962, "name": "_initialized", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 16922, "src": "3525:12:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "31", "id": 16963, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3540:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "3525:16:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "id": 16965, "nodeType": "ExpressionStatement", "src": "3525:16:1" }, { "condition": { "id": 16966, "name": "isTopLevelCall", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 16934, "src": "3555:14:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 16972, "nodeType": "IfStatement", "src": "3551:65:1", "trueBody": { "id": 16971, "nodeType": "Block", "src": "3571:45:1", "statements": [ { "expression": { "id": 16969, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 16967, "name": "_initializing", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 16925, "src": "3585:13:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "74727565", "id": 16968, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "3601:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "3585:20:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 16970, "nodeType": "ExpressionStatement", "src": "3585:20:1" } ] } }, { "id": 16973, "nodeType": "PlaceholderStatement", "src": "3625:1:1" }, { "condition": { "id": 16974, "name": "isTopLevelCall", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 16934, "src": "3640:14:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 16984, "nodeType": "IfStatement", "src": "3636:99:1", "trueBody": { "id": 16983, "nodeType": "Block", "src": "3656:79:1", "statements": [ { "expression": { "id": 16977, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 16975, "name": "_initializing", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 16925, "src": "3670:13:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "66616c7365", "id": 16976, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "3686:5:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, "src": "3670:21:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 16978, "nodeType": "ExpressionStatement", "src": "3670:21:1" }, { "eventCall": { "arguments": [ { "hexValue": "31", "id": 16980, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3722:1:1", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" } ], "id": 16979, "name": "Initialized", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 16930, "src": "3710:11:1", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint8_$returns$__$", "typeString": "function (uint8)" } }, "id": 16981, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3710:14:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 16982, "nodeType": "EmitStatement", "src": "3705:19:1" } ] } } ] }, "documentation": { "id": 16931, "nodeType": "StructuredDocumentation", "src": "2831:399:1", "text": " @dev A modifier that defines a protected initializer function that can be invoked at most once. In its scope,\n `onlyInitializing` functions can be used to initialize parent contracts.\n Similar to `reinitializer(1)`, except that functions marked with `initializer` can be nested in the context of a\n constructor.\n Emits an {Initialized} event." }, "id": 16986, "name": "initializer", "nameLocation": "3244:11:1", "nodeType": "ModifierDefinition", "parameters": { "id": 16932, "nodeType": "ParameterList", "parameters": [], "src": "3255:2:1" }, "src": "3235:506:1", "virtual": false, "visibility": "internal" }, { "body": { "id": 17018, "nodeType": "Block", "src": "4852:255:1", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 16997, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 16993, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "4870:14:1", "subExpression": { "id": 16992, "name": "_initializing", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 16925, "src": "4871:13:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 16996, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 16994, "name": "_initialized", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 16922, "src": "4888:12:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 16995, "name": "version", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 16989, "src": "4903:7:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "4888:22:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "4870:40:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564", "id": 16998, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "4912:48:1", "typeDescriptions": { "typeIdentifier": "t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759", "typeString": "literal_string \"Initializable: contract is already initialized\"" }, "value": "Initializable: contract is already initialized" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_7a2a4e26842155ea933fe6eb6e3137eb5a296dcdf55721c552be7b4c3cc23759", "typeString": "literal_string \"Initializable: contract is already initialized\"" } ], "id": 16991, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "4862:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 16999, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4862:99:1", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 17000, "nodeType": "ExpressionStatement", "src": "4862:99:1" }, { "expression": { "id": 17003, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 17001, "name": "_initialized", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 16922, "src": "4971:12:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "Ass