Use named arguments in mapping types (#4433)

Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
This commit is contained in:
Ernesto García
2023-08-08 19:48:56 -06:00
committed by GitHub
parent 48b860124c
commit cb0ffefe2f
29 changed files with 48 additions and 60 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}.