Merge branch 'master' into feat/access-manager

This commit is contained in:
Francisco Giordano
2023-08-16 02:23:53 -03:00
60 changed files with 619 additions and 612 deletions

View File

@ -48,11 +48,11 @@ import {ERC165} from "../utils/introspection/ERC165.sol";
*/
abstract contract AccessControl is Context, IAccessControl, ERC165 {
struct RoleData {
mapping(address => bool) members;
mapping(address account => bool) hasRole;
bytes32 adminRole;
}
mapping(bytes32 => RoleData) private _roles;
mapping(bytes32 role => RoleData) private _roles;
bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;
@ -76,7 +76,7 @@ abstract contract AccessControl is Context, IAccessControl, ERC165 {
* @dev Returns `true` if `account` has been granted `role`.
*/
function hasRole(bytes32 role, address account) public view virtual returns (bool) {
return _roles[role].members[account];
return _roles[role].hasRole[account];
}
/**
@ -182,7 +182,7 @@ abstract contract AccessControl is Context, IAccessControl, ERC165 {
*/
function _grantRole(bytes32 role, address account) internal virtual returns (bool) {
if (!hasRole(role, account)) {
_roles[role].members[account] = true;
_roles[role].hasRole[account] = true;
emit RoleGranted(role, account, _msgSender());
return true;
} else {
@ -199,7 +199,7 @@ abstract contract AccessControl is Context, IAccessControl, ERC165 {
*/
function _revokeRole(bytes32 role, address account) internal virtual returns (bool) {
if (hasRole(role, account)) {
_roles[role].members[account] = false;
_roles[role].hasRole[account] = false;
emit RoleRevoked(role, account, _msgSender());
return true;
} else {

View File

@ -13,7 +13,7 @@ import {EnumerableSet} from "../../utils/structs/EnumerableSet.sol";
abstract contract AccessControlEnumerable is IAccessControlEnumerable, AccessControl {
using EnumerableSet for EnumerableSet.AddressSet;
mapping(bytes32 => EnumerableSet.AddressSet) private _roleMembers;
mapping(bytes32 role => EnumerableSet.AddressSet) private _roleMembers;
/**
* @dev See {IERC165-supportsInterface}.