UNPKG

@etherisc/gif-interface

Version:

This repository holds the necessary interfaces and base contracts to interact with an existing GIF instance. The repository is not intended to be used on its own.

1,554 lines 323 kB
{ "abi": [ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "LogComponentApproved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "LogComponentArchived", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "componentName", "type": "bytes32" }, { "indexed": false, "internalType": "enum IComponent.ComponentType", "name": "componentType", "type": "uint8" }, { "indexed": false, "internalType": "address", "name": "componentAddress", "type": "address" }, { "indexed": false, "internalType": "address", "name": "registryAddress", "type": "address" } ], "name": "LogComponentCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "LogComponentDeclined", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "LogComponentPaused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "componentName", "type": "bytes32" }, { "indexed": false, "internalType": "enum IComponent.ComponentType", "name": "componentType", "type": "uint8" }, { "indexed": false, "internalType": "address", "name": "componentAddress", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "LogComponentProposed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "LogComponentResumed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "enum IComponent.ComponentState", "name": "stateOld", "type": "uint8" }, { "indexed": false, "internalType": "enum IComponent.ComponentState", "name": "stateNew", "type": "uint8" } ], "name": "LogComponentStateChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "LogComponentSuspended", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "LogComponentUnpaused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "componentId", "type": "uint256" } ], "name": "LogProductApproved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "productAddress", "type": "address" } ], "name": "LogProductCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "componentId", "type": "uint256" } ], "name": "LogProductDeclined", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "componentId", "type": "uint256" } ], "name": "LogProductProposed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "inputs": [], "name": "approvalCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "archiveCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "declineCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getApplicationDataStructure", "outputs": [ { "internalType": "string", "name": "dataStructure", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getClaimDataStructure", "outputs": [ { "internalType": "string", "name": "dataStructure", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getName", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getPayoutDataStructure", "outputs": [ { "internalType": "string", "name": "dataStructure", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getPolicyFlow", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getRegistry", "outputs": [ { "internalType": "contract IRegistry", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getRiskpoolId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getState", "outputs": [ { "internalType": "enum IComponent.ComponentState", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getType", "outputs": [ { "internalType": "enum IComponent.ComponentType", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isOracle", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isProduct", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isRiskpool", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pauseCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "proposalCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "resumeCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "capacity", "type": "uint256" } ], "name": "riskPoolCapacityCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "setId", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "suspendCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "unpauseCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "allSourcePaths": { "0": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/access/Ownable.sol", "1": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC20/IERC20.sol", "12": "contracts/components/Product.sol", "14": "contracts/modules/IAccess.sol", "16": "contracts/modules/IComponentEvents.sol", "2": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/token/ERC721/IERC721.sol", "21": "contracts/modules/IRegistry.sol", "23": "contracts/services/IComponentOwnerService.sol", "24": "contracts/services/IInstanceOperatorService.sol", "25": "contracts/services/IInstanceService.sol", "26": "contracts/services/IOracleService.sol", "27": "contracts/services/IProductService.sol", "28": "contracts/services/IRiskpoolService.sol", "3": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Context.sol", "30": "contracts/tokens/IBundleToken.sol", "4": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/introspection/IERC165.sol", "6": "contracts/components/Component.sol", "7": "contracts/components/IComponent.sol", "9": "contracts/components/IProduct.sol" }, "ast": { "absolutePath": "contracts/components/Product.sol", "exportedSymbols": { "Component": [ 708 ], "Context": [ 4978 ], "IAccess": [ 2660 ], "IBundle": [ 2844 ], "IBundleToken": [ 4649 ], "IComponent": [ 812 ], "IComponentEvents": [ 2897 ], "IComponentOwnerService": [ 3833 ], "IERC165": [ 4990 ], "IERC20": [ 4956 ], "IERC721": [ 4878 ], "IInstanceOperatorService": [ 3984 ], "IInstanceService": [ 4333 ], "IOracleService": [ 4343 ], "IPolicy": [ 3257 ], "IPool": [ 3373 ], "IProduct": [ 903 ], "IProductService": [ 4488 ], "IRegistry": [ 3538 ], "IRiskpoolService": [ 4594 ], "ITreasury": [ 3798 ], "Ownable": [ 4762 ], "Product": [ 1866 ] }, "id": 1867, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 1240, "literals": [ "solidity", "0.8", ".2" ], "nodeType": "PragmaDirective", "src": "39:22:12" }, { "absolutePath": "contracts/components/IProduct.sol", "file": "./IProduct.sol", "id": 1241, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 1867, "sourceUnit": 904, "src": "63:24:12", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "contracts/components/Component.sol", "file": "./Component.sol", "id": 1242, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 1867, "sourceUnit": 709, "src": "88:25:12", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "contracts/modules/IPolicy.sol", "file": "../modules/IPolicy.sol", "id": 1243, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 1867, "sourceUnit": 3258, "src": "114:32:12", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "contracts/services/IInstanceService.sol", "file": "../services/IInstanceService.sol", "id": 1244, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 1867, "sourceUnit": 4334, "src": "147:42:12", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "contracts/services/IProductService.sol", "file": "../services/IProductService.sol", "id": 1245, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 1867, "sourceUnit": 4489, "src": "190:41:12", "symbolAliases": [], "unitAlias": "" }, { "abstract": true, "baseContracts": [ { "baseName": { "id": 1246, "name": "IProduct", "nodeType": "IdentifierPath", "referencedDeclaration": 903, "src": "266:8:12" }, "id": 1247, "nodeType": "InheritanceSpecifier", "src": "266:8:12" }, { "baseName": { "id": 1248, "name": "Component", "nodeType": "IdentifierPath", "referencedDeclaration": 708, "src": "281:9:12" }, "id": 1249, "nodeType": "InheritanceSpecifier", "src": "281:9:12" } ], "contractDependencies": [ 708, 812, 903, 2897, 4762, 4978 ], "contractKind": "contract", "fullyImplemented": true, "id": 1866, "linearizedBaseContracts": [ 1866, 708, 4762, 4978, 2897, 903, 812 ], "name": "Product", "nameLocation": "251:7:12", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 1251, "mutability": "mutable", "name": "_policyFlow", "nameLocation": "318:11:12", "nodeType": "VariableDeclaration", "scope": 1866, "src": "302:27:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1250, "name": "address", "nodeType": "ElementaryTypeName", "src": "302:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "private" }, { "constant": false, "id": 1253, "mutability": "mutable", "name": "_token", "nameLocation": "398:6:12", "nodeType": "VariableDeclaration", "scope": 1866, "src": "382:22:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1252, "name": "address", "nodeType": "ElementaryTypeName", "src": "382:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "private" }, { "constant": false, "id": 1255, "mutability": "mutable", "name": "_riskpoolId", "nameLocation": "465:11:12", "nodeType": "VariableDeclaration", "scope": 1866, "src": "449:27:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1254, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "449:7:12", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "private" }, { "constant": false, "id": 1258, "mutability": "mutable", "name": "_productService", "nameLocation": "555:15:12", "nodeType": "VariableDeclaration", "scope": 1866, "src": "530:40:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_IProductService_$4488", "typeString": "contract IProductService" }, "typeName": { "id": 1257, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 1256, "name": "IProductService", "nodeType": "IdentifierPath", "referencedDeclaration": 4488, "src": "530:15:12" }, "referencedDeclaration": 4488, "src": "530:15:12", "typeDescriptions": { "typeIdentifier": "t_contract$_IProductService_$4488", "typeString": "contract IProductService" } }, "visibility": "internal" }, { "constant": false, "id": 1261, "mutability": "mutable", "name": "_instanceService", "nameLocation": "602:16:12", "nodeType": "VariableDeclaration", "scope": 1866, "src": "576:42:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_IInstanceService_$4333", "typeString": "contract IInstanceService" }, "typeName": { "id": 1260, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 1259, "name": "IInstanceService", "nodeType": "IdentifierPath", "referencedDeclaration": 4333, "src": "576:16:12" }, "referencedDeclaration": 4333, "src": "576:16:12", "typeDescriptions": { "typeIdentifier": "t_contract$_IInstanceService_$4333", "typeString": "contract IInstanceService" } }, "visibility": "internal" }, { "body": { "id": 1282, "nodeType": "Block", "src": "669:219:12", "statements": [ { "assignments": [ 1266 ], "declarations": [ { "constant": false, "id": 1266, "mutability": "mutable", "name": "policyHolder", "nameLocation": "687:12:12", "nodeType": "VariableDeclaration", "scope": 1282, "src": "679:20:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1265, "name": "address", "nodeType": "ElementaryTypeName", "src": "679:7:12", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "id": 1272, "initialValue": { "expression": { "arguments": [ { "id": 1269, "name": "policyId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1263, "src": "731:8:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "id": 1267, "name": "_instanceService", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1261, "src": "702:16:12", "typeDescriptions": { "typeIdentifier": "t_contract$_IInstanceService_$4333", "typeString": "contract IInstanceService" } }, "id": 1268, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getMetadata", "nodeType": "MemberAccess", "referencedDeclaration": 4252, "src": "702:28:12", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_Metadata_$3072_memory_ptr_$", "typeString": "function (bytes32) view external returns (struct IPolicy.Metadata memory)" } }, "id": 1270, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "702:38:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_struct$_Metadata_$3072_memory_ptr", "typeString": "struct IPolicy.Metadata memory" } }, "id": 1271, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "owner", "nodeType": "MemberAccess", "referencedDeclaration": 3060, "src": "702:44:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", "src": "679:67:12" }, { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 1277, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [], "expression": { "argumentTypes": [], "id": 1274, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4968, "src": "777:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, "id": 1275, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "777:12:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "id": 1276, "name": "policyHolder", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1266, "src": "793:12:12", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "777:28:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "4552524f523a5052442d3030313a504f4c4943595f4f525f484f4c4445525f494e56414c4944", "id": 1278, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "820:40:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_8c751e03794b568011bdacc7506cfc24e9e6da1a04bd63102218013a02fcc8b2", "typeString": "literal_string \"ERROR:PRD-001:POLICY_OR_HOLDER_INVALID\"" }, "value": "ERROR:PRD-001:POLICY_OR_HOLDER_INVALID" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_8c751e03794b568011bdacc7506cfc24e9e6da1a04bd63102218013a02fcc8b2", "typeString": "literal_string \"ERROR:PRD-001:POLICY_OR_HOLDER_INVALID\"" } ], "id": 1273, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "756:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 1279, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "756:114:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1280, "nodeType": "ExpressionStatement", "src": "756:114:12" }, { "id": 1281, "nodeType": "PlaceholderStatement", "src": "880:1:12" } ] }, "id": 1283, "name": "onlyPolicyHolder", "nameLocation": "634:16:12", "nodeType": "ModifierDefinition", "parameters": { "id": 1264, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1263, "mutability": "mutable", "name": "policyId", "nameLocation": "659:8:12", "nodeType": "VariableDeclaration", "scope": 1283, "src": "651:16:12", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 1262, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "651:7:12", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "650:18:12" }, "src": "625:263:12", "virtual": false, "visibility": "internal" }, { "body": { "id": 1296, "nodeType": "Block", "src": "915:149:12", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 1291, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [], "expression": { "argumentTypes": [], "id": 1286, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4968, "src": "947:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, "id": 1287, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "947:12:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "arguments": [ { "hexValue": "4c6963656e6365", "id": 1289, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "983:9:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6ca2c06beb422d975cd2070710bcde13ae6539489c77a2eac3d019f18f8a11bd", "typeString": "literal_string \"Licence\"" }, "value": "Licence" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_6ca2c06beb422d975cd2070710bcde13ae6539489c77a2eac3d019f18f8a11bd", "typeString": "literal_string \"Licence\"" } ], "id": 1288, "name": "_getContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 707, "src": "963:19:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32) view returns (address)" } }, "id": 1290, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "963:30:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "947:46:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "4552524f523a5052442d3030323a4143434553535f44454e494544", "id": 1292, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1007:29:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c303e58a1c0410c1101cc429b23d15274514a5237e202175e3c0976550224f8a", "typeString": "literal_string \"ERROR:PRD-002:ACCESS_DENIED\"" }, "value": "ERROR:PRD-002:ACCESS_DENIED" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_c303e58a1c0410c1101cc429b23d15274514a5237e202175e3c0976550224f8a", "typeString": "literal_string \"ERROR:PRD-002:ACCESS_DENIED\"" } ], "id": 1285, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "925:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 1293, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "925:121:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1294, "nodeType": "ExpressionStatement", "src": "925:121:12" }, { "id": 1295, "nodeType": "PlaceholderStatement", "src": "1056:1:12" } ] }, "id": 1297, "name": "onlyLicence", "nameLocation": "903:11:12", "nodeType": "ModifierDefinition", "parameters": { "id": 1284, "nodeType": "ParameterList", "parameters": [], "src": "915:0:12" }, "src": "894:170:12", "virtual": false, "visibility": "internal" }, { "body": { "id": 1310, "nodeType": "Block", "src": "1090:147:12", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 1305, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [], "expression": { "argumentTypes": [], "id": 1300, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4968, "src": "1122:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, "id": 1301, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1122:12:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "arguments": [ { "hexValue": "5175657279", "id": 1303, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1158:7:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_de27146501ae3a78760bc5f3cf670e34e42f94d4009fee9f620352506ade7ceb", "typeString": "literal_string \"Query\"" }, "value": "Query" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_de27146501ae3a78760bc5f3cf670e34e42f94d4009fee9f620352506ade7ceb", "typeString": "literal_string \"Query\"" } ], "id": 1302, "name": "_getContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 707, "src": "1138:19:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32) view returns (address)" } }, "id": 1304, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1138:28:12", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "1122:44:12", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "4552524f523a5052442d3030333a4143434553535f44454e494544", "id": 1306, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1180:29:12", "typeDescriptions": { "typeIdentifier": "t_stringliteral_2d47153b44a132de51be507c0cde899d6ab2b1668d3efae9650b7c79b6fd010f", "typeString": "literal_string \"ERROR:PRD-003:ACCESS_DENIED\"" }, "value": "ERROR:PRD-003:ACCESS_DENIED" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_2d47153b44a132de51be507c0cde899d6ab2b1668d3efae9650b7c79b6fd010f", "typeString": "literal_string \"ERROR:PRD-003:ACCESS