@etherisc/gif-contracts
Version:
This repository holds the GIF core contracts and tools to develop, test and deploy GIF instances.
1,333 lines • 43.1 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": {
"30": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol",
"44": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IRegistry.sol"
},
"ast": {
"absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol",
"exportedSymbols": {
"IComponent": [
22099
],
"IRegistry": [
21750
]
},
"id": 22100,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 21997,
"literals": [
"solidity",
"0.8",
".2"
],
"nodeType": "PragmaDirective",
"src": "40:22:30"
},
{
"absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IRegistry.sol",
"file": "../modules/IRegistry.sol",
"id": 21998,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 22100,
"sourceUnit": 21751,
"src": "66:34:30",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"fullyImplemented": false,
"id": 22099,
"linearizedBaseContracts": [
22099
],
"name": "IComponent",
"nameLocation": "114:10:30",
"nodeType": "ContractDefinition",
"nodes": [
{
"canonicalName": "IComponent.ComponentType",
"id": 22002,
"members": [
{
"id": 21999,
"name": "Oracle",
"nameLocation": "164:6:30",
"nodeType": "EnumValue",
"src": "164:6:30"
},
{
"id": 22000,
"name": "Product",
"nameLocation": "181:7:30",
"nodeType": "EnumValue",
"src": "181:7:30"
},
{
"id": 22001,
"name": "Riskpool",
"nameLocation": "199:8:30",
"nodeType": "EnumValue",
"src": "199:8:30"
}
],
"name": "ComponentType",
"nameLocation": "139:13:30",
"nodeType": "EnumDefinition",
"src": "134:80:30"
},
{
"canonicalName": "IComponent.ComponentState",
"id": 22010,
"members": [
{
"id": 22003,
"name": "Created",
"nameLocation": "253:7:30",
"nodeType": "EnumValue",
"src": "253:7:30"
},
{
"id": 22004,
"name": "Proposed",
"nameLocation": "271:8:30",
"nodeType": "EnumValue",
"src": "271:8:30"
},
{
"id": 22005,
"name": "Declined",
"nameLocation": "290:8:30",
"nodeType": "EnumValue",
"src": "290:8:30"
},
{
"id": 22006,
"name": "Active",
"nameLocation": "309:6:30",
"nodeType": "EnumValue",
"src": "309:6:30"
},
{
"id": 22007,
"name": "Paused",
"nameLocation": "326:6:30",
"nodeType": "EnumValue",
"src": "326:6:30"
},
{
"id": 22008,
"name": "Suspended",
"nameLocation": "343:9:30",
"nodeType": "EnumValue",
"src": "343:9:30"
},
{
"id": 22009,
"name": "Archived",
"nameLocation": "363:8:30",
"nodeType": "EnumValue",
"src": "363:8:30"
}
],
"name": "ComponentState",
"nameLocation": "227:14:30",
"nodeType": "EnumDefinition",
"src": "222:156:30"
},
{
"anonymous": false,
"id": 22021,
"name": "LogComponentCreated",
"nameLocation": "392:19:30",
"nodeType": "EventDefinition",
"parameters": {
"id": 22020,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22012,
"indexed": false,
"mutability": "mutable",
"name": "componentName",
"nameLocation": "431:13:30",
"nodeType": "VariableDeclaration",
"scope": 22021,
"src": "423:21:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 22011,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "423:7:30",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 22015,
"indexed": false,
"mutability": "mutable",
"name": "componentType",
"nameLocation": "480:13:30",
"nodeType": "VariableDeclaration",
"scope": 22021,
"src": "455:38:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_ComponentType_$22002",
"typeString": "enum IComponent.ComponentType"
},
"typeName": {
"id": 22014,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 22013,
"name": "IComponent.ComponentType",
"nodeType": "IdentifierPath",
"referencedDeclaration": 22002,
"src": "455:24:30"
},
"referencedDeclaration": 22002,
"src": "455:24:30",
"typeDescriptions": {
"typeIdentifier": "t_enum$_ComponentType_$22002",
"typeString": "enum IComponent.ComponentType"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 22017,
"indexed": false,
"mutability": "mutable",
"name": "componentAddress",
"nameLocation": "512:16:30",
"nodeType": "VariableDeclaration",
"scope": 22021,
"src": "504:24:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 22016,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "504:7:30",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 22019,
"indexed": false,
"mutability": "mutable",
"name": "registryAddress",
"nameLocation": "547:15:30",
"nodeType": "VariableDeclaration",
"scope": 22021,
"src": "539:23:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 22018,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "539:7:30",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "412:151:30"
},
"src": "386:178:30"
},
{
"functionSelector": "d0e0ba95",
"id": 22026,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "setId",
"nameLocation": "581:5:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22024,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22023,
"mutability": "mutable",
"name": "id",
"nameLocation": "595:2:30",
"nodeType": "VariableDeclaration",
"scope": 22026,
"src": "587:10:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 22022,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "587:7:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "586:12:30"
},
"returnParameters": {
"id": 22025,
"nodeType": "ParameterList",
"parameters": [],
"src": "607:0:30"
},
"scope": 22099,
"src": "572:36:30",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "17d7de7c",
"id": 22031,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getName",
"nameLocation": "625:7:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22027,
"nodeType": "ParameterList",
"parameters": [],
"src": "632:2:30"
},
"returnParameters": {
"id": 22030,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22029,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 22031,
"src": "657:7:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 22028,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "657:7:30",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"src": "656:9:30"
},
"scope": 22099,
"src": "616:50:30",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "5d1ca631",
"id": 22036,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getId",
"nameLocation": "681:5:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22032,
"nodeType": "ParameterList",
"parameters": [],
"src": "686:2:30"
},
"returnParameters": {
"id": 22035,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22034,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 22036,
"src": "711:7:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 22033,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "711:7:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "710:9:30"
},
"scope": 22099,
"src": "672:48:30",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "15dae03e",
"id": 22042,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getType",
"nameLocation": "735:7:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22037,
"nodeType": "ParameterList",
"parameters": [],
"src": "742:2:30"
},
"returnParameters": {
"id": 22041,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22040,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 22042,
"src": "767:13:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_ComponentType_$22002",
"typeString": "enum IComponent.ComponentType"
},
"typeName": {
"id": 22039,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 22038,
"name": "ComponentType",
"nodeType": "IdentifierPath",
"referencedDeclaration": 22002,
"src": "767:13:30"
},
"referencedDeclaration": 22002,
"src": "767:13:30",
"typeDescriptions": {
"typeIdentifier": "t_enum$_ComponentType_$22002",
"typeString": "enum IComponent.ComponentType"
}
},
"visibility": "internal"
}
],
"src": "766:15:30"
},
"scope": 22099,
"src": "726:56:30",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "1865c57d",
"id": 22048,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getState",
"nameLocation": "797:8:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22043,
"nodeType": "ParameterList",
"parameters": [],
"src": "805:2:30"
},
"returnParameters": {
"id": 22047,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22046,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 22048,
"src": "830:14:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_ComponentState_$22010",
"typeString": "enum IComponent.ComponentState"
},
"typeName": {
"id": 22045,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 22044,
"name": "ComponentState",
"nodeType": "IdentifierPath",
"referencedDeclaration": 22010,
"src": "830:14:30"
},
"referencedDeclaration": 22010,
"src": "830:14:30",
"typeDescriptions": {
"typeIdentifier": "t_enum$_ComponentState_$22010",
"typeString": "enum IComponent.ComponentState"
}
},
"visibility": "internal"
}
],
"src": "829:16:30"
},
"scope": 22099,
"src": "788:58:30",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "893d20e8",
"id": 22053,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getOwner",
"nameLocation": "861:8:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22049,
"nodeType": "ParameterList",
"parameters": [],
"src": "869:2:30"
},
"returnParameters": {
"id": 22052,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22051,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 22053,
"src": "894:7:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 22050,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "894:7:30",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "893:9:30"
},
"scope": 22099,
"src": "852:51:30",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "e0815f0d",
"id": 22058,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "isProduct",
"nameLocation": "920:9:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22054,
"nodeType": "ParameterList",
"parameters": [],
"src": "929:2:30"
},
"returnParameters": {
"id": 22057,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22056,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 22058,
"src": "954:4:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 22055,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "954:4:30",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "953:6:30"
},
"scope": 22099,
"src": "911:49:30",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "9a82f890",
"id": 22063,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "isOracle",
"nameLocation": "975:8:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22059,
"nodeType": "ParameterList",
"parameters": [],
"src": "983:2:30"
},
"returnParameters": {
"id": 22062,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22061,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 22063,
"src": "1008:4:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 22060,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1008:4:30",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "1007:6:30"
},
"scope": 22099,
"src": "966:48:30",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "258d560c",
"id": 22068,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "isRiskpool",
"nameLocation": "1029:10:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22064,
"nodeType": "ParameterList",
"parameters": [],
"src": "1039:2:30"
},
"returnParameters": {
"id": 22067,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22066,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 22068,
"src": "1064:4:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 22065,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1064:4:30",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "1063:6:30"
},
"scope": 22099,
"src": "1020:50:30",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "5ab1bd53",
"id": 22074,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getRegistry",
"nameLocation": "1087:11:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22069,
"nodeType": "ParameterList",
"parameters": [],
"src": "1098:2:30"
},
"returnParameters": {
"id": 22073,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22072,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 22074,
"src": "1123:9:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IRegistry_$21750",
"typeString": "contract IRegistry"
},
"typeName": {
"id": 22071,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 22070,
"name": "IRegistry",
"nodeType": "IdentifierPath",
"referencedDeclaration": 21750,
"src": "1123:9:30"
},
"referencedDeclaration": 21750,
"src": "1123:9:30",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IRegistry_$21750",
"typeString": "contract IRegistry"
}
},
"visibility": "internal"
}
],
"src": "1122:11:30"
},
"scope": 22099,
"src": "1078:56:30",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "638ce0ba",
"id": 22077,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "proposalCallback",
"nameLocation": "1151:16:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22075,
"nodeType": "ParameterList",
"parameters": [],
"src": "1167:2:30"
},
"returnParameters": {
"id": 22076,
"nodeType": "ParameterList",
"parameters": [],
"src": "1178:0:30"
},
"scope": 22099,
"src": "1142:37:30",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "1b867c63",
"id": 22080,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "approvalCallback",
"nameLocation": "1194:16:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22078,
"nodeType": "ParameterList",
"parameters": [],
"src": "1210:2:30"
},
"returnParameters": {
"id": 22079,
"nodeType": "ParameterList",
"parameters": [],
"src": "1221:0:30"
},
"scope": 22099,
"src": "1185:37:30",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "bd1fe5d0",
"id": 22083,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "declineCallback",
"nameLocation": "1238:15:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22081,
"nodeType": "ParameterList",
"parameters": [],
"src": "1253:2:30"
},
"returnParameters": {
"id": 22082,
"nodeType": "ParameterList",
"parameters": [],
"src": "1264:0:30"
},
"scope": 22099,
"src": "1229:36:30",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "b3fca9bd",
"id": 22086,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "suspendCallback",
"nameLocation": "1280:15:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22084,
"nodeType": "ParameterList",
"parameters": [],
"src": "1295:2:30"
},
"returnParameters": {
"id": 22085,
"nodeType": "ParameterList",
"parameters": [],
"src": "1306:0:30"
},
"scope": 22099,
"src": "1271:36:30",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "a18f5ae2",
"id": 22089,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "resumeCallback",
"nameLocation": "1322:14:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22087,
"nodeType": "ParameterList",
"parameters": [],
"src": "1336:2:30"
},
"returnParameters": {
"id": 22088,
"nodeType": "ParameterList",
"parameters": [],
"src": "1347:0:30"
},
"scope": 22099,
"src": "1313:35:30",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "d73cd992",
"id": 22092,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "pauseCallback",
"nameLocation": "1363:13:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22090,
"nodeType": "ParameterList",
"parameters": [],
"src": "1376:2:30"
},
"returnParameters": {
"id": 22091,
"nodeType": "ParameterList",
"parameters": [],
"src": "1387:0:30"
},
"scope": 22099,
"src": "1354:34:30",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "59dacc6a",
"id": 22095,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "unpauseCallback",
"nameLocation": "1403:15:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22093,
"nodeType": "ParameterList",
"parameters": [],
"src": "1418:2:30"
},
"returnParameters": {
"id": 22094,
"nodeType": "ParameterList",
"parameters": [],
"src": "1429:0:30"
},
"scope": 22099,
"src": "1394:36:30",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "be169e7e",
"id": 22098,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "archiveCallback",
"nameLocation": "1445:15:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22096,
"nodeType": "ParameterList",
"parameters": [],
"src": "1460:2:30"
},
"returnParameters": {
"id": 22097,
"nodeType": "ParameterList",
"parameters": [],
"src": "1471:0:30"
},
"scope": 22099,
"src": "1436:36:30",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 22100,
"src": "104:1371:30"
}
],
"src": "40:1435:30"
},
"bytecode": "",
"bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
"compiler": {
"evm_version": "istanbul",
"optimizer": {
"enabled": true,
"runs": 200
},
"version": "0.8.2+commit.661d1103"
},
"contractName": "IComponent",
"coverageMap": {
"branches": {},
"statements": {}
},
"dependencies": [
"etherisc/gif-interface@3b0002a/IRegistry"
],
"deployedBytecode": "",
"deployedSourceMap": "",
"language": "Solidity",
"natspec": {
"kind": "dev",
"methods": {},
"version": 1
},
"offset": [
104,
1475
],
"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": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol",
"type": "interface"
}