|
@@ -67,7 +67,7 @@ abstract contract AccessControl is Context, IAccessControl, ERC165 {
|
|
|
* _Available since v4.1._
|
|
|
*/
|
|
|
modifier onlyRole(bytes32 role) {
|
|
|
- _checkRole(role, _msgSender());
|
|
|
+ _checkRole(role);
|
|
|
_;
|
|
|
}
|
|
|
|
|
@@ -85,6 +85,18 @@ abstract contract AccessControl is Context, IAccessControl, ERC165 {
|
|
|
return _roles[role].members[account];
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @dev Revert with a standard message if `_msgSender()` is missing `role`.
|
|
|
+ * Overriding this function changes the behavior of the {onlyRole} modifier.
|
|
|
+ *
|
|
|
+ * Format of the revert message is described in {_checkRole}.
|
|
|
+ *
|
|
|
+ * _Available since v4.6._
|
|
|
+ */
|
|
|
+ function _checkRole(bytes32 role) internal view virtual {
|
|
|
+ _checkRole(role, _msgSender());
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* @dev Revert with a standard message if `account` is missing `role`.
|
|
|
*
|