@etherisc/depeg-contracts
Version:
Etherisc's smart contracts for a depeg insurance for stable coins.
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": {
"27": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol",
"38": "/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": [
11675
],
"IRegistry": [
21976
]
},
"id": 11676,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 11573,
"literals": [
"solidity",
"0.8",
".2"
],
"nodeType": "PragmaDirective",
"src": "40:22:27"
},
{
"absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IRegistry.sol",
"file": "../modules/IRegistry.sol",
"id": 11574,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 11676,
"sourceUnit": 21977,
"src": "66:34:27",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"fullyImplemented": false,
"id": 11675,
"linearizedBaseContracts": [
11675
],
"name": "IComponent",
"nameLocation": "114:10:27",
"nodeType": "ContractDefinition",
"nodes": [
{
"canonicalName": "IComponent.ComponentType",
"id": 11578,
"members": [
{
"id": 11575,
"name": "Oracle",
"nameLocation": "164:6:27",
"nodeType": "EnumValue",
"src": "164:6:27"
},
{
"id": 11576,
"name": "Product",
"nameLocation": "181:7:27",
"nodeType": "EnumValue",
"src": "181:7:27"
},
{
"id": 11577,
"name": "Riskpool",
"nameLocation": "199:8:27",
"nodeType": "EnumValue",
"src": "199:8:27"
}
],
"name": "ComponentType",
"nameLocation": "139:13:27",
"nodeType": "EnumDefinition",
"src": "134:80:27"
},
{
"canonicalName": "IComponent.ComponentState",
"id": 11586,
"members": [
{
"id": 11579,
"name": "Created",
"nameLocation": "253:7:27",
"nodeType": "EnumValue",
"src": "253:7:27"
},
{
"id": 11580,
"name": "Proposed",
"nameLocation": "271:8:27",
"nodeType": "EnumValue",
"src": "271:8:27"
},
{
"id": 11581,
"name": "Declined",
"nameLocation": "290:8:27",
"nodeType": "EnumValue",
"src": "290:8:27"
},
{
"id": 11582,
"name": "Active",
"nameLocation": "309:6:27",
"nodeType": "EnumValue",
"src": "309:6:27"
},
{
"id": 11583,
"name": "Paused",
"nameLocation": "326:6:27",
"nodeType": "EnumValue",
"src": "326:6:27"
},
{
"id": 11584,
"name": "Suspended",
"nameLocation": "343:9:27",
"nodeType": "EnumValue",
"src": "343:9:27"
},
{
"id": 11585,
"name": "Archived",
"nameLocation": "363:8:27",
"nodeType": "EnumValue",
"src": "363:8:27"
}
],
"name": "ComponentState",
"nameLocation": "227:14:27",
"nodeType": "EnumDefinition",
"src": "222:156:27"
},
{
"anonymous": false,
"id": 11597,
"name": "LogComponentCreated",
"nameLocation": "392:19:27",
"nodeType": "EventDefinition",
"parameters": {
"id": 11596,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11588,
"indexed": false,
"mutability": "mutable",
"name": "componentName",
"nameLocation": "431:13:27",
"nodeType": "VariableDeclaration",
"scope": 11597,
"src": "423:21:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 11587,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "423:7:27",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 11591,
"indexed": false,
"mutability": "mutable",
"name": "componentType",
"nameLocation": "480:13:27",
"nodeType": "VariableDeclaration",
"scope": 11597,
"src": "455:38:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_ComponentType_$11578",
"typeString": "enum IComponent.ComponentType"
},
"typeName": {
"id": 11590,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 11589,
"name": "IComponent.ComponentType",
"nodeType": "IdentifierPath",
"referencedDeclaration": 11578,
"src": "455:24:27"
},
"referencedDeclaration": 11578,
"src": "455:24:27",
"typeDescriptions": {
"typeIdentifier": "t_enum$_ComponentType_$11578",
"typeString": "enum IComponent.ComponentType"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 11593,
"indexed": false,
"mutability": "mutable",
"name": "componentAddress",
"nameLocation": "512:16:27",
"nodeType": "VariableDeclaration",
"scope": 11597,
"src": "504:24:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 11592,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "504:7:27",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 11595,
"indexed": false,
"mutability": "mutable",
"name": "registryAddress",
"nameLocation": "547:15:27",
"nodeType": "VariableDeclaration",
"scope": 11597,
"src": "539:23:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 11594,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "539:7:27",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "412:151:27"
},
"src": "386:178:27"
},
{
"functionSelector": "d0e0ba95",
"id": 11602,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "setId",
"nameLocation": "581:5:27",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11600,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11599,
"mutability": "mutable",
"name": "id",
"nameLocation": "595:2:27",
"nodeType": "VariableDeclaration",
"scope": 11602,
"src": "587:10:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 11598,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "587:7:27",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "586:12:27"
},
"returnParameters": {
"id": 11601,
"nodeType": "ParameterList",
"parameters": [],
"src": "607:0:27"
},
"scope": 11675,
"src": "572:36:27",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "17d7de7c",
"id": 11607,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getName",
"nameLocation": "625:7:27",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11603,
"nodeType": "ParameterList",
"parameters": [],
"src": "632:2:27"
},
"returnParameters": {
"id": 11606,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11605,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 11607,
"src": "657:7:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 11604,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "657:7:27",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"src": "656:9:27"
},
"scope": 11675,
"src": "616:50:27",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "5d1ca631",
"id": 11612,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getId",
"nameLocation": "681:5:27",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11608,
"nodeType": "ParameterList",
"parameters": [],
"src": "686:2:27"
},
"returnParameters": {
"id": 11611,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11610,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 11612,
"src": "711:7:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 11609,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "711:7:27",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "710:9:27"
},
"scope": 11675,
"src": "672:48:27",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "15dae03e",
"id": 11618,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getType",
"nameLocation": "735:7:27",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11613,
"nodeType": "ParameterList",
"parameters": [],
"src": "742:2:27"
},
"returnParameters": {
"id": 11617,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11616,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 11618,
"src": "767:13:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_ComponentType_$11578",
"typeString": "enum IComponent.ComponentType"
},
"typeName": {
"id": 11615,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 11614,
"name": "ComponentType",
"nodeType": "IdentifierPath",
"referencedDeclaration": 11578,
"src": "767:13:27"
},
"referencedDeclaration": 11578,
"src": "767:13:27",
"typeDescriptions": {
"typeIdentifier": "t_enum$_ComponentType_$11578",
"typeString": "enum IComponent.ComponentType"
}
},
"visibility": "internal"
}
],
"src": "766:15:27"
},
"scope": 11675,
"src": "726:56:27",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "1865c57d",
"id": 11624,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getState",
"nameLocation": "797:8:27",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11619,
"nodeType": "ParameterList",
"parameters": [],
"src": "805:2:27"
},
"returnParameters": {
"id": 11623,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11622,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 11624,
"src": "830:14:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_ComponentState_$11586",
"typeString": "enum IComponent.ComponentState"
},
"typeName": {
"id": 11621,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 11620,
"name": "ComponentState",
"nodeType": "IdentifierPath",
"referencedDeclaration": 11586,
"src": "830:14:27"
},
"referencedDeclaration": 11586,
"src": "830:14:27",
"typeDescriptions": {
"typeIdentifier": "t_enum$_ComponentState_$11586",
"typeString": "enum IComponent.ComponentState"
}
},
"visibility": "internal"
}
],
"src": "829:16:27"
},
"scope": 11675,
"src": "788:58:27",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "893d20e8",
"id": 11629,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getOwner",
"nameLocation": "861:8:27",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11625,
"nodeType": "ParameterList",
"parameters": [],
"src": "869:2:27"
},
"returnParameters": {
"id": 11628,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11627,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 11629,
"src": "894:7:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 11626,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "894:7:27",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "893:9:27"
},
"scope": 11675,
"src": "852:51:27",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "e0815f0d",
"id": 11634,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "isProduct",
"nameLocation": "920:9:27",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11630,
"nodeType": "ParameterList",
"parameters": [],
"src": "929:2:27"
},
"returnParameters": {
"id": 11633,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11632,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 11634,
"src": "954:4:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 11631,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "954:4:27",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "953:6:27"
},
"scope": 11675,
"src": "911:49:27",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "9a82f890",
"id": 11639,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "isOracle",
"nameLocation": "975:8:27",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11635,
"nodeType": "ParameterList",
"parameters": [],
"src": "983:2:27"
},
"returnParameters": {
"id": 11638,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11637,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 11639,
"src": "1008:4:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 11636,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1008:4:27",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "1007:6:27"
},
"scope": 11675,
"src": "966:48:27",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "258d560c",
"id": 11644,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "isRiskpool",
"nameLocation": "1029:10:27",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11640,
"nodeType": "ParameterList",
"parameters": [],
"src": "1039:2:27"
},
"returnParameters": {
"id": 11643,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11642,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 11644,
"src": "1064:4:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 11641,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1064:4:27",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "1063:6:27"
},
"scope": 11675,
"src": "1020:50:27",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "5ab1bd53",
"id": 11650,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getRegistry",
"nameLocation": "1087:11:27",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11645,
"nodeType": "ParameterList",
"parameters": [],
"src": "1098:2:27"
},
"returnParameters": {
"id": 11649,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11648,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 11650,
"src": "1123:9:27",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IRegistry_$21976",
"typeString": "contract IRegistry"
},
"typeName": {
"id": 11647,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 11646,
"name": "IRegistry",
"nodeType": "IdentifierPath",
"referencedDeclaration": 21976,
"src": "1123:9:27"
},
"referencedDeclaration": 21976,
"src": "1123:9:27",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IRegistry_$21976",
"typeString": "contract IRegistry"
}
},
"visibility": "internal"
}
],
"src": "1122:11:27"
},
"scope": 11675,
"src": "1078:56:27",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "638ce0ba",
"id": 11653,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "proposalCallback",
"nameLocation": "1151:16:27",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11651,
"nodeType": "ParameterList",
"parameters": [],
"src": "1167:2:27"
},
"returnParameters": {
"id": 11652,
"nodeType": "ParameterList",
"parameters": [],
"src": "1178:0:27"
},
"scope": 11675,
"src": "1142:37:27",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "1b867c63",
"id": 11656,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "approvalCallback",
"nameLocation": "1194:16:27",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11654,
"nodeType": "ParameterList",
"parameters": [],
"src": "1210:2:27"
},
"returnParameters": {
"id": 11655,
"nodeType": "ParameterList",
"parameters": [],
"src": "1221:0:27"
},
"scope": 11675,
"src": "1185:37:27",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "bd1fe5d0",
"id": 11659,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "declineCallback",
"nameLocation": "1238:15:27",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11657,
"nodeType": "ParameterList",
"parameters": [],
"src": "1253:2:27"
},
"returnParameters": {
"id": 11658,
"nodeType": "ParameterList",
"parameters": [],
"src": "1264:0:27"
},
"scope": 11675,
"src": "1229:36:27",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "b3fca9bd",
"id": 11662,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "suspendCallback",
"nameLocation": "1280:15:27",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11660,
"nodeType": "ParameterList",
"parameters": [],
"src": "1295:2:27"
},
"returnParameters": {
"id": 11661,
"nodeType": "ParameterList",
"parameters": [],
"src": "1306:0:27"
},
"scope": 11675,
"src": "1271:36:27",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "a18f5ae2",
"id": 11665,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "resumeCallback",
"nameLocation": "1322:14:27",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11663,
"nodeType": "ParameterList",
"parameters": [],
"src": "1336:2:27"
},
"returnParameters": {
"id": 11664,
"nodeType": "ParameterList",
"parameters": [],
"src": "1347:0:27"
},
"scope": 11675,
"src": "1313:35:27",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "d73cd992",
"id": 11668,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "pauseCallback",
"nameLocation": "1363:13:27",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11666,
"nodeType": "ParameterList",
"parameters": [],
"src": "1376:2:27"
},
"returnParameters": {
"id": 11667,
"nodeType": "ParameterList",
"parameters": [],
"src": "1387:0:27"
},
"scope": 11675,
"src": "1354:34:27",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "59dacc6a",
"id": 11671,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "unpauseCallback",
"nameLocation": "1403:15:27",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11669,
"nodeType": "ParameterList",
"parameters": [],
"src": "1418:2:27"
},
"returnParameters": {
"id": 11670,
"nodeType": "ParameterList",
"parameters": [],
"src": "1429:0:27"
},
"scope": 11675,
"src": "1394:36:27",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "be169e7e",
"id": 11674,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "archiveCallback",
"nameLocation": "1445:15:27",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 11672,
"nodeType": "ParameterList",
"parameters": [],
"src": "1460:2:27"
},
"returnParameters": {
"id": 11673,
"nodeType": "ParameterList",
"parameters": [],
"src": "1471:0:27"
},
"scope": 11675,
"src": "1436:36:27",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 11676,
"src": "104:1371:27"
}
],
"src": "40:1435:27"
},
"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"
}