UNPKG

@etherisc/gif-contracts

Version:

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

1,200 lines (1,199 loc) 147 kB
{ "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "registry", "type": "address" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "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", "22": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Context.sol", "37": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IAccess.sol", "44": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IRegistry.sol", "88": "contracts/shared/CoreController.sol" }, "ast": { "absolutePath": "contracts/shared/CoreController.sol", "exportedSymbols": { "Address": [ 26374 ], "Context": [ 24074 ], "CoreController": [ 14924 ], "IAccess": [ 21938 ], "IRegistry": [ 21750 ], "Initializable": [ 18432 ] }, "id": 14925, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 14790, "literals": [ "solidity", "0.8", ".2" ], "nodeType": "PragmaDirective", "src": "39:22:88" }, { "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IAccess.sol", "file": "@etherisc/gif-interface/contracts/modules/IAccess.sol", "id": 14791, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 14925, "sourceUnit": 21939, "src": "63:63:88", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IRegistry.sol", "file": "@etherisc/gif-interface/contracts/modules/IRegistry.sol", "id": 14792, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 14925, "sourceUnit": 21751, "src": "127:65:88", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/proxy/utils/Initializable.sol", "file": "@openzeppelin/contracts/proxy/utils/Initializable.sol", "id": 14793, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 14925, "sourceUnit": 18433, "src": "194:63:88", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Context.sol", "file": "@openzeppelin/contracts/utils/Context.sol", "id": 14794, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 14925, "sourceUnit": 24075, "src": "258:51:88", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [ { "baseName": { "id": 14795, "name": "Context", "nodeType": "IdentifierPath", "referencedDeclaration": 24074, "src": "342:7:88" }, "id": 14796, "nodeType": "InheritanceSpecifier", "src": "342:7:88" }, { "baseName": { "id": 14797, "name": "Initializable", "nodeType": "IdentifierPath", "referencedDeclaration": 18432, "src": "355:13:88" }, "id": 14798, "nodeType": "InheritanceSpecifier", "src": "355:13:88" } ], "contractDependencies": [ 18432, 24074 ], "contractKind": "contract", "fullyImplemented": true, "id": 14924, "linearizedBaseContracts": [ 14924, 18432, 24074 ], "name": "CoreController", "nameLocation": "320:14:88", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 14801, "mutability": "mutable", "name": "_registry", "nameLocation": "395:9:88", "nodeType": "VariableDeclaration", "scope": 14924, "src": "376:28:88", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_IRegistry_$21750", "typeString": "contract IRegistry" }, "typeName": { "id": 14800, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 14799, "name": "IRegistry", "nodeType": "IdentifierPath", "referencedDeclaration": 21750, "src": "376:9:88" }, "referencedDeclaration": 21750, "src": "376:9:88", "typeDescriptions": { "typeIdentifier": "t_contract$_IRegistry_$21750", "typeString": "contract IRegistry" } }, "visibility": "internal" }, { "constant": false, "id": 14804, "mutability": "mutable", "name": "_access", "nameLocation": "427:7:88", "nodeType": "VariableDeclaration", "scope": 14924, "src": "410:24:88", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_IAccess_$21938", "typeString": "contract IAccess" }, "typeName": { "id": 14803, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 14802, "name": "IAccess", "nodeType": "IdentifierPath", "referencedDeclaration": 21938, "src": "410:7:88" }, "referencedDeclaration": 21938, "src": "410:7:88", "typeDescriptions": { "typeIdentifier": "t_contract$_IAccess_$21938", "typeString": "contract IAccess" } }, "visibility": "internal" }, { "body": { "id": 14810, "nodeType": "Block", "src": "456:39:88", "statements": [ { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 14807, "name": "_disableInitializers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18431, "src": "466:20:88", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 14808, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "466:22:88", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 14809, "nodeType": "ExpressionStatement", "src": "466:22:88" } ] }, "id": 14811, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { "id": 14805, "nodeType": "ParameterList", "parameters": [], "src": "453:2:88" }, "returnParameters": { "id": 14806, "nodeType": "ParameterList", "parameters": [], "src": "456:0:88" }, "scope": 14924, "src": "441:54:88", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 14824, "nodeType": "Block", "src": "533:164:88", "statements": [ { "expression": { "arguments": [ { "arguments": [ { "arguments": [], "expression": { "argumentTypes": [], "id": 14816, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 24064, "src": "587:10:88", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, "id": 14817, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "587:12:88", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "hexValue": "496e7374616e63654f70657261746f7253657276696365", "id": 14818, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "601:25:88", "typeDescriptions": { "typeIdentifier": "t_stringliteral_893eee863631637173ead46f1c66388136d13bfeb40cdedfb3bfe4f34f933544", "typeString": "literal_string \"InstanceOperatorService\"" }, "value": "InstanceOperatorService" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_stringliteral_893eee863631637173ead46f1c66388136d13bfeb40cdedfb3bfe4f34f933544", "typeString": "literal_string \"InstanceOperatorService\"" } ], "expression": { "id": 14814, "name": "_registry", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 14801, "src": "564:9:88", "typeDescriptions": { "typeIdentifier": "t_contract$_IRegistry_$21750", "typeString": "contract IRegistry" } }, "id": 14815, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "ensureSender", "nodeType": "MemberAccess", "referencedDeclaration": 21737, "src": "564:22:88", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bool_$", "typeString": "function (address,bytes32) view external returns (bool)" } }, "id": 14819, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "564:63:88", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "4552524f523a4352432d3030313a4e4f545f494e5354414e43455f4f50455241544f52", "id": 14820, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "641:37:88", "typeDescriptions": { "typeIdentifier": "t_stringliteral_d157a75ec4da2afc8e9060e47a13bbf5445dd536a21de8b93f5ec497779f5fc1", "typeString": "literal_string \"ERROR:CRC-001:NOT_INSTANCE_OPERATOR\"" }, "value": "ERROR:CRC-001:NOT_INSTANCE_OPERATOR" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_d157a75ec4da2afc8e9060e47a13bbf5445dd536a21de8b93f5ec497779f5fc1", "typeString": "literal_string \"ERROR:CRC-001:NOT_INSTANCE_OPERATOR\"" } ], "id": 14813, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "543:7:88", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 14821, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "543:136:88", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 14822, "nodeType": "ExpressionStatement", "src": "543:136:88" }, { "id": 14823, "nodeType": "PlaceholderStatement", "src": "689:1:88" } ] }, "id": 14825, "name": "onlyInstanceOperator", "nameLocation": "510:20:88", "nodeType": "ModifierDefinition", "parameters": { "id": 14812, "nodeType": "ParameterList", "parameters": [], "src": "530:2:88" }, "src": "501:196:88", "virtual": false, "visibility": "internal" }, { "body": { "id": 14852, "nodeType": "Block", "src": "743:394:88", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 14837, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "id": 14832, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "819:4:88", "typeDescriptions": { "typeIdentifier": "t_contract$_CoreController_$14924", "typeString": "contract CoreController" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_contract$_CoreController_$14924", "typeString": "contract CoreController" } ], "id": 14831, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "811:7:88", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 14830, "name": "address", "nodeType": "ElementaryTypeName", "src": "811:7:88", "typeDescriptions": {} } }, "id": 14833, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "811:13:88", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "arguments": [ { "id": 14835, "name": "module", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 14827, "src": "848:6:88", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 14834, "name": "_getContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 14923, "src": "828:19:88", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32) view returns (address)" } }, "id": 14836, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "828:27:88", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "811:44:88", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "4552524f523a4352432d3030323a4e4f545f4f4e5f53544f52414745", "id": 14838, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "869:30:88", "typeDescriptions": { "typeIdentifier": "t_stringliteral_ac3eb591ac3909b9f0bbae9d36ee03b1d7c2c943a70b5dea1ee6992346dcbcd4", "typeString": "literal_string \"ERROR:CRC-002:NOT_ON_STORAGE\"" }, "value": "ERROR:CRC-002:NOT_ON_STORAGE" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_ac3eb591ac3909b9f0bbae9d36ee03b1d7c2c943a70b5dea1ee6992346dcbcd4", "typeString": "literal_string \"ERROR:CRC-002:NOT_ON_STORAGE\"" } ], "id": 14829, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "790:7:88", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 14839, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "790:119:88", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 14840, "nodeType": "ExpressionStatement", "src": "790:119:88" }, { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 14847, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [], "expression": { "argumentTypes": [], "id": 14842, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 24064, "src": "1007:10:88", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, "id": 14843, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1007:12:88", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "arguments": [ { "hexValue": "50726f6475637453657276696365", "id": 14845, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1043:16:88", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a0656cfcc1bc970b947aca201a5cc1b43cf3c3649a4b2d6f82968797074fe0b8", "typeString": "literal_string \"ProductService\"" }, "value": "ProductService" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_a0656cfcc1bc970b947aca201a5cc1b43cf3c3649a4b2d6f82968797074fe0b8", "typeString": "literal_string \"ProductService\"" } ], "id": 14844, "name": "_getContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 14923, "src": "1023:19:88", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32) view returns (address)" } }, "id": 14846, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1023:37:88", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "1007:53:88", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "4552524f523a4352432d3030333a4e4f545f50524f445543545f53455256494345", "id": 14848, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1074:35:88", "typeDescriptions": { "typeIdentifier": "t_stringliteral_daba6d4f8168e6c5c18c70dafe4890a19902bb1f9bd9ebb62ac7a88c2fd63dd0", "typeString": "literal_string \"ERROR:CRC-003:NOT_PRODUCT_SERVICE\"" }, "value": "ERROR:CRC-003:NOT_PRODUCT_SERVICE" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_daba6d4f8168e6c5c18c70dafe4890a19902bb1f9bd9ebb62ac7a88c2fd63dd0", "typeString": "literal_string \"ERROR:CRC-003:NOT_PRODUCT_SERVICE\"" } ], "id": 14841, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "986:7:88", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 14849, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "986:133:88", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 14850, "nodeType": "ExpressionStatement", "src": "986:133:88" }, { "id": 14851, "nodeType": "PlaceholderStatement", "src": "1129:1:88" } ] }, "id": 14853, "name": "onlyPolicyFlow", "nameLocation": "712:14:88", "nodeType": "ModifierDefinition", "parameters": { "id": 14828, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 14827, "mutability": "mutable", "name": "module", "nameLocation": "735:6:88", "nodeType": "VariableDeclaration", "scope": 14853, "src": "727:14:88", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 14826, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "727:7:88", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "726:16:88" }, "src": "703:434:88", "virtual": false, "visibility": "internal" }, { "body": { "id": 14883, "nodeType": "Block", "src": "1200:175:88", "statements": [ { "expression": { "id": 14864, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 14860, "name": "_registry", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 14801, "src": "1210:9:88", "typeDescriptions": { "typeIdentifier": "t_contract$_IRegistry_$21750", "typeString": "contract IRegistry" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "id": 14862, "name": "registry", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 14855, "src": "1232:8:88", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 14861, "name": "IRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21750, "src": "1222:9:88", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IRegistry_$21750_$", "typeString": "type(contract IRegistry)" } }, "id": 14863, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1222:19:88", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IRegistry_$21750", "typeString": "contract IRegistry" } }, "src": "1210:31:88", "typeDescriptions": { "typeIdentifier": "t_contract$_IRegistry_$21750", "typeString": "contract IRegistry" } }, "id": 14865, "nodeType": "ExpressionStatement", "src": "1210:31:88" }, { "condition": { "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 14869, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [], "expression": { "argumentTypes": [], "id": 14866, "name": "_getName", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 14892, "src": "1255:8:88", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$__$returns$_t_bytes32_$", "typeString": "function () pure returns (bytes32)" } }, "id": 14867, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1255:10:88", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "hexValue": "416363657373", "id": 14868, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1269:8:88", "typeDescriptions": { "typeIdentifier": "t_stringliteral_662ef9f10158779adc6a36d83dac352a0d38be4aaefa069e4f4fdcebe6a5d3ee", "typeString": "literal_string \"Access\"" }, "value": "Access" }, "src": "1255:22:88", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 14879, "nodeType": "IfStatement", "src": "1251:81:88", "trueBody": { "id": 14878, "nodeType": "Block", "src": "1279:53:88", "statements": [ { "expression": { "id": 14876, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 14870, "name": "_access", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 14804, "src": "1281:7:88", "typeDescriptions": { "typeIdentifier": "t_contract$_IAccess_$21938", "typeString": "contract IAccess" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "arguments": [ { "hexValue": "416363657373", "id": 14873, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1319:8:88", "typeDescriptions": { "typeIdentifier": "t_stringliteral_662ef9f10158779adc6a36d83dac352a0d38be4aaefa069e4f4fdcebe6a5d3ee", "typeString": "literal_string \"Access\"" }, "value": "Access" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_662ef9f10158779adc6a36d83dac352a0d38be4aaefa069e4f4fdcebe6a5d3ee", "typeString": "literal_string \"Access\"" } ], "id": 14872, "name": "_getContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 14923, "src": "1299:19:88", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32) view returns (address)" } }, "id": 14874, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1299:29:88", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 14871, "name": "IAccess", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 21938, "src": "1291:7:88", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IAccess_$21938_$", "typeString": "type(contract IAccess)" } }, "id": 14875, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1291:38:88", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IAccess_$21938", "typeString": "contract IAccess" } }, "src": "1281:48:88", "typeDescriptions": { "typeIdentifier": "t_contract$_IAccess_$21938", "typeString": "contract IAccess" } }, "id": 14877, "nodeType": "ExpressionStatement", "src": "1281:48:88" } ] } }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 14880, "name": "_afterInitialize", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 14898, "src": "1350:16:88", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } },