UNPKG

@etherisc/gif-contracts

Version:

This repository holds the GIF core contracts and tools to develop, test and deploy GIF instances.

1,470 lines 49.2 kB
{ "abi": [ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "release", "type": "bytes32" }, { "indexed": false, "internalType": "bytes32", "name": "contractName", "type": "bytes32" } ], "name": "LogContractDeregistered", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "release", "type": "bytes32" }, { "indexed": false, "internalType": "bytes32", "name": "contractName", "type": "bytes32" }, { "indexed": false, "internalType": "address", "name": "contractAddress", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isNew", "type": "bool" } ], "name": "LogContractRegistered", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "release", "type": "bytes32" } ], "name": "LogReleasePrepared", "type": "event" }, { "inputs": [ { "internalType": "uint256", "name": "idx", "type": "uint256" } ], "name": "contractName", "outputs": [ { "internalType": "bytes32", "name": "_contractName", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "contracts", "outputs": [ { "internalType": "uint256", "name": "_numberOfContracts", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_contractName", "type": "bytes32" } ], "name": "deregister", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_release", "type": "bytes32" }, { "internalType": "bytes32", "name": "_contractName", "type": "bytes32" } ], "name": "deregisterInRelease", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "bytes32", "name": "_contractName", "type": "bytes32" } ], "name": "ensureSender", "outputs": [ { "internalType": "bool", "name": "_senderMatches", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_contractName", "type": "bytes32" } ], "name": "getContract", "outputs": [ { "internalType": "address", "name": "_contractAddress", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_release", "type": "bytes32" }, { "internalType": "bytes32", "name": "_contractName", "type": "bytes32" } ], "name": "getContractInRelease", "outputs": [ { "internalType": "address", "name": "_contractAddress", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getRelease", "outputs": [ { "internalType": "bytes32", "name": "_release", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_newRelease", "type": "bytes32" } ], "name": "prepareRelease", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_contractName", "type": "bytes32" }, { "internalType": "address", "name": "_contractAddress", "type": "address" } ], "name": "register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_release", "type": "bytes32" }, { "internalType": "bytes32", "name": "_contractName", "type": "bytes32" }, { "internalType": "address", "name": "_contractAddress", "type": "address" } ], "name": "registerInRelease", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "allSourcePaths": { "44": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IRegistry.sol" }, "ast": { "absolutePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IRegistry.sol", "exportedSymbols": { "IRegistry": [ 21750 ] }, "id": 21751, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 21654, "literals": [ "solidity", "0.8", ".2" ], "nodeType": "PragmaDirective", "src": "39:22:44" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "interface", "fullyImplemented": false, "id": 21750, "linearizedBaseContracts": [ 21750 ], "name": "IRegistry", "nameLocation": "73:9:44", "nodeType": "ContractDefinition", "nodes": [ { "anonymous": false, "id": 21664, "name": "LogContractRegistered", "nameLocation": "96:21:44", "nodeType": "EventDefinition", "parameters": { "id": 21663, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21656, "indexed": false, "mutability": "mutable", "name": "release", "nameLocation": "135:7:44", "nodeType": "VariableDeclaration", "scope": 21664, "src": "127:15:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21655, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "127:7:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 21658, "indexed": false, "mutability": "mutable", "name": "contractName", "nameLocation": "160:12:44", "nodeType": "VariableDeclaration", "scope": 21664, "src": "152:20:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21657, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "152:7:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 21660, "indexed": false, "mutability": "mutable", "name": "contractAddress", "nameLocation": "190:15:44", "nodeType": "VariableDeclaration", "scope": 21664, "src": "182:23:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 21659, "name": "address", "nodeType": "ElementaryTypeName", "src": "182:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 21662, "indexed": false, "mutability": "mutable", "name": "isNew", "nameLocation": "220:5:44", "nodeType": "VariableDeclaration", "scope": 21664, "src": "215:10:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 21661, "name": "bool", "nodeType": "ElementaryTypeName", "src": "215:4:44", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "117:114:44" }, "src": "90:142:44" }, { "anonymous": false, "id": 21670, "name": "LogContractDeregistered", "nameLocation": "244:23:44", "nodeType": "EventDefinition", "parameters": { "id": 21669, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21666, "indexed": false, "mutability": "mutable", "name": "release", "nameLocation": "276:7:44", "nodeType": "VariableDeclaration", "scope": 21670, "src": "268:15:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21665, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "268:7:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 21668, "indexed": false, "mutability": "mutable", "name": "contractName", "nameLocation": "293:12:44", "nodeType": "VariableDeclaration", "scope": 21670, "src": "285:20:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21667, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "285:7:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "267:39:44" }, "src": "238:69:44" }, { "anonymous": false, "id": 21674, "name": "LogReleasePrepared", "nameLocation": "319:18:44", "nodeType": "EventDefinition", "parameters": { "id": 21673, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21672, "indexed": false, "mutability": "mutable", "name": "release", "nameLocation": "346:7:44", "nodeType": "VariableDeclaration", "scope": 21674, "src": "338:15:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21671, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "338:7:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "337:17:44" }, "src": "313:42:44" }, { "functionSelector": "1d5e7314", "id": 21683, "implemented": false, "kind": "function", "modifiers": [], "name": "registerInRelease", "nameLocation": "370:17:44", "nodeType": "FunctionDefinition", "parameters": { "id": 21681, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21676, "mutability": "mutable", "name": "_release", "nameLocation": "405:8:44", "nodeType": "VariableDeclaration", "scope": 21683, "src": "397:16:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21675, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "397:7:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 21678, "mutability": "mutable", "name": "_contractName", "nameLocation": "431:13:44", "nodeType": "VariableDeclaration", "scope": 21683, "src": "423:21:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21677, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "423:7:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 21680, "mutability": "mutable", "name": "_contractAddress", "nameLocation": "462:16:44", "nodeType": "VariableDeclaration", "scope": 21683, "src": "454:24:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 21679, "name": "address", "nodeType": "ElementaryTypeName", "src": "454:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "387:97:44" }, "returnParameters": { "id": 21682, "nodeType": "ParameterList", "parameters": [], "src": "493:0:44" }, "scope": 21750, "src": "361:133:44", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "functionSelector": "d22057a9", "id": 21690, "implemented": false, "kind": "function", "modifiers": [], "name": "register", "nameLocation": "509:8:44", "nodeType": "FunctionDefinition", "parameters": { "id": 21688, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21685, "mutability": "mutable", "name": "_contractName", "nameLocation": "526:13:44", "nodeType": "VariableDeclaration", "scope": 21690, "src": "518:21:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21684, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "518:7:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 21687, "mutability": "mutable", "name": "_contractAddress", "nameLocation": "549:16:44", "nodeType": "VariableDeclaration", "scope": 21690, "src": "541:24:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 21686, "name": "address", "nodeType": "ElementaryTypeName", "src": "541:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "517:49:44" }, "returnParameters": { "id": 21689, "nodeType": "ParameterList", "parameters": [], "src": "575:0:44" }, "scope": 21750, "src": "500:76:44", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "functionSelector": "dc527b08", "id": 21697, "implemented": false, "kind": "function", "modifiers": [], "name": "deregisterInRelease", "nameLocation": "591:19:44", "nodeType": "FunctionDefinition", "parameters": { "id": 21695, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21692, "mutability": "mutable", "name": "_release", "nameLocation": "619:8:44", "nodeType": "VariableDeclaration", "scope": 21697, "src": "611:16:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21691, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "611:7:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 21694, "mutability": "mutable", "name": "_contractName", "nameLocation": "637:13:44", "nodeType": "VariableDeclaration", "scope": 21697, "src": "629:21:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21693, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "629:7:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "610:41:44" }, "returnParameters": { "id": 21696, "nodeType": "ParameterList", "parameters": [], "src": "668:0:44" }, "scope": 21750, "src": "582:87:44", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "functionSelector": "20813154", "id": 21702, "implemented": false, "kind": "function", "modifiers": [], "name": "deregister", "nameLocation": "684:10:44", "nodeType": "FunctionDefinition", "parameters": { "id": 21700, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21699, "mutability": "mutable", "name": "_contractName", "nameLocation": "703:13:44", "nodeType": "VariableDeclaration", "scope": 21702, "src": "695:21:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21698, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "695:7:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "694:23:44" }, "returnParameters": { "id": 21701, "nodeType": "ParameterList", "parameters": [], "src": "726:0:44" }, "scope": 21750, "src": "675:52:44", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "functionSelector": "893917ea", "id": 21707, "implemented": false, "kind": "function", "modifiers": [], "name": "prepareRelease", "nameLocation": "742:14:44", "nodeType": "FunctionDefinition", "parameters": { "id": 21705, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21704, "mutability": "mutable", "name": "_newRelease", "nameLocation": "765:11:44", "nodeType": "VariableDeclaration", "scope": 21707, "src": "757:19:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21703, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "757:7:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "756:21:44" }, "returnParameters": { "id": 21706, "nodeType": "ParameterList", "parameters": [], "src": "786:0:44" }, "scope": 21750, "src": "733:54:44", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "functionSelector": "b0ef18a0", "id": 21716, "implemented": false, "kind": "function", "modifiers": [], "name": "getContractInRelease", "nameLocation": "802:20:44", "nodeType": "FunctionDefinition", "parameters": { "id": 21712, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21709, "mutability": "mutable", "name": "_release", "nameLocation": "831:8:44", "nodeType": "VariableDeclaration", "scope": 21716, "src": "823:16:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21708, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "823:7:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 21711, "mutability": "mutable", "name": "_contractName", "nameLocation": "849:13:44", "nodeType": "VariableDeclaration", "scope": 21716, "src": "841:21:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21710, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "841:7:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "822:41:44" }, "returnParameters": { "id": 21715, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21714, "mutability": "mutable", "name": "_contractAddress", "nameLocation": "919:16:44", "nodeType": "VariableDeclaration", "scope": 21716, "src": "911:24:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 21713, "name": "address", "nodeType": "ElementaryTypeName", "src": "911:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "910:26:44" }, "scope": 21750, "src": "793:144:44", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "e16c7d98", "id": 21723, "implemented": false, "kind": "function", "modifiers": [], "name": "getContract", "nameLocation": "952:11:44", "nodeType": "FunctionDefinition", "parameters": { "id": 21719, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21718, "mutability": "mutable", "name": "_contractName", "nameLocation": "972:13:44", "nodeType": "VariableDeclaration", "scope": 21723, "src": "964:21:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21717, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "964:7:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "963:23:44" }, "returnParameters": { "id": 21722, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21721, "mutability": "mutable", "name": "_contractAddress", "nameLocation": "1042:16:44", "nodeType": "VariableDeclaration", "scope": 21723, "src": "1034:24:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 21720, "name": "address", "nodeType": "ElementaryTypeName", "src": "1034:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "1033:26:44" }, "scope": 21750, "src": "943:117:44", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "76b707b7", "id": 21728, "implemented": false, "kind": "function", "modifiers": [], "name": "getRelease", "nameLocation": "1075:10:44", "nodeType": "FunctionDefinition", "parameters": { "id": 21724, "nodeType": "ParameterList", "parameters": [], "src": "1085:2:44" }, "returnParameters": { "id": 21727, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21726, "mutability": "mutable", "name": "_release", "nameLocation": "1119:8:44", "nodeType": "VariableDeclaration", "scope": 21728, "src": "1111:16:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21725, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1111:7:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "1110:18:44" }, "scope": 21750, "src": "1066:63:44", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "2ca65a79", "id": 21737, "implemented": false, "kind": "function", "modifiers": [], "name": "ensureSender", "nameLocation": "1144:12:44", "nodeType": "FunctionDefinition", "parameters": { "id": 21733, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21730, "mutability": "mutable", "name": "sender", "nameLocation": "1165:6:44", "nodeType": "VariableDeclaration", "scope": 21737, "src": "1157:14:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 21729, "name": "address", "nodeType": "ElementaryTypeName", "src": "1157:7:44", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 21732, "mutability": "mutable", "name": "_contractName", "nameLocation": "1181:13:44", "nodeType": "VariableDeclaration", "scope": 21737, "src": "1173:21:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21731, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1173:7:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "1156:39:44" }, "returnParameters": { "id": 21736, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21735, "mutability": "mutable", "name": "_senderMatches", "nameLocation": "1223:14:44", "nodeType": "VariableDeclaration", "scope": 21737, "src": "1218:19:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 21734, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1218:4:44", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "1217:21:44" }, "scope": 21750, "src": "1135:104:44", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "6c0f79b6", "id": 21742, "implemented": false, "kind": "function", "modifiers": [], "name": "contracts", "nameLocation": "1254:9:44", "nodeType": "FunctionDefinition", "parameters": { "id": 21738, "nodeType": "ParameterList", "parameters": [], "src": "1263:2:44" }, "returnParameters": { "id": 21741, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21740, "mutability": "mutable", "name": "_numberOfContracts", "nameLocation": "1297:18:44", "nodeType": "VariableDeclaration", "scope": 21742, "src": "1289:26:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 21739, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1289:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1288:28:44" }, "scope": 21750, "src": "1245:72:44", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "f6b3e7d0", "id": 21749, "implemented": false, "kind": "function", "modifiers": [], "name": "contractName", "nameLocation": "1332:12:44", "nodeType": "FunctionDefinition", "parameters": { "id": 21745, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21744, "mutability": "mutable", "name": "idx", "nameLocation": "1353:3:44", "nodeType": "VariableDeclaration", "scope": 21749, "src": "1345:11:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 21743, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:44", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1344:13:44" }, "returnParameters": { "id": 21748, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21747, "mutability": "mutable", "name": "_contractName", "nameLocation": "1389:13:44", "nodeType": "VariableDeclaration", "scope": 21749, "src": "1381:21:44", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21746, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1381:7:44", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "1380:23:44" }, "scope": 21750, "src": "1323:81:44", "stateMutability": "view", "virtual": false, "visibility": "external" } ], "scope": 21751, "src": "63:1344:44" } ], "src": "39:1369:44" }, "bytecode": "", "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", "compiler": { "evm_version": "istanbul", "optimizer": { "enabled": true, "runs": 200 }, "version": "0.8.2+commit.661d1103" }, "contractName": "IRegistry", "coverageMap": { "branches": {}, "statements": {} }, "dependencies": [], "deployedBytecode": "", "deployedSourceMap": "", "language": "Solidity", "natspec": { "kind": "dev", "methods": {}, "version": 1 }, "offset": [ 63, 1407 ], "opcodes": "", "pcMap": {}, "sha1": "ca3c0112cfc6cba765d5f2014fc36aee8385a4e3", "source": "// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.2;\n\ninterface IRegistry {\n\n event LogContractRegistered(\n bytes32 release,\n bytes32 contractName,\n address contractAddress,\n bool isNew\n );\n\n event LogContractDeregistered(bytes32 release, bytes32 contractName);\n\n event LogReleasePrepared(bytes32 release);\n\n function registerInRelease(\n bytes32 _release,\n bytes32 _contractName,\n address _contractAddress\n ) external;\n\n function register(bytes32 _contractName, address _contractAddress) external;\n\n function deregisterInRelease(bytes32 _release, bytes32 _contractName)\n external;\n\n function deregister(bytes32 _contractName) external;\n\n function prepareRelease(bytes32 _newRelease) external;\n\n function getContractInRelease(bytes32 _release, bytes32 _contractName)\n external\n view\n returns (address _contractAddress);\n\n function getContract(bytes32 _contractName)\n external\n view\n returns (address _contractAddress);\n\n function getRelease() external view returns (bytes32 _release);\n\n function ensureSender(address sender, bytes32 _contractName) external view returns(bool _senderMatches);\n\n function contracts() external view returns (uint256 _numberOfContracts);\n\n function contractName(uint256 idx) external view returns (bytes32 _contractName);\n\n}\n", "sourceMap": "", "sourcePath": "/home/vscode/.brownie/packages/etherisc/gif-interface@3b0002a/contracts/modules/IRegistry.sol", "type": "interface" }