12345678910111213141516171819202122232425262728293031 |
- // SPDX-License-Identifier: MIT
- // OpenZeppelin Contracts v4.4.1 (access/IAccessControlEnumerable.sol)
- pragma solidity ^0.8.0;
- import "./IAccessControl.sol";
- /**
- * @dev External interface of AccessControlEnumerable declared to support ERC165 detection.
- */
- interface IAccessControlEnumerable is IAccessControl {
- /**
- * @dev 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.
- */
- function getRoleMember(bytes32 role, uint256 index) external view returns (address);
- /**
- * @dev Returns the number of accounts that have `role`. Can be used
- * together with {getRoleMember} to enumerate all bearers of a role.
- */
- function getRoleMemberCount(bytes32 role) external view returns (uint256);
- }
|