@etherisc/depeg-contracts
Version:
Etherisc's smart contracts for a depeg insurance for stable coins.
522 lines • 16.4 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": {
"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",
"40": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IComponentOwnerService.sol"
},
"ast": {
"absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IComponentOwnerService.sol",
"exportedSymbols": {
"IComponent": [
11675
],
"IComponentOwnerService": [
23015
],
"IRegistry": [
21976
]
},
"id": 23016,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 22982,
"literals": [
"solidity",
"0.8",
".2"
],
"nodeType": "PragmaDirective",
"src": "40:22:40"
},
{
"absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/components/IComponent.sol",
"file": "../components/IComponent.sol",
"id": 22983,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 23016,
"sourceUnit": 11676,
"src": "66:38:40",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"fullyImplemented": false,
"id": 23015,
"linearizedBaseContracts": [
23015
],
"name": "IComponentOwnerService",
"nameLocation": "118:22:40",
"nodeType": "ContractDefinition",
"nodes": [
{
"functionSelector": "01267951",
"id": 22989,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "propose",
"nameLocation": "159:7:40",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22987,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22986,
"mutability": "mutable",
"name": "component",
"nameLocation": "178:9:40",
"nodeType": "VariableDeclaration",
"scope": 22989,
"src": "167:20:40",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IComponent_$11675",
"typeString": "contract IComponent"
},
"typeName": {
"id": 22985,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 22984,
"name": "IComponent",
"nodeType": "IdentifierPath",
"referencedDeclaration": 11675,
"src": "167:10:40"
},
"referencedDeclaration": 11675,
"src": "167:10:40",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IComponent_$11675",
"typeString": "contract IComponent"
}
},
"visibility": "internal"
}
],
"src": "166:22:40"
},
"returnParameters": {
"id": 22988,
"nodeType": "ParameterList",
"parameters": [],
"src": "197:0:40"
},
"scope": 23015,
"src": "150:48:40",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "a694fc3a",
"id": 22994,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "stake",
"nameLocation": "215:5:40",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22992,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22991,
"mutability": "mutable",
"name": "id",
"nameLocation": "229:2:40",
"nodeType": "VariableDeclaration",
"scope": 22994,
"src": "221:10:40",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 22990,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "221:7:40",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "220:12:40"
},
"returnParameters": {
"id": 22993,
"nodeType": "ParameterList",
"parameters": [],
"src": "241:0:40"
},
"scope": 23015,
"src": "206:36:40",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "2e1a7d4d",
"id": 22999,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "withdraw",
"nameLocation": "257:8:40",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22997,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22996,
"mutability": "mutable",
"name": "id",
"nameLocation": "274:2:40",
"nodeType": "VariableDeclaration",
"scope": 22999,
"src": "266:10:40",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 22995,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "266:7:40",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "265:12:40"
},
"returnParameters": {
"id": 22998,
"nodeType": "ParameterList",
"parameters": [],
"src": "286:0:40"
},
"scope": 23015,
"src": "248:39:40",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "136439dd",
"id": 23004,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "pause",
"nameLocation": "304:5:40",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 23002,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 23001,
"mutability": "mutable",
"name": "id",
"nameLocation": "318:2:40",
"nodeType": "VariableDeclaration",
"scope": 23004,
"src": "310:10:40",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23000,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "310:7:40",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "309:12:40"
},
"returnParameters": {
"id": 23003,
"nodeType": "ParameterList",
"parameters": [],
"src": "330:0:40"
},
"scope": 23015,
"src": "295:36:40",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "fabc1cbc",
"id": 23009,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "unpause",
"nameLocation": "347:7:40",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 23007,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 23006,
"mutability": "mutable",
"name": "id",
"nameLocation": "363:2:40",
"nodeType": "VariableDeclaration",
"scope": 23009,
"src": "355:10:40",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23005,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "355:7:40",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "354:12:40"
},
"returnParameters": {
"id": 23008,
"nodeType": "ParameterList",
"parameters": [],
"src": "375:0:40"
},
"scope": 23015,
"src": "338:38:40",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "93c829fc",
"id": 23014,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "archive",
"nameLocation": "393:7:40",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 23012,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 23011,
"mutability": "mutable",
"name": "id",
"nameLocation": "409:2:40",
"nodeType": "VariableDeclaration",
"scope": 23014,
"src": "401:10:40",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23010,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "401:7:40",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "400:12:40"
},
"returnParameters": {
"id": 23013,
"nodeType": "ParameterList",
"parameters": [],
"src": "421:0:40"
},
"scope": 23015,
"src": "384:38:40",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 23016,
"src": "108:317:40"
}
],
"src": "40:385:40"
},
"bytecode": "",
"bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
"compiler": {
"evm_version": "istanbul",
"optimizer": {
"enabled": true,
"runs": 200
},
"version": "0.8.2+commit.661d1103"
},
"contractName": "IComponentOwnerService",
"coverageMap": {
"branches": {},
"statements": {}
},
"dependencies": [
"etherisc/gif-interface@3b0002a/IComponent",
"etherisc/gif-interface@3b0002a/IRegistry"
],
"deployedBytecode": "",
"deployedSourceMap": "",
"language": "Solidity",
"natspec": {
"kind": "dev",
"methods": {},
"version": 1
},
"offset": [
108,
425
],
"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": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/services/IComponentOwnerService.sol",
"type": "interface"
}