@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.
522 lines • 15.9 kB
JSON
{
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
}
],
"name": "archive",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
}
],
"name": "pause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IComponent",
"name": "component",
"type": "address"
}
],
"name": "propose",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
}
],
"name": "stake",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
}
],
"name": "unpause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
}
],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"allSourcePaths": {
"21": "contracts/modules/IRegistry.sol",
"23": "contracts/services/IComponentOwnerService.sol",
"7": "contracts/components/IComponent.sol"
},
"ast": {
"absolutePath": "contracts/services/IComponentOwnerService.sol",
"exportedSymbols": {
"IComponent": [
812
],
"IComponentOwnerService": [
3833
],
"IRegistry": [
3538
]
},
"id": 3834,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 3800,
"literals": [
"solidity",
"0.8",
".2"
],
"nodeType": "PragmaDirective",
"src": "39:22:23"
},
{
"absolutePath": "contracts/components/IComponent.sol",
"file": "../components/IComponent.sol",
"id": 3801,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 3834,
"sourceUnit": 813,
"src": "63:38:23",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"fullyImplemented": false,
"id": 3833,
"linearizedBaseContracts": [
3833
],
"name": "IComponentOwnerService",
"nameLocation": "113:22:23",
"nodeType": "ContractDefinition",
"nodes": [
{
"functionSelector": "01267951",
"id": 3807,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "propose",
"nameLocation": "152:7:23",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 3805,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3804,
"mutability": "mutable",
"name": "component",
"nameLocation": "171:9:23",
"nodeType": "VariableDeclaration",
"scope": 3807,
"src": "160:20:23",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IComponent_$812",
"typeString": "contract IComponent"
},
"typeName": {
"id": 3803,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 3802,
"name": "IComponent",
"nodeType": "IdentifierPath",
"referencedDeclaration": 812,
"src": "160:10:23"
},
"referencedDeclaration": 812,
"src": "160:10:23",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IComponent_$812",
"typeString": "contract IComponent"
}
},
"visibility": "internal"
}
],
"src": "159:22:23"
},
"returnParameters": {
"id": 3806,
"nodeType": "ParameterList",
"parameters": [],
"src": "190:0:23"
},
"scope": 3833,
"src": "143:48:23",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "a694fc3a",
"id": 3812,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "stake",
"nameLocation": "206:5:23",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 3810,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3809,
"mutability": "mutable",
"name": "id",
"nameLocation": "220:2:23",
"nodeType": "VariableDeclaration",
"scope": 3812,
"src": "212:10:23",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 3808,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "212:7:23",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "211:12:23"
},
"returnParameters": {
"id": 3811,
"nodeType": "ParameterList",
"parameters": [],
"src": "232:0:23"
},
"scope": 3833,
"src": "197:36:23",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "2e1a7d4d",
"id": 3817,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "withdraw",
"nameLocation": "247:8:23",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 3815,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3814,
"mutability": "mutable",
"name": "id",
"nameLocation": "264:2:23",
"nodeType": "VariableDeclaration",
"scope": 3817,
"src": "256:10:23",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 3813,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "256:7:23",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "255:12:23"
},
"returnParameters": {
"id": 3816,
"nodeType": "ParameterList",
"parameters": [],
"src": "276:0:23"
},
"scope": 3833,
"src": "238:39:23",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "136439dd",
"id": 3822,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "pause",
"nameLocation": "292:5:23",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 3820,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3819,
"mutability": "mutable",
"name": "id",
"nameLocation": "306:2:23",
"nodeType": "VariableDeclaration",
"scope": 3822,
"src": "298:10:23",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 3818,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "298:7:23",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "297:12:23"
},
"returnParameters": {
"id": 3821,
"nodeType": "ParameterList",
"parameters": [],
"src": "318:0:23"
},
"scope": 3833,
"src": "283:36:23",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "fabc1cbc",
"id": 3827,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "unpause",
"nameLocation": "334:7:23",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 3825,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3824,
"mutability": "mutable",
"name": "id",
"nameLocation": "350:2:23",
"nodeType": "VariableDeclaration",
"scope": 3827,
"src": "342:10:23",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 3823,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "342:7:23",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "341:12:23"
},
"returnParameters": {
"id": 3826,
"nodeType": "ParameterList",
"parameters": [],
"src": "362:0:23"
},
"scope": 3833,
"src": "325:38:23",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "93c829fc",
"id": 3832,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "archive",
"nameLocation": "378:7:23",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 3830,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3829,
"mutability": "mutable",
"name": "id",
"nameLocation": "394:2:23",
"nodeType": "VariableDeclaration",
"scope": 3832,
"src": "386:10:23",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 3828,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "386:7:23",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "385:12:23"
},
"returnParameters": {
"id": 3831,
"nodeType": "ParameterList",
"parameters": [],
"src": "406:0:23"
},
"scope": 3833,
"src": "369:38:23",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 3834,
"src": "103:306:23"
}
],
"src": "39:370:23"
},
"bytecode": "",
"bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
"compiler": {
"evm_version": "istanbul",
"optimizer": {
"enabled": true,
"runs": 200
},
"version": "0.8.2+commit.661d1103"
},
"contractName": "IComponentOwnerService",
"coverageMap": {
"branches": {},
"statements": {}
},
"dependencies": [
"IComponent",
"IRegistry"
],
"deployedBytecode": "",
"deployedSourceMap": "",
"language": "Solidity",
"natspec": {
"kind": "dev",
"methods": {},
"version": 1
},
"offset": [
103,
409
],
"opcodes": "",
"pcMap": {},
"sha1": "b42cb39241d7448d8d5b7a10fd16ce548446a89a",
"source": "// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.2;\n\nimport \"../components/IComponent.sol\";\n\ninterface IComponentOwnerService {\n\n function propose(IComponent component) external;\n\n function stake(uint256 id) external;\n function withdraw(uint256 id) external;\n\n function pause(uint256 id) external; \n function unpause(uint256 id) external;\n\n function archive(uint256 id) external;\n}",
"sourceMap": "",
"sourcePath": "contracts/services/IComponentOwnerService.sol",
"type": "interface"
}