@etherisc/registry-contracts
Version:
Etherisc's smart contracts for the registry.
333 lines • 10.2 kB
JSON
{
"abi": [
{
"inputs": [],
"name": "getRegistry",
"outputs": [
{
"internalType": "contract IInstanceRegistryFacade",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getRiskpoolId",
"outputs": [
{
"internalType": "uint256",
"name": "riskpoolId",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getToken",
"outputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"allSourcePaths": {
"38": "contracts/registry/IInstanceRegistryFacade.sol",
"40": "contracts/registry/IProductFacade.sol"
},
"ast": {
"absolutePath": "contracts/registry/IProductFacade.sol",
"exportedSymbols": {
"IInstanceRegistryFacade": [
4190
],
"IProductFacade": [
4316
]
},
"id": 4317,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 4297,
"literals": [
"solidity",
"^",
"0.8",
".19"
],
"nodeType": "PragmaDirective",
"src": "39:24:40"
},
{
"absolutePath": "contracts/registry/IInstanceRegistryFacade.sol",
"file": "./IInstanceRegistryFacade.sol",
"id": 4299,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 4317,
"sourceUnit": 4191,
"src": "134:70:40",
"symbolAliases": [
{
"foreign": {
"id": 4298,
"name": "IInstanceRegistryFacade",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4190,
"src": "142:23:40",
"typeDescriptions": {}
},
"nameLocation": "-1:-1:-1"
}
],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "IProductFacade",
"contractDependencies": [],
"contractKind": "interface",
"fullyImplemented": false,
"id": 4316,
"linearizedBaseContracts": [
4316
],
"name": "IProductFacade",
"nameLocation": "215:14:40",
"nodeType": "ContractDefinition",
"nodes": [
{
"functionSelector": "5ab1bd53",
"id": 4305,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getRegistry",
"nameLocation": "246:11:40",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 4300,
"nodeType": "ParameterList",
"parameters": [],
"src": "257:2:40"
},
"returnParameters": {
"id": 4304,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4303,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 4305,
"src": "282:23:40",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IInstanceRegistryFacade_$4190",
"typeString": "contract IInstanceRegistryFacade"
},
"typeName": {
"id": 4302,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 4301,
"name": "IInstanceRegistryFacade",
"nameLocations": [
"282:23:40"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 4190,
"src": "282:23:40"
},
"referencedDeclaration": 4190,
"src": "282:23:40",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IInstanceRegistryFacade_$4190",
"typeString": "contract IInstanceRegistryFacade"
}
},
"visibility": "internal"
}
],
"src": "281:25:40"
},
"scope": 4316,
"src": "237:70:40",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "70d2fe53",
"id": 4310,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getRiskpoolId",
"nameLocation": "321:13:40",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 4306,
"nodeType": "ParameterList",
"parameters": [],
"src": "334:2:40"
},
"returnParameters": {
"id": 4309,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4308,
"mutability": "mutable",
"name": "riskpoolId",
"nameLocation": "367:10:40",
"nodeType": "VariableDeclaration",
"scope": 4310,
"src": "359:18:40",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4307,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "359:7:40",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "358:20:40"
},
"scope": 4316,
"src": "312:67:40",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "21df0da7",
"id": 4315,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getToken",
"nameLocation": "393:8:40",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 4311,
"nodeType": "ParameterList",
"parameters": [],
"src": "401:2:40"
},
"returnParameters": {
"id": 4314,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4313,
"mutability": "mutable",
"name": "token",
"nameLocation": "434:5:40",
"nodeType": "VariableDeclaration",
"scope": 4315,
"src": "426:13:40",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 4312,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "426:7:40",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "425:15:40"
},
"scope": 4316,
"src": "384:57:40",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
}
],
"scope": 4317,
"src": "205:238:40",
"usedErrors": []
}
],
"src": "39:404:40"
},
"bytecode": "",
"bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
"compiler": {
"evm_version": "istanbul",
"optimizer": {
"enabled": true,
"runs": 200
},
"version": "0.8.19+commit.7dd6d404"
},
"contractName": "IProductFacade",
"coverageMap": {
"branches": {},
"statements": {}
},
"dependencies": [
"IInstanceRegistryFacade"
],
"deployedBytecode": "",
"deployedSourceMap": "",
"language": "Solidity",
"natspec": {
"kind": "dev",
"methods": {},
"version": 1
},
"offset": [
205,
443
],
"opcodes": "",
"pcMap": {},
"sha1": "9b43a8bfe26a4572d2e665fa3a47e5e308a1460c",
"source": "// SPDX-License-Identifier: Apache-2.0\npragma solidity ^0.8.19;\n\n/*\n * @dev needs to be in sync with definition in DepegProduct\n */\n\nimport {IInstanceRegistryFacade} from \"./IInstanceRegistryFacade.sol\";\ninterface IProductFacade {\n\n function getRegistry() external view returns(IInstanceRegistryFacade);\n function getRiskpoolId() external view returns(uint256 riskpoolId);\n function getToken() external view returns(address token);\n}",
"sourceMap": "",
"sourcePath": "contracts/registry/IProductFacade.sol",
"type": "interface"
}