@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
JSON
{
"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"
}