UNPKG

@etherisc/gif-contracts

Version:

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

1,575 lines 1.34 MB
{ "abi": [ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "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": "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" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "archiveFromComponentOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "archiveFromInstanceOperator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "components", "outputs": [ { "internalType": "uint256", "name": "count", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "decline", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "exists", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "getComponent", "outputs": [ { "internalType": "contract IComponent", "name": "component", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "componentAddress", "type": "address" } ], "name": "getComponentId", "outputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "getComponentState", "outputs": [ { "internalType": "enum IComponent.ComponentState", "name": "componentState", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "getComponentType", "outputs": [ { "internalType": "enum IComponent.ComponentType", "name": "componentType", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "idx", "type": "uint256" } ], "name": "getOracleId", "outputs": [ { "internalType": "uint256", "name": "oracleId", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "productId", "type": "uint256" } ], "name": "getPolicyFlow", "outputs": [ { "internalType": "address", "name": "_policyFlow", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "idx", "type": "uint256" } ], "name": "getProductId", "outputs": [ { "internalType": "uint256", "name": "productId", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "enum IComponent.ComponentType", "name": "componentType", "type": "uint8" } ], "name": "getRequiredRole", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "idx", "type": "uint256" } ], "name": "getRiskpoolId", "outputs": [ { "internalType": "uint256", "name": "riskpoolId", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "registry", "type": "address" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "isOracle", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "isProduct", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "isRiskpool", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "oracles", "outputs": [ { "internalType": "uint256", "name": "count", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "products", "outputs": [ { "internalType": "uint256", "name": "count", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract IComponent", "name": "component", "type": "address" } ], "name": "propose", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "resume", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "riskpools", "outputs": [ { "internalType": "uint256", "name": "count", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "suspend", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "unpause", "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", "27": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/structs/EnumerableSet.sol", "30": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol", "32": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IProduct.sol", "37": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IAccess.sol", "39": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IComponentEvents.sol", "44": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IRegistry.sol", "75": "contracts/modules/ComponentController.sol", "88": "contracts/shared/CoreController.sol" }, "ast": { "absolutePath": "contracts/modules/ComponentController.sol", "exportedSymbols": { "Address": [ 26374 ], "ComponentController": [ 6504 ], "Context": [ 24074 ], "CoreController": [ 14924 ], "EnumerableSet": [ 19390 ], "IAccess": [ 21938 ], "IBundle": [ 20491 ], "IComponent": [ 22099 ], "IComponentEvents": [ 22419 ], "IOracle": [ 22133 ], "IPolicy": [ 20837 ], "IProduct": [ 21995 ], "IRegistry": [ 21750 ], "IRiskpool": [ 22366 ], "Initializable": [ 18432 ] }, "id": 6505, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 5506, "literals": [ "solidity", "0.8", ".2" ], "nodeType": "PragmaDirective", "src": "39:22:75" }, { "absolutePath": "contracts/shared/CoreController.sol", "file": "../shared/CoreController.sol", "id": 5507, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 6505, "sourceUnit": 14925, "src": "63:38:75", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol", "file": "@etherisc/gif-interface/contracts/components/IComponent.sol", "id": 5508, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 6505, "sourceUnit": 22100, "src": "102:69:75", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IOracle.sol", "file": "@etherisc/gif-interface/contracts/components/IOracle.sol", "id": 5509, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 6505, "sourceUnit": 22134, "src": "172:66:75", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IProduct.sol", "file": "@etherisc/gif-interface/contracts/components/IProduct.sol", "id": 5510, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 6505, "sourceUnit": 21996, "src": "239:67:75", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IRiskpool.sol", "file": "@etherisc/gif-interface/contracts/components/IRiskpool.sol", "id": 5511, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 6505, "sourceUnit": 22367, "src": "307:68:75", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IComponentEvents.sol", "file": "@etherisc/gif-interface/contracts/modules/IComponentEvents.sol", "id": 5512, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 6505, "sourceUnit": 22420, "src": "376:72:75", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/structs/EnumerableSet.sol", "file": "@openzeppelin/contracts/utils/structs/EnumerableSet.sol", "id": 5513, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 6505, "sourceUnit": 19391, "src": "449:65:75", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [ { "baseName": { "id": 5514, "name": "IComponentEvents", "nodeType": "IdentifierPath", "referencedDeclaration": 22419, "src": "552:16:75" }, "id": 5515, "nodeType": "InheritanceSpecifier", "src": "552:16:75" }, { "baseName": { "id": 5516, "name": "CoreController", "nodeType": "IdentifierPath", "referencedDeclaration": 14924, "src": "574:14:75" }, "id": 5517, "nodeType": "InheritanceSpecifier", "src": "574:14:75" } ], "contractDependencies": [ 14924, 18432, 22419, 24074 ], "contractKind": "contract", "fullyImplemented": true, "id": 6504, "linearizedBaseContracts": [ 6504, 14924, 18432, 24074, 22419 ], "name": "ComponentController", "nameLocation": "525:19:75", "nodeType": "ContractDefinition", "nodes": [ { "id": 5521, "libraryName": { "id": 5518, "name": "EnumerableSet", "nodeType": "IdentifierPath", "referencedDeclaration": 19390, "src": "603:13:75" }, "nodeType": "UsingForDirective", "src": "597:46:75", "typeName": { "id": 5520, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 5519, "name": "EnumerableSet.UintSet", "nodeType": "IdentifierPath", "referencedDeclaration": 19260, "src": "621:21:75" }, "referencedDeclaration": 19260, "src": "621:21:75", "typeDescriptions": { "typeIdentifier": "t_struct$_UintSet_$19260_storage_ptr", "typeString": "struct EnumerableSet.UintSet" } } }, { "constant": false, "id": 5526, "mutability": "mutable", "name": "_componentById", "nameLocation": "688:14:75", "nodeType": "VariableDeclaration", "scope": 6504, "src": "649:53:75", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_contract$_IComponent_$22099_$", "typeString": "mapping(uint256 => contract IComponent)" }, "typeName": { "id": 5525, "keyType": { "id": 5522, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "657:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", "src": "649:30:75", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_contract$_IComponent_$22099_$", "typeString": "mapping(uint256 => contract IComponent)" }, "valueType": { "id": 5524, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 5523, "name": "IComponent", "nodeType": "IdentifierPath", "referencedDeclaration": 22099, "src": "668:10:75" }, "referencedDeclaration": 22099, "src": "668:10:75", "typeDescriptions": { "typeIdentifier": "t_contract$_IComponent_$22099", "typeString": "contract IComponent" } } }, "visibility": "private" }, { "constant": false, "id": 5530, "mutability": "mutable", "name": "_componentIdByName", "nameLocation": "744:18:75", "nodeType": "VariableDeclaration", "scope": 6504, "src": "708:54:75", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" }, "typeName": { "id": 5529, "keyType": { "id": 5527, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "716:7:75", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", "src": "708:27:75", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", "typeString": "mapping(bytes32 => uint256)" }, "valueType": { "id": 5528, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "727:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, "visibility": "private" }, { "constant": false, "id": 5534, "mutability": "mutable", "name": "_componentIdByAddress", "nameLocation": "804:21:75", "nodeType": "VariableDeclaration", "scope": 6504, "src": "768:57:75", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "typeName": { "id": 5533, "keyType": { "id": 5531, "name": "address", "nodeType": "ElementaryTypeName", "src": "776:7:75", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "768:27:75", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { "id": 5532, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "787:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } }, "visibility": "private" }, { "constant": false, "id": 5539, "mutability": "mutable", "name": "_componentState", "nameLocation": "886:15:75", "nodeType": "VariableDeclaration", "scope": 6504, "src": "832:69:75", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_enum$_ComponentState_$22010_$", "typeString": "mapping(uint256 => enum IComponent.ComponentState)" }, "typeName": { "id": 5538, "keyType": { "id": 5535, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "840:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", "src": "832:45:75", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_enum$_ComponentState_$22010_$", "typeString": "mapping(uint256 => enum IComponent.ComponentState)" }, "valueType": { "id": 5537, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 5536, "name": "IComponent.ComponentState", "nodeType": "IdentifierPath", "referencedDeclaration": 22010, "src": "851:25:75" }, "referencedDeclaration": 22010, "src": "851:25:75", "typeDescriptions": { "typeIdentifier": "t_enum$_ComponentState_$22010", "typeString": "enum IComponent.ComponentState" } } }, "visibility": "private" }, { "constant": false, "id": 5542, "mutability": "mutable", "name": "_products", "nameLocation": "938:9:75", "nodeType": "VariableDeclaration", "scope": 6504, "src": "908:39:75", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_struct$_UintSet_$19260_storage", "typeString": "struct EnumerableSet.UintSet" }, "typeName": { "id": 5541, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 5540, "name": "EnumerableSet.UintSet", "nodeType": "IdentifierPath", "referencedDeclaration": 19260, "src": "908:21:75" }, "referencedDeclaration": 19260, "src": "908:21:75", "typeDescriptions": { "typeIdentifier": "t_struct$_UintSet_$19260_storage_ptr", "typeString": "struct EnumerableSet.UintSet" } }, "visibility": "private" }, { "constant": false, "id": 5545, "mutability": "mutable", "name": "_oracles", "nameLocation": "983:8:75", "nodeType": "VariableDeclaration", "scope": 6504, "src": "953:38:75", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_struct$_UintSet_$19260_storage", "typeString": "struct EnumerableSet.UintSet" }, "typeName": { "id": 5544, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 5543, "name": "EnumerableSet.UintSet", "nodeType": "IdentifierPath", "referencedDeclaration": 19260, "src": "953:21:75" }, "referencedDeclaration": 19260, "src": "953:21:75", "typeDescriptions": { "typeIdentifier": "t_struct$_UintSet_$19260_storage_ptr", "typeString": "struct EnumerableSet.UintSet" } }, "visibility": "private" }, { "constant": false, "id": 5548, "mutability": "mutable", "name": "_riskpools", "nameLocation": "1027:10:75", "nodeType": "VariableDeclaration", "scope": 6504, "src": "997:40:75", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_struct$_UintSet_$19260_storage", "typeString": "struct EnumerableSet.UintSet" }, "typeName": { "id": 5547, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 5546, "name": "EnumerableSet.UintSet", "nodeType": "IdentifierPath", "referencedDeclaration": 19260, "src": "997:21:75" }, "referencedDeclaration": 19260, "src": "997:21:75", "typeDescriptions": { "typeIdentifier": "t_struct$_UintSet_$19260_storage_ptr", "typeString": "struct EnumerableSet.UintSet" } }, "visibility": "private" }, { "constant": false, "id": 5550, "mutability": "mutable", "name": "_componentCount", "nameLocation": "1059:15:75", "nodeType": "VariableDeclaration", "scope": 6504, "src": "1043:31:75", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 5549, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1043:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "private" }, { "constant": false, "id": 5554, "mutability": "mutable", "name": "_policyFlowByProductId", "nameLocation": "1160:22:75", "nodeType": "VariableDeclaration", "scope": 6504, "src": "1081:101:75", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" }, "typeName": { "id": 5553, "keyType": { "id": 5551, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1089:7:75", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", "src": "1081:70:75", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", "typeString": "mapping(uint256 => address)" }, "valueType": { "id": 5552, "name": "address", "nodeType": "ElementaryTypeName", "src": "1117:7:75", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } }, "visibility": "private" }, { "body": { "id": 5567, "nodeType": "Block", "src": "1226:167:75", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 5562, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [], "expression": { "argumentTypes": [], "id": 5557, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 24064, "src": "1257:10:75", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, "id": 5558, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1257:12:75", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "arguments": [ { "hexValue": "436f6d706f6e656e744f776e657253657276696365", "id": 5560, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1293:23:75", "typeDescriptions": { "typeIdentifier": "t_stringliteral_95855e0e8f5cd64ffc781762663437a44ef7554eea00fdb413a3a655c097a675", "typeString": "literal_string \"ComponentOwnerService\"" }, "value": "ComponentOwnerService" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_95855e0e8f5cd64ffc781762663437a44ef7554eea00fdb413a3a655c097a675", "typeString": "literal_string \"ComponentOwnerService\"" } ], "id": 5559, "name": "_getContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 14923, "src": "1273:19:75", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32) view returns (address)" } }, "id": 5561, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1273:44:75", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "1257:60:75", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "4552524f523a4343522d3030313a4e4f545f434f4d504f4e454e545f4f574e45525f53455256494345", "id": 5563, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1331:43:75", "typeDescriptions": { "typeIdentifier": "t_stringliteral_2b163f71e59f0a392de25481a553757716afafc14f2c0ddf4ef8779c20751707", "typeString": "literal_string \"ERROR:CCR-001:NOT_COMPONENT_OWNER_SERVICE\"" }, "value": "ERROR:CCR-001:NOT_COMPONENT_OWNER_SERVICE" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_2b163f71e59f0a392de25481a553757716afafc14f2c0ddf4ef8779c20751707", "typeString": "literal_string \"ERROR:CCR-001:NOT_COMPONENT_OWNER_SERVICE\"" } ], "id": 5556, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "1236:7:75", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 5564, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1236:139:75", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 5565, "nodeType": "ExpressionStatement", "src": "1236:139:75" }, { "id": 5566, "nodeType": "PlaceholderStatement", "src": "1385:1:75" } ] }, "id": 5568, "name": "onlyComponentOwnerService", "nameLocation": "1198:25:75", "nodeType": "ModifierDefinition", "parameters": { "id": 5555, "nodeType": "ParameterList", "parameters": [], "src": "1223:2:75" }, "src": "1189:204:75", "virtual": false, "visibility": "internal" }, { "body": { "id": 5581, "nodeType": "Block", "src": "1438:171:75", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 5576, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [], "expression": { "argumentTypes": [], "id": 5571, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 24064, "src": "1469:10:75", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, "id": 5572, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1469:12:75", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "arguments": [ { "hexValue": "496e7374616e63654f70657261746f7253657276696365", "id": 5574, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1505:25:75", "typeDescriptions": { "typeIdentifier": "t_stringliteral_893eee863631637173ead46f1c66388136d13bfeb40cdedfb3bfe4f34f933544", "typeString": "literal_string \"InstanceOperatorService\"" }, "value": "InstanceOperatorService" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_893eee863631637173ead46f1c66388136d13bfeb40cdedfb3bfe4f34f933544", "typeString": "literal_string \"InstanceOperatorService\"" } ], "id": 5573, "name": "_getContractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 14923, "src": "1485:19:75", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32) view returns (address)" } }, "id": 5575, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1485:46:75", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "1469:62:75", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "4552524f523a4343522d3030323a4e4f545f494e5354414e43455f4f50455241544f525f53455256494345", "id": 5577, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1545:45:75", "typeDescriptions": { "typeIdentifier": "t_stringliteral_130007efea4d49cc157bd5faf2f1c80f98e50627fe669a9a215b28142c1ee23f", "typeString": "literal_string \"ERROR:CCR-002:NOT_INSTANCE_OPERATOR_SERVICE\"" }, "value": "ERROR:CCR-002:NOT_INSTANCE_OPERATOR_SERVICE" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_130007efea4d49cc157bd5faf2f1c80f98e50627fe669a9a215b28142c1ee23f", "typeString": "literal_string \"ERROR:CCR-002:NOT_INSTANCE_OPERATOR_SERVICE\"" } ], "id": 5570, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "1448:7:75", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 5578, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1448:143:75", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 5579, "nodeType": "ExpressionStatement", "src": "1448:143:75" }, { "id": 5580, "nodeType": "PlaceholderStatement", "src": "1601:1:75" } ] }, "id": 5582, "name": "onlyInstanceOperatorService", "nameLocation": "1408:27:75", "nodeType": "M