AccessControlEnumerable: Hook into the internal function (#2946)
* AccessControlEnumerable: Hook into the internal function * add changelog entry
This commit is contained in:
@ -47,34 +47,18 @@ abstract contract AccessControlEnumerable is IAccessControlEnumerable, AccessCon
|
||||
}
|
||||
|
||||
/**
|
||||
* @dev Overload {grantRole} to track enumerable memberships
|
||||
* @dev Overload {_grantRole} to track enumerable memberships
|
||||
*/
|
||||
function grantRole(bytes32 role, address account) public virtual override(AccessControl, IAccessControl) {
|
||||
super.grantRole(role, account);
|
||||
function _grantRole(bytes32 role, address account) internal virtual override {
|
||||
super._grantRole(role, account);
|
||||
_roleMembers[role].add(account);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dev Overload {revokeRole} to track enumerable memberships
|
||||
* @dev Overload {_revokeRole} to track enumerable memberships
|
||||
*/
|
||||
function revokeRole(bytes32 role, address account) public virtual override(AccessControl, IAccessControl) {
|
||||
super.revokeRole(role, account);
|
||||
function _revokeRole(bytes32 role, address account) internal virtual override {
|
||||
super._revokeRole(role, account);
|
||||
_roleMembers[role].remove(account);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dev Overload {renounceRole} to track enumerable memberships
|
||||
*/
|
||||
function renounceRole(bytes32 role, address account) public virtual override(AccessControl, IAccessControl) {
|
||||
super.renounceRole(role, account);
|
||||
_roleMembers[role].remove(account);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dev Overload {_setupRole} to track enumerable memberships
|
||||
*/
|
||||
function _setupRole(bytes32 role, address account) internal virtual override {
|
||||
super._setupRole(role, account);
|
||||
_roleMembers[role].add(account);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user