UNPKG

@etherisc/depeg-contracts

Version:

Etherisc's smart contracts for a depeg insurance for stable coins.

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": { "38": "/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": [ 21976 ] }, "id": 21977, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 21880, "literals": [ "solidity", "0.8", ".2" ], "nodeType": "PragmaDirective", "src": "39:22:38" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "interface", "fullyImplemented": false, "id": 21976, "linearizedBaseContracts": [ 21976 ], "name": "IRegistry", "nameLocation": "73:9:38", "nodeType": "ContractDefinition", "nodes": [ { "anonymous": false, "id": 21890, "name": "LogContractRegistered", "nameLocation": "96:21:38", "nodeType": "EventDefinition", "parameters": { "id": 21889, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21882, "indexed": false, "mutability": "mutable", "name": "release", "nameLocation": "135:7:38", "nodeType": "VariableDeclaration", "scope": 21890, "src": "127:15:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21881, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "127:7:38", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 21884, "indexed": false, "mutability": "mutable", "name": "contractName", "nameLocation": "160:12:38", "nodeType": "VariableDeclaration", "scope": 21890, "src": "152:20:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21883, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "152:7:38", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 21886, "indexed": false, "mutability": "mutable", "name": "contractAddress", "nameLocation": "190:15:38", "nodeType": "VariableDeclaration", "scope": 21890, "src": "182:23:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 21885, "name": "address", "nodeType": "ElementaryTypeName", "src": "182:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 21888, "indexed": false, "mutability": "mutable", "name": "isNew", "nameLocation": "220:5:38", "nodeType": "VariableDeclaration", "scope": 21890, "src": "215:10:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 21887, "name": "bool", "nodeType": "ElementaryTypeName", "src": "215:4:38", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "117:114:38" }, "src": "90:142:38" }, { "anonymous": false, "id": 21896, "name": "LogContractDeregistered", "nameLocation": "244:23:38", "nodeType": "EventDefinition", "parameters": { "id": 21895, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21892, "indexed": false, "mutability": "mutable", "name": "release", "nameLocation": "276:7:38", "nodeType": "VariableDeclaration", "scope": 21896, "src": "268:15:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21891, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "268:7:38", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 21894, "indexed": false, "mutability": "mutable", "name": "contractName", "nameLocation": "293:12:38", "nodeType": "VariableDeclaration", "scope": 21896, "src": "285:20:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21893, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "285:7:38", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "267:39:38" }, "src": "238:69:38" }, { "anonymous": false, "id": 21900, "name": "LogReleasePrepared", "nameLocation": "319:18:38", "nodeType": "EventDefinition", "parameters": { "id": 21899, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21898, "indexed": false, "mutability": "mutable", "name": "release", "nameLocation": "346:7:38", "nodeType": "VariableDeclaration", "scope": 21900, "src": "338:15:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21897, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "338:7:38", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "337:17:38" }, "src": "313:42:38" }, { "functionSelector": "1d5e7314", "id": 21909, "implemented": false, "kind": "function", "modifiers": [], "name": "registerInRelease", "nameLocation": "370:17:38", "nodeType": "FunctionDefinition", "parameters": { "id": 21907, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21902, "mutability": "mutable", "name": "_release", "nameLocation": "405:8:38", "nodeType": "VariableDeclaration", "scope": 21909, "src": "397:16:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21901, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "397:7:38", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 21904, "mutability": "mutable", "name": "_contractName", "nameLocation": "431:13:38", "nodeType": "VariableDeclaration", "scope": 21909, "src": "423:21:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21903, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "423:7:38", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 21906, "mutability": "mutable", "name": "_contractAddress", "nameLocation": "462:16:38", "nodeType": "VariableDeclaration", "scope": 21909, "src": "454:24:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 21905, "name": "address", "nodeType": "ElementaryTypeName", "src": "454:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "387:97:38" }, "returnParameters": { "id": 21908, "nodeType": "ParameterList", "parameters": [], "src": "493:0:38" }, "scope": 21976, "src": "361:133:38", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "functionSelector": "d22057a9", "id": 21916, "implemented": false, "kind": "function", "modifiers": [], "name": "register", "nameLocation": "509:8:38", "nodeType": "FunctionDefinition", "parameters": { "id": 21914, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21911, "mutability": "mutable", "name": "_contractName", "nameLocation": "526:13:38", "nodeType": "VariableDeclaration", "scope": 21916, "src": "518:21:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21910, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "518:7:38", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 21913, "mutability": "mutable", "name": "_contractAddress", "nameLocation": "549:16:38", "nodeType": "VariableDeclaration", "scope": 21916, "src": "541:24:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 21912, "name": "address", "nodeType": "ElementaryTypeName", "src": "541:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "517:49:38" }, "returnParameters": { "id": 21915, "nodeType": "ParameterList", "parameters": [], "src": "575:0:38" }, "scope": 21976, "src": "500:76:38", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "functionSelector": "dc527b08", "id": 21923, "implemented": false, "kind": "function", "modifiers": [], "name": "deregisterInRelease", "nameLocation": "591:19:38", "nodeType": "FunctionDefinition", "parameters": { "id": 21921, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21918, "mutability": "mutable", "name": "_release", "nameLocation": "619:8:38", "nodeType": "VariableDeclaration", "scope": 21923, "src": "611:16:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21917, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "611:7:38", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 21920, "mutability": "mutable", "name": "_contractName", "nameLocation": "637:13:38", "nodeType": "VariableDeclaration", "scope": 21923, "src": "629:21:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21919, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "629:7:38", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "610:41:38" }, "returnParameters": { "id": 21922, "nodeType": "ParameterList", "parameters": [], "src": "668:0:38" }, "scope": 21976, "src": "582:87:38", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "functionSelector": "20813154", "id": 21928, "implemented": false, "kind": "function", "modifiers": [], "name": "deregister", "nameLocation": "684:10:38", "nodeType": "FunctionDefinition", "parameters": { "id": 21926, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21925, "mutability": "mutable", "name": "_contractName", "nameLocation": "703:13:38", "nodeType": "VariableDeclaration", "scope": 21928, "src": "695:21:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21924, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "695:7:38", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "694:23:38" }, "returnParameters": { "id": 21927, "nodeType": "ParameterList", "parameters": [], "src": "726:0:38" }, "scope": 21976, "src": "675:52:38", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "functionSelector": "893917ea", "id": 21933, "implemented": false, "kind": "function", "modifiers": [], "name": "prepareRelease", "nameLocation": "742:14:38", "nodeType": "FunctionDefinition", "parameters": { "id": 21931, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21930, "mutability": "mutable", "name": "_newRelease", "nameLocation": "765:11:38", "nodeType": "VariableDeclaration", "scope": 21933, "src": "757:19:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21929, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "757:7:38", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "756:21:38" }, "returnParameters": { "id": 21932, "nodeType": "ParameterList", "parameters": [], "src": "786:0:38" }, "scope": 21976, "src": "733:54:38", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "functionSelector": "b0ef18a0", "id": 21942, "implemented": false, "kind": "function", "modifiers": [], "name": "getContractInRelease", "nameLocation": "802:20:38", "nodeType": "FunctionDefinition", "parameters": { "id": 21938, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21935, "mutability": "mutable", "name": "_release", "nameLocation": "831:8:38", "nodeType": "VariableDeclaration", "scope": 21942, "src": "823:16:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21934, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "823:7:38", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 21937, "mutability": "mutable", "name": "_contractName", "nameLocation": "849:13:38", "nodeType": "VariableDeclaration", "scope": 21942, "src": "841:21:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21936, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "841:7:38", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "822:41:38" }, "returnParameters": { "id": 21941, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21940, "mutability": "mutable", "name": "_contractAddress", "nameLocation": "919:16:38", "nodeType": "VariableDeclaration", "scope": 21942, "src": "911:24:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 21939, "name": "address", "nodeType": "ElementaryTypeName", "src": "911:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "910:26:38" }, "scope": 21976, "src": "793:144:38", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "e16c7d98", "id": 21949, "implemented": false, "kind": "function", "modifiers": [], "name": "getContract", "nameLocation": "952:11:38", "nodeType": "FunctionDefinition", "parameters": { "id": 21945, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21944, "mutability": "mutable", "name": "_contractName", "nameLocation": "972:13:38", "nodeType": "VariableDeclaration", "scope": 21949, "src": "964:21:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21943, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "964:7:38", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "963:23:38" }, "returnParameters": { "id": 21948, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21947, "mutability": "mutable", "name": "_contractAddress", "nameLocation": "1042:16:38", "nodeType": "VariableDeclaration", "scope": 21949, "src": "1034:24:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 21946, "name": "address", "nodeType": "ElementaryTypeName", "src": "1034:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "1033:26:38" }, "scope": 21976, "src": "943:117:38", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "76b707b7", "id": 21954, "implemented": false, "kind": "function", "modifiers": [], "name": "getRelease", "nameLocation": "1075:10:38", "nodeType": "FunctionDefinition", "parameters": { "id": 21950, "nodeType": "ParameterList", "parameters": [], "src": "1085:2:38" }, "returnParameters": { "id": 21953, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21952, "mutability": "mutable", "name": "_release", "nameLocation": "1119:8:38", "nodeType": "VariableDeclaration", "scope": 21954, "src": "1111:16:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21951, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1111:7:38", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "1110:18:38" }, "scope": 21976, "src": "1066:63:38", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "2ca65a79", "id": 21963, "implemented": false, "kind": "function", "modifiers": [], "name": "ensureSender", "nameLocation": "1144:12:38", "nodeType": "FunctionDefinition", "parameters": { "id": 21959, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21956, "mutability": "mutable", "name": "sender", "nameLocation": "1165:6:38", "nodeType": "VariableDeclaration", "scope": 21963, "src": "1157:14:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 21955, "name": "address", "nodeType": "ElementaryTypeName", "src": "1157:7:38", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 21958, "mutability": "mutable", "name": "_contractName", "nameLocation": "1181:13:38", "nodeType": "VariableDeclaration", "scope": 21963, "src": "1173:21:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21957, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1173:7:38", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "1156:39:38" }, "returnParameters": { "id": 21962, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21961, "mutability": "mutable", "name": "_senderMatches", "nameLocation": "1223:14:38", "nodeType": "VariableDeclaration", "scope": 21963, "src": "1218:19:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 21960, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1218:4:38", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "1217:21:38" }, "scope": 21976, "src": "1135:104:38", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "6c0f79b6", "id": 21968, "implemented": false, "kind": "function", "modifiers": [], "name": "contracts", "nameLocation": "1254:9:38", "nodeType": "FunctionDefinition", "parameters": { "id": 21964, "nodeType": "ParameterList", "parameters": [], "src": "1263:2:38" }, "returnParameters": { "id": 21967, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21966, "mutability": "mutable", "name": "_numberOfContracts", "nameLocation": "1297:18:38", "nodeType": "VariableDeclaration", "scope": 21968, "src": "1289:26:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 21965, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1289:7:38", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1288:28:38" }, "scope": 21976, "src": "1245:72:38", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "f6b3e7d0", "id": 21975, "implemented": false, "kind": "function", "modifiers": [], "name": "contractName", "nameLocation": "1332:12:38", "nodeType": "FunctionDefinition", "parameters": { "id": 21971, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21970, "mutability": "mutable", "name": "idx", "nameLocation": "1353:3:38", "nodeType": "VariableDeclaration", "scope": 21975, "src": "1345:11:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 21969, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:38", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1344:13:38" }, "returnParameters": { "id": 21974, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 21973, "mutability": "mutable", "name": "_contractName", "nameLocation": "1389:13:38", "nodeType": "VariableDeclaration", "scope": 21975, "src": "1381:21:38", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 21972, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1381:7:38", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "1380:23:38" }, "scope": 21976, "src": "1323:81:38", "stateMutability": "view", "virtual": false, "visibility": "external" } ], "scope": 21977, "src": "63:1344:38" } ], "src": "39:1369:38" }, "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" }