From c9bc4f82030d6c9db2149c16636a35178a858a75 Mon Sep 17 00:00:00 2001 From: Hadrien Croubois Date: Wed, 18 Jan 2023 03:57:14 +0100 Subject: [PATCH] Make `Ownable2Step.acceptOwnership` virtual (#3960) --- CHANGELOG.md | 1 + contracts/access/Ownable2Step.sol | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index df75069f9..5d45e9264 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ * `Strings`: add `toString` method for signed integers. ([#3773](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3773)) * `MerkleProof`: optimize by using unchecked arithmetic. ([#3869](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3869)) * `EnumerableMap`: add a `keys()` function that returns an array containing all the keys. ([#3920](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3920)) + * `Ownable2Step`: make `acceptOwnership` public virtual to enable usecases that require overriding it. ([#3960](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3960)) ### Deprecations diff --git a/contracts/access/Ownable2Step.sol b/contracts/access/Ownable2Step.sol index 221706300..f5a3d8047 100644 --- a/contracts/access/Ownable2Step.sol +++ b/contracts/access/Ownable2Step.sol @@ -49,7 +49,7 @@ abstract contract Ownable2Step is Ownable { /** * @dev The new owner accepts the ownership transfer. */ - function acceptOwnership() external { + function acceptOwnership() public virtual { address sender = _msgSender(); require(pendingOwner() == sender, "Ownable2Step: caller is not the new owner"); _transferOwnership(sender);