UNPKG

@etherisc/gif-contracts

Version:

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

569 lines 19.1 kB
{ "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "type": "event" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "getRoleMember", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleMemberCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "allSourcePaths": { "2": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/access/IAccessControl.sol", "3": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/access/IAccessControlEnumerable.sol" }, "ast": { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/access/IAccessControlEnumerable.sol", "exportedSymbols": { "IAccessControl": [ 26055 ], "IAccessControlEnumerable": [ 27191 ] }, "id": 27192, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 27168, "literals": [ "solidity", "^", "0.8", ".0" ], "nodeType": "PragmaDirective", "src": "104:23:3" }, { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/access/IAccessControl.sol", "file": "./IAccessControl.sol", "id": 27169, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 27192, "sourceUnit": 26056, "src": "129:30:3", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [ { "baseName": { "id": 27171, "name": "IAccessControl", "nodeType": "IdentifierPath", "referencedDeclaration": 26055, "src": "299:14:3" }, "id": 27172, "nodeType": "InheritanceSpecifier", "src": "299:14:3" } ], "contractDependencies": [ 26055 ], "contractKind": "interface", "documentation": { "id": 27170, "nodeType": "StructuredDocumentation", "src": "161:99:3", "text": " @dev External interface of AccessControlEnumerable declared to support ERC165 detection." }, "fullyImplemented": false, "id": 27191, "linearizedBaseContracts": [ 27191, 26055 ], "name": "IAccessControlEnumerable", "nameLocation": "271:24:3", "nodeType": "ContractDefinition", "nodes": [ { "documentation": { "id": 27173, "nodeType": "StructuredDocumentation", "src": "320:574:3", "text": " @dev Returns one of the accounts that have `role`. `index` must be a\n value between 0 and {getRoleMemberCount}, non-inclusive.\n Role bearers are not sorted in any particular way, and their ordering may\n change at any point.\n WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure\n you perform all queries on the same block. See the following\n https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post]\n for more information." }, "functionSelector": "9010d07c", "id": 27182, "implemented": false, "kind": "function", "modifiers": [], "name": "getRoleMember", "nameLocation": "908:13:3", "nodeType": "FunctionDefinition", "parameters": { "id": 27178, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27175, "mutability": "mutable", "name": "role", "nameLocation": "930:4:3", "nodeType": "VariableDeclaration", "scope": 27182, "src": "922:12:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 27174, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "922:7:3", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 27177, "mutability": "mutable", "name": "index", "nameLocation": "944:5:3", "nodeType": "VariableDeclaration", "scope": 27182, "src": "936:13:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 27176, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "936:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "921:29:3" }, "returnParameters": { "id": 27181, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27180, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 27182, "src": "974:7:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 27179, "name": "address", "nodeType": "ElementaryTypeName", "src": "974:7:3", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "973:9:3" }, "scope": 27191, "src": "899:84:3", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "documentation": { "id": 27183, "nodeType": "StructuredDocumentation", "src": "989:157:3", "text": " @dev Returns the number of accounts that have `role`. Can be used\n together with {getRoleMember} to enumerate all bearers of a role." }, "functionSelector": "ca15c873", "id": 27190, "implemented": false, "kind": "function", "modifiers": [], "name": "getRoleMemberCount", "nameLocation": "1160:18:3", "nodeType": "FunctionDefinition", "parameters": { "id": 27186, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27185, "mutability": "mutable", "name": "role", "nameLocation": "1187:4:3", "nodeType": "VariableDeclaration", "scope": 27190, "src": "1179:12:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 27184, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1179:7:3", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "1178:14:3" }, "returnParameters": { "id": 27189, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27188, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 27190, "src": "1216:7:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 27187, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1216:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1215:9:3" }, "scope": 27191, "src": "1151:74:3", "stateMutability": "view", "virtual": false, "visibility": "external" } ], "scope": 27192, "src": "261:966:3" } ], "src": "104:1124:3" }, "bytecode": "", "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", "compiler": { "evm_version": "istanbul", "optimizer": { "enabled": true, "runs": 200 }, "version": "0.8.2+commit.661d1103" }, "contractName": "IAccessControlEnumerable", "coverageMap": { "branches": {}, "statements": {} }, "dependencies": [ "OpenZeppelin/openzeppelin-contracts@4.7.3/IAccessControl" ], "deployedBytecode": "", "deployedSourceMap": "", "language": "Solidity", "natspec": { "details": "External interface of AccessControlEnumerable declared to support ERC165 detection.", "kind": "dev", "methods": { "getRoleAdmin(bytes32)": { "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {AccessControl-_setRoleAdmin}." }, "getRoleMember(bytes32,uint256)": { "details": "Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information." }, "getRoleMemberCount(bytes32)": { "details": "Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role." }, "grantRole(bytes32,address)": { "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role." }, "hasRole(bytes32,address)": { "details": "Returns `true` if `account` has been granted `role`." }, "renounceRole(bytes32,address)": { "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`." }, "revokeRole(bytes32,address)": { "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role." } }, "version": 1 }, "offset": [ 261, 1227 ], "opcodes": "", "pcMap": {}, "sha1": "22b9368b8773860feb3463c66fc58a17b45f924c", "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (access/IAccessControlEnumerable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IAccessControl.sol\";\n\n/**\n * @dev External interface of AccessControlEnumerable declared to support ERC165 detection.\n */\ninterface IAccessControlEnumerable is IAccessControl {\n /**\n * @dev Returns one of the accounts that have `role`. `index` must be a\n * value between 0 and {getRoleMemberCount}, non-inclusive.\n *\n * Role bearers are not sorted in any particular way, and their ordering may\n * change at any point.\n *\n * WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure\n * you perform all queries on the same block. See the following\n * https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post]\n * for more information.\n */\n function getRoleMember(bytes32 role, uint256 index) external view returns (address);\n\n /**\n * @dev Returns the number of accounts that have `role`. Can be used\n * together with {getRoleMember} to enumerate all bearers of a role.\n */\n function getRoleMemberCount(bytes32 role) external view returns (uint256);\n}\n", "sourceMap": "", "sourcePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/access/IAccessControlEnumerable.sol", "type": "interface" }