UNPKG

@etherisc/gif-contracts

Version:

This repository holds the GIF core contracts and tools to develop, test and deploy GIF instances.

1,103 lines 93.3 kB
{ "abi": [ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" } ], "allSourcePaths": { "10": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/proxy/utils/Initializable.sol", "21": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Address.sol" }, "ast": { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/proxy/utils/Initializable.sol", "exportedSymbols": { "Address": [ 26374 ], "Initializable": [ 18432 ] }, "id": 18433, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 18283, "literals": [ "solidity", "^", "0.8", ".2" ], "nodeType": "PragmaDirective", "src": "113:23:10" }, { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Address.sol", "file": "../../utils/Address.sol", "id": 18284, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 18433, "sourceUnit": 26375, "src": "138:33:10", "symbolAliases": [], "unitAlias": "" }, { "abstract": true, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": { "id": 18285, "nodeType": "StructuredDocumentation", "src": "173:2198:10", "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": 18432, "linearizedBaseContracts": [ 18432 ], "name": "Initializable", "nameLocation": "2390:13:10", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "documentation": { "id": 18286, "nodeType": "StructuredDocumentation", "src": "2410:109:10", "text": " @dev Indicates that the contract has been initialized.\n @custom:oz-retyped-from bool" }, "id": 18288, "mutability": "mutable", "name": "_initialized", "nameLocation": "2538:12:10", "nodeType": "VariableDeclaration", "scope": 18432, "src": "2524:26:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 18287, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "2524:5:10", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "visibility": "private" }, { "constant": false, "documentation": { "id": 18289, "nodeType": "StructuredDocumentation", "src": "2557:91:10", "text": " @dev Indicates that the contract is in the process of being initialized." }, "id": 18291, "mutability": "mutable", "name": "_initializing", "nameLocation": "2666:13:10", "nodeType": "VariableDeclaration", "scope": 18432, "src": "2653:26:10", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 18290, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2653:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "private" }, { "anonymous": false, "documentation": { "id": 18292, "nodeType": "StructuredDocumentation", "src": "2686:90:10", "text": " @dev Triggered when the contract has been initialized or reinitialized." }, "id": 18296, "name": "Initialized", "nameLocation": "2787:11:10", "nodeType": "EventDefinition", "parameters": { "id": 18295, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 18294, "indexed": false, "mutability": "mutable", "name": "version", "nameLocation": "2805:7:10", "nodeType": "VariableDeclaration", "scope": 18296, "src": "2799:13:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 18293, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "2799:5:10", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "visibility": "internal" } ], "src": "2798:15:10" }, "src": "2781:33:10" }, { "body": { "id": 18351, "nodeType": "Block", "src": "3090:472:10", "statements": [ { "assignments": [ 18300 ], "declarations": [ { "constant": false, "id": 18300, "mutability": "mutable", "name": "isTopLevelCall", "nameLocation": "3105:14:10", "nodeType": "VariableDeclaration", "scope": 18351, "src": "3100:19:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 18299, "name": "bool", "nodeType": "ElementaryTypeName", "src": "3100:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "id": 18303, "initialValue": { "id": 18302, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "3122:14:10", "subExpression": { "id": 18301, "name": "_initializing", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18291, "src": "3123:13:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "VariableDeclarationStatement", "src": "3100:36:10" }, { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 18324, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "components": [ { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 18309, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 18305, "name": "isTopLevelCall", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18300, "src": "3168:14:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 18308, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 18306, "name": "_initialized", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18288, "src": "3186:12:10", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "hexValue": "31", "id": 18307, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3201:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "3186:16:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "3168:34:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "id": 18310, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "3167:36:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { "components": [ { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 18322, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 18318, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "3208:34:10", "subExpression": { "arguments": [ { "arguments": [ { "id": 18315, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "3236:4:10", "typeDescriptions": { "typeIdentifier": "t_contract$_Initializable_$18432", "typeString": "contract Initializable" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_contract$_Initializable_$18432", "typeString": "contract Initializable" } ], "id": 18314, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "3228:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 18313, "name": "address", "nodeType": "ElementaryTypeName", "src": "3228:7:10", "typeDescriptions": {} } }, "id": 18316, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3228:13:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "id": 18311, "name": "Address", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26374, "src": "3209:7:10", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Address_$26374_$", "typeString": "type(library Address)" } }, "id": 18312, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "isContract", "nodeType": "MemberAccess", "referencedDeclaration": 26097, "src": "3209:18:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, "id": 18317, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3209:33:10", "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": 18321, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 18319, "name": "_initialized", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18288, "src": "3246:12:10", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "31", "id": 18320, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3262:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "3246:17:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "3208:55:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "id": 18323, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", "src": "3207:57:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "3167:97:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564", "id": 18325, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "3278:48:10", "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": 18304, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "3146:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 18326, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3146:190:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 18327, "nodeType": "ExpressionStatement", "src": "3146:190:10" }, { "expression": { "id": 18330, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 18328, "name": "_initialized", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18288, "src": "3346:12:10", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "31", "id": 18329, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3361:1:10", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "src": "3346:16:10", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "id": 18331, "nodeType": "ExpressionStatement", "src": "3346:16:10" }, { "condition": { "id": 18332, "name": "isTopLevelCall", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18300, "src": "3376:14:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 18338, "nodeType": "IfStatement", "src": "3372:65:10", "trueBody": { "id": 18337, "nodeType": "Block", "src": "3392:45:10", "statements": [ { "expression": { "id": 18335, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 18333, "name": "_initializing", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18291, "src": "3406:13:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "74727565", "id": 18334, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "3422:4:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "3406:20:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 18336, "nodeType": "ExpressionStatement", "src": "3406:20:10" } ] } }, { "id": 18339, "nodeType": "PlaceholderStatement", "src": "3446:1:10" }, { "condition": { "id": 18340, "name": "isTopLevelCall", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18300, "src": "3461:14:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 18350, "nodeType": "IfStatement", "src": "3457:99:10", "trueBody": { "id": 18349, "nodeType": "Block", "src": "3477:79:10", "statements": [ { "expression": { "id": 18343, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 18341, "name": "_initializing", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18291, "src": "3491:13:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "66616c7365", "id": 18342, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "3507:5:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, "src": "3491:21:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 18344, "nodeType": "ExpressionStatement", "src": "3491:21:10" }, { "eventCall": { "arguments": [ { "hexValue": "31", "id": 18346, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3543:1:10", "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": 18345, "name": "Initialized", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18296, "src": "3531:11:10", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint8_$returns$__$", "typeString": "function (uint8)" } }, "id": 18347, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "3531:14:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 18348, "nodeType": "EmitStatement", "src": "3526:19:10" } ] } } ] }, "documentation": { "id": 18297, "nodeType": "StructuredDocumentation", "src": "2820:242:10", "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. Equivalent to `reinitializer(1)`." }, "id": 18352, "name": "initializer", "nameLocation": "3076:11:10", "nodeType": "ModifierDefinition", "parameters": { "id": 18298, "nodeType": "ParameterList", "parameters": [], "src": "3087:2:10" }, "src": "3067:495:10", "virtual": false, "visibility": "internal" }, { "body": { "id": 18384, "nodeType": "Block", "src": "4377:255:10", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 18363, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 18359, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "4395:14:10", "subExpression": { "id": 18358, "name": "_initializing", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18291, "src": "4396:13:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "id": 18362, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 18360, "name": "_initialized", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18288, "src": "4413:12:10", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 18361, "name": "version", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18355, "src": "4428:7:10", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "4413:22:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "4395:40:10", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564", "id": 18364, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "4437:48:10", "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": 18357, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "4387:7:10", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 18365, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "4387:99:10", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 18366, "nodeType": "ExpressionStatement", "src": "4387:99:10" }, { "expression": { "id": 18369, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 18367, "name": "_initialized", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18288, "src": "4496:12:10", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 18368, "name": "version", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18355, "src": "4511:7:10", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "src": "4496:22:10", "typ