Commit cdf06221 by github-actions

Transpile 35201a6e

parent 267168b0
# Changelog # Changelog
## Unreleased
* `Ownable`: add an internal `_transferOwnership(address)`. ([#2568](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/#2568))
* `AccessControl`: add internal `_grantRole(bytes32,address)` and `_revokeRole(bytes32,address)`. ([#2568](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/#2568))
* `AccessControl`: mark `_setupRole(bytes32,address)` as deprecated in favor of `_grantRole(bytes32,address)`. ([#2568](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/#2568))
## 4.3.1 ## 4.3.1
* `TimelockController`: Add additional isOperationReady check. * `TimelockController`: Add additional isOperationReady check.
......
...@@ -187,6 +187,8 @@ abstract contract AccessControlUpgradeable is Initializable, ContextUpgradeable, ...@@ -187,6 +187,8 @@ abstract contract AccessControlUpgradeable is Initializable, ContextUpgradeable,
* Using this function in any other way is effectively circumventing the admin * Using this function in any other way is effectively circumventing the admin
* system imposed by {AccessControl}. * system imposed by {AccessControl}.
* ==== * ====
*
* NOTE: This function is deprecated in favor of {_grantRole}.
*/ */
function _setupRole(bytes32 role, address account) internal virtual { function _setupRole(bytes32 role, address account) internal virtual {
_grantRole(role, account); _grantRole(role, account);
...@@ -203,14 +205,24 @@ abstract contract AccessControlUpgradeable is Initializable, ContextUpgradeable, ...@@ -203,14 +205,24 @@ abstract contract AccessControlUpgradeable is Initializable, ContextUpgradeable,
emit RoleAdminChanged(role, previousAdminRole, adminRole); emit RoleAdminChanged(role, previousAdminRole, adminRole);
} }
function _grantRole(bytes32 role, address account) private { /**
* @dev Grants `role` to `account`.
*
* Internal function without access restriction.
*/
function _grantRole(bytes32 role, address account) internal virtual {
if (!hasRole(role, account)) { if (!hasRole(role, account)) {
_roles[role].members[account] = true; _roles[role].members[account] = true;
emit RoleGranted(role, account, _msgSender()); emit RoleGranted(role, account, _msgSender());
} }
} }
function _revokeRole(bytes32 role, address account) private { /**
* @dev Revokes `role` from `account`.
*
* Internal function without access restriction.
*/
function _revokeRole(bytes32 role, address account) internal virtual {
if (hasRole(role, account)) { if (hasRole(role, account)) {
_roles[role].members[account] = false; _roles[role].members[account] = false;
emit RoleRevoked(role, account, _msgSender()); emit RoleRevoked(role, account, _msgSender());
......
...@@ -31,7 +31,7 @@ abstract contract OwnableUpgradeable is Initializable, ContextUpgradeable { ...@@ -31,7 +31,7 @@ abstract contract OwnableUpgradeable is Initializable, ContextUpgradeable {
} }
function __Ownable_init_unchained() internal initializer { function __Ownable_init_unchained() internal initializer {
_setOwner(_msgSender()); _transferOwnership(_msgSender());
} }
/** /**
...@@ -57,7 +57,7 @@ abstract contract OwnableUpgradeable is Initializable, ContextUpgradeable { ...@@ -57,7 +57,7 @@ abstract contract OwnableUpgradeable is Initializable, ContextUpgradeable {
* thereby removing any functionality that is only available to the owner. * thereby removing any functionality that is only available to the owner.
*/ */
function renounceOwnership() public virtual onlyOwner { function renounceOwnership() public virtual onlyOwner {
_setOwner(address(0)); _transferOwnership(address(0));
} }
/** /**
...@@ -66,10 +66,14 @@ abstract contract OwnableUpgradeable is Initializable, ContextUpgradeable { ...@@ -66,10 +66,14 @@ abstract contract OwnableUpgradeable is Initializable, ContextUpgradeable {
*/ */
function transferOwnership(address newOwner) public virtual onlyOwner { function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address"); require(newOwner != address(0), "Ownable: new owner is the zero address");
_setOwner(newOwner); _transferOwnership(newOwner);
} }
function _setOwner(address newOwner) private { /**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Internal function without access restriction.
*/
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner; address oldOwner = _owner;
_owner = newOwner; _owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner); emit OwnershipTransferred(oldOwner, newOwner);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment