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,333 lines 42.3 kB
{ "abi": [ { "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" }, { "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": "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": "getRegistry", "outputs": [ { "internalType": "contract IRegistry", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getState", "outputs": [ { "internalType": "enum IComponent.ComponentState", "name": "", "type": "uint8" } ], "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": "pauseCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "proposalCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "resumeCallback", "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": [], "name": "unpauseCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "allSourcePaths": { "21": "contracts/modules/IRegistry.sol", "7": "contracts/components/IComponent.sol" }, "ast": { "absolutePath": "contracts/components/IComponent.sol", "exportedSymbols": { "IComponent": [ 812 ], "IRegistry": [ 3538 ] }, "id": 813, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 710, "literals": [ "solidity", "0.8", ".2" ], "nodeType": "PragmaDirective", "src": "39:22:7" }, { "absolutePath": "contracts/modules/IRegistry.sol", "file": "../modules/IRegistry.sol", "id": 711, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 813, "sourceUnit": 3539, "src": "63:34:7", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "interface", "fullyImplemented": false, "id": 812, "linearizedBaseContracts": [ 812 ], "name": "IComponent", "nameLocation": "109:10:7", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "IComponent.ComponentType", "id": 715, "members": [ { "id": 712, "name": "Oracle", "nameLocation": "156:6:7", "nodeType": "EnumValue", "src": "156:6:7" }, { "id": 713, "name": "Product", "nameLocation": "172:7:7", "nodeType": "EnumValue", "src": "172:7:7" }, { "id": 714, "name": "Riskpool", "nameLocation": "189:8:7", "nodeType": "EnumValue", "src": "189:8:7" } ], "name": "ComponentType", "nameLocation": "132:13:7", "nodeType": "EnumDefinition", "src": "127:76:7" }, { "canonicalName": "IComponent.ComponentState", "id": 723, "members": [ { "id": 716, "name": "Created", "nameLocation": "239:7:7", "nodeType": "EnumValue", "src": "239:7:7" }, { "id": 717, "name": "Proposed", "nameLocation": "256:8:7", "nodeType": "EnumValue", "src": "256:8:7" }, { "id": 718, "name": "Declined", "nameLocation": "274:8:7", "nodeType": "EnumValue", "src": "274:8:7" }, { "id": 719, "name": "Active", "nameLocation": "292:6:7", "nodeType": "EnumValue", "src": "292:6:7" }, { "id": 720, "name": "Paused", "nameLocation": "308:6:7", "nodeType": "EnumValue", "src": "308:6:7" }, { "id": 721, "name": "Suspended", "nameLocation": "324:9:7", "nodeType": "EnumValue", "src": "324:9:7" }, { "id": 722, "name": "Archived", "nameLocation": "343:8:7", "nodeType": "EnumValue", "src": "343:8:7" } ], "name": "ComponentState", "nameLocation": "214:14:7", "nodeType": "EnumDefinition", "src": "209:148:7" }, { "anonymous": false, "id": 734, "name": "LogComponentCreated", "nameLocation": "369:19:7", "nodeType": "EventDefinition", "parameters": { "id": 733, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 725, "indexed": false, "mutability": "mutable", "name": "componentName", "nameLocation": "407:13:7", "nodeType": "VariableDeclaration", "scope": 734, "src": "399:21:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 724, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "399:7:7", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 728, "indexed": false, "mutability": "mutable", "name": "componentType", "nameLocation": "455:13:7", "nodeType": "VariableDeclaration", "scope": 734, "src": "430:38:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_ComponentType_$715", "typeString": "enum IComponent.ComponentType" }, "typeName": { "id": 727, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 726, "name": "IComponent.ComponentType", "nodeType": "IdentifierPath", "referencedDeclaration": 715, "src": "430:24:7" }, "referencedDeclaration": 715, "src": "430:24:7", "typeDescriptions": { "typeIdentifier": "t_enum$_ComponentType_$715", "typeString": "enum IComponent.ComponentType" } }, "visibility": "internal" }, { "constant": false, "id": 730, "indexed": false, "mutability": "mutable", "name": "componentAddress", "nameLocation": "486:16:7", "nodeType": "VariableDeclaration", "scope": 734, "src": "478:24:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 729, "name": "address", "nodeType": "ElementaryTypeName", "src": "478:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 732, "indexed": false, "mutability": "mutable", "name": "registryAddress", "nameLocation": "520:15:7", "nodeType": "VariableDeclaration", "scope": 734, "src": "512:23:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 731, "name": "address", "nodeType": "ElementaryTypeName", "src": "512:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "389:147:7" }, "src": "363:174:7" }, { "functionSelector": "d0e0ba95", "id": 739, "implemented": false, "kind": "function", "modifiers": [], "name": "setId", "nameLocation": "552:5:7", "nodeType": "FunctionDefinition", "parameters": { "id": 737, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 736, "mutability": "mutable", "name": "id", "nameLocation": "566:2:7", "nodeType": "VariableDeclaration", "scope": 739, "src": "558:10:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 735, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "558:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "557:12:7" }, "returnParameters": { "id": 738, "nodeType": "ParameterList", "parameters": [], "src": "578:0:7" }, "scope": 812, "src": "543:36:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "functionSelector": "17d7de7c", "id": 744, "implemented": false, "kind": "function", "modifiers": [], "name": "getName", "nameLocation": "594:7:7", "nodeType": "FunctionDefinition", "parameters": { "id": 740, "nodeType": "ParameterList", "parameters": [], "src": "601:2:7" }, "returnParameters": { "id": 743, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 742, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 744, "src": "626:7:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 741, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "626:7:7", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "625:9:7" }, "scope": 812, "src": "585:50:7", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "5d1ca631", "id": 749, "implemented": false, "kind": "function", "modifiers": [], "name": "getId", "nameLocation": "649:5:7", "nodeType": "FunctionDefinition", "parameters": { "id": 745, "nodeType": "ParameterList", "parameters": [], "src": "654:2:7" }, "returnParameters": { "id": 748, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 747, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 749, "src": "679:7:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 746, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "679:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "678:9:7" }, "scope": 812, "src": "640:48:7", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "15dae03e", "id": 755, "implemented": false, "kind": "function", "modifiers": [], "name": "getType", "nameLocation": "702:7:7", "nodeType": "FunctionDefinition", "parameters": { "id": 750, "nodeType": "ParameterList", "parameters": [], "src": "709:2:7" }, "returnParameters": { "id": 754, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 753, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 755, "src": "734:13:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_ComponentType_$715", "typeString": "enum IComponent.ComponentType" }, "typeName": { "id": 752, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 751, "name": "ComponentType", "nodeType": "IdentifierPath", "referencedDeclaration": 715, "src": "734:13:7" }, "referencedDeclaration": 715, "src": "734:13:7", "typeDescriptions": { "typeIdentifier": "t_enum$_ComponentType_$715", "typeString": "enum IComponent.ComponentType" } }, "visibility": "internal" } ], "src": "733:15:7" }, "scope": 812, "src": "693:56:7", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "1865c57d", "id": 761, "implemented": false, "kind": "function", "modifiers": [], "name": "getState", "nameLocation": "763:8:7", "nodeType": "FunctionDefinition", "parameters": { "id": 756, "nodeType": "ParameterList", "parameters": [], "src": "771:2:7" }, "returnParameters": { "id": 760, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 759, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 761, "src": "796:14:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_ComponentState_$723", "typeString": "enum IComponent.ComponentState" }, "typeName": { "id": 758, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 757, "name": "ComponentState", "nodeType": "IdentifierPath", "referencedDeclaration": 723, "src": "796:14:7" }, "referencedDeclaration": 723, "src": "796:14:7", "typeDescriptions": { "typeIdentifier": "t_enum$_ComponentState_$723", "typeString": "enum IComponent.ComponentState" } }, "visibility": "internal" } ], "src": "795:16:7" }, "scope": 812, "src": "754:58:7", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "893d20e8", "id": 766, "implemented": false, "kind": "function", "modifiers": [], "name": "getOwner", "nameLocation": "826:8:7", "nodeType": "FunctionDefinition", "parameters": { "id": 762, "nodeType": "ParameterList", "parameters": [], "src": "834:2:7" }, "returnParameters": { "id": 765, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 764, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 766, "src": "859:7:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 763, "name": "address", "nodeType": "ElementaryTypeName", "src": "859:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "858:9:7" }, "scope": 812, "src": "817:51:7", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "e0815f0d", "id": 771, "implemented": false, "kind": "function", "modifiers": [], "name": "isProduct", "nameLocation": "883:9:7", "nodeType": "FunctionDefinition", "parameters": { "id": 767, "nodeType": "ParameterList", "parameters": [], "src": "892:2:7" }, "returnParameters": { "id": 770, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 769, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 771, "src": "917:4:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 768, "name": "bool", "nodeType": "ElementaryTypeName", "src": "917:4:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "916:6:7" }, "scope": 812, "src": "874:49:7", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "9a82f890", "id": 776, "implemented": false, "kind": "function", "modifiers": [], "name": "isOracle", "nameLocation": "937:8:7", "nodeType": "FunctionDefinition", "parameters": { "id": 772, "nodeType": "ParameterList", "parameters": [], "src": "945:2:7" }, "returnParameters": { "id": 775, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 774, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 776, "src": "970:4:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 773, "name": "bool", "nodeType": "ElementaryTypeName", "src": "970:4:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "969:6:7" }, "scope": 812, "src": "928:48:7", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "258d560c", "id": 781, "implemented": false, "kind": "function", "modifiers": [], "name": "isRiskpool", "nameLocation": "990:10:7", "nodeType": "FunctionDefinition", "parameters": { "id": 777, "nodeType": "ParameterList", "parameters": [], "src": "1000:2:7" }, "returnParameters": { "id": 780, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 779, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 781, "src": "1025:4:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 778, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1025:4:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "1024:6:7" }, "scope": 812, "src": "981:50:7", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "5ab1bd53", "id": 787, "implemented": false, "kind": "function", "modifiers": [], "name": "getRegistry", "nameLocation": "1046:11:7", "nodeType": "FunctionDefinition", "parameters": { "id": 782, "nodeType": "ParameterList", "parameters": [], "src": "1057:2:7" }, "returnParameters": { "id": 786, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 785, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 787, "src": "1082:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_IRegistry_$3538", "typeString": "contract IRegistry" }, "typeName": { "id": 784, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 783, "name": "IRegistry", "nodeType": "IdentifierPath", "referencedDeclaration": 3538, "src": "1082:9:7" }, "referencedDeclaration": 3538, "src": "1082:9:7", "typeDescriptions": { "typeIdentifier": "t_contract$_IRegistry_$3538", "typeString": "contract IRegistry" } }, "visibility": "internal" } ], "src": "1081:11:7" }, "scope": 812, "src": "1037:56:7", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "638ce0ba", "id": 790, "implemented": false, "kind": "function", "modifiers": [], "name": "proposalCallback", "nameLocation": "1108:16:7", "nodeType": "FunctionDefinition", "parameters": { "id": 788, "nodeType": "ParameterList", "parameters": [], "src": "1124:2:7" }, "returnParameters": { "id": 789, "nodeType": "ParameterList", "parameters": [], "src": "1135:0:7" }, "scope": 812, "src": "1099:37:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "functionSelector": "1b867c63", "id": 793, "implemented": false, "kind": "function", "modifiers": [], "name": "approvalCallback", "nameLocation": "1150:16:7", "nodeType": "FunctionDefinition", "parameters": { "id": 791, "nodeType": "ParameterList", "parameters": [], "src": "1166:2:7" }, "returnParameters": { "id": 792, "nodeType": "ParameterList", "parameters": [], "src": "1177:0:7" }, "scope": 812, "src": "1141:37:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "functionSelector": "bd1fe5d0", "id": 796, "implemented": false, "kind": "function", "modifiers": [], "name": "declineCallback", "nameLocation": "1193:15:7", "nodeType": "FunctionDefinition", "parameters": { "id": 794, "nodeType": "ParameterList", "parameters": [], "src": "1208:2:7" }, "returnParameters": { "id": 795, "nodeType": "ParameterList", "parameters": [], "src": "1219:0:7" }, "scope": 812, "src": "1184:36:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "functionSelector": "b3fca9bd", "id": 799, "implemented": false, "kind": "function", "modifiers": [], "name": "suspendCallback", "nameLocation": "1234:15:7", "nodeType": "FunctionDefinition", "parameters": { "id": 797, "nodeType": "ParameterList", "parameters": [], "src": "1249:2:7" }, "returnParameters": { "id": 798, "nodeType": "ParameterList", "parameters": [], "src": "1260:0:7" }, "scope": 812, "src": "1225:36:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "functionSelector": "a18f5ae2", "id": 802, "implemented": false, "kind": "function", "modifiers": [], "name": "resumeCallback", "nameLocation": "1275:14:7", "nodeType": "FunctionDefinition", "parameters": { "id": 800, "nodeType": "ParameterList", "parameters": [], "src": "1289:2:7" }, "returnParameters": { "id": 801, "nodeType": "ParameterList", "parameters": [], "src": "1300:0:7" }, "scope": 812, "src": "1266:35:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "functionSelector": "d73cd992", "id": 805, "implemented": false, "kind": "function", "modifiers": [], "name": "pauseCallback", "nameLocation": "1315:13:7", "nodeType": "FunctionDefinition", "parameters": { "id": 803, "nodeType": "ParameterList", "parameters": [], "src": "1328:2:7" }, "returnParameters": { "id": 804, "nodeType": "ParameterList", "parameters": [], "src": "1339:0:7" }, "scope": 812, "src": "1306:34:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "functionSelector": "59dacc6a", "id": 808, "implemented": false, "kind": "function", "modifiers": [], "name": "unpauseCallback", "nameLocation": "1354:15:7", "nodeType": "FunctionDefinition", "parameters": { "id": 806, "nodeType": "ParameterList", "parameters": [], "src": "1369:2:7" }, "returnParameters": { "id": 807, "nodeType": "ParameterList", "parameters": [], "src": "1380:0:7" }, "scope": 812, "src": "1345:36:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "functionSelector": "be169e7e", "id": 811, "implemented": false, "kind": "function", "modifiers": [], "name": "archiveCallback", "nameLocation": "1395:15:7", "nodeType": "FunctionDefinition", "parameters": { "id": 809, "nodeType": "ParameterList", "parameters": [], "src": "1410:2:7" }, "returnParameters": { "id": 810, "nodeType": "ParameterList", "parameters": [], "src": "1421:0:7" }, "scope": 812, "src": "1386:36:7", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], "scope": 813, "src": "99:1325:7" } ], "src": "39:1385:7" }, "bytecode": "", "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", "compiler": { "evm_version": "istanbul", "optimizer": { "enabled": true, "runs": 200 }, "version": "0.8.2+commit.661d1103" }, "contractName": "IComponent", "coverageMap": { "branches": {}, "statements": {} }, "dependencies": [ "IRegistry" ], "deployedBytecode": "", "deployedSourceMap": "", "language": "Solidity", "natspec": { "kind": "dev", "methods": {}, "version": 1 }, "offset": [ 99, 1424 ], "opcodes": "", "pcMap": {}, "sha1": "cb9d9b2da7adb18b220a1035768db4d3ae3c617c", "source": "// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.2;\n\nimport \"../modules/IRegistry.sol\";\n\ninterface IComponent {\n\n enum ComponentType {\n Oracle,\n Product,\n Riskpool\n }\n\n enum ComponentState {\n Created,\n Proposed,\n Declined,\n Active,\n Paused,\n Suspended,\n Archived\n }\n\n event LogComponentCreated (\n bytes32 componentName,\n IComponent.ComponentType componentType,\n address componentAddress,\n address registryAddress);\n\n function setId(uint256 id) external;\n\n function getName() external view returns(bytes32);\n function getId() external view returns(uint256);\n function getType() external view returns(ComponentType);\n function getState() external view returns(ComponentState);\n function getOwner() external view returns(address);\n\n function isProduct() external view returns(bool);\n function isOracle() external view returns(bool);\n function isRiskpool() external view returns(bool);\n\n function getRegistry() external view returns(IRegistry);\n\n function proposalCallback() external;\n function approvalCallback() external; \n function declineCallback() external;\n function suspendCallback() external;\n function resumeCallback() external;\n function pauseCallback() external;\n function unpauseCallback() external;\n function archiveCallback() external;\n}", "sourceMap": "", "sourcePath": "contracts/components/IComponent.sol", "type": "interface" }