Adapt proxies to Contracts conventions (#2345)
This commit is contained in:
committed by
GitHub
parent
6bc2ae3731
commit
91f16a7e47
@ -15,7 +15,7 @@ pragma solidity >=0.4.24 <0.7.0;
|
||||
* CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure
|
||||
* that all initializers are idempotent. This is not verified automatically as constructors are by Solidity.
|
||||
*/
|
||||
contract Initializable {
|
||||
abstract contract Initializable {
|
||||
|
||||
/**
|
||||
* @dev Indicates that the contract has been initialized.
|
||||
|
||||
@ -52,7 +52,7 @@ abstract contract Proxy {
|
||||
* This function does not return to its internall call site, it will return directly to the external caller.
|
||||
*/
|
||||
function _fallback() internal {
|
||||
_willFallback();
|
||||
_beforeFallback();
|
||||
_delegate(_implementation());
|
||||
}
|
||||
|
||||
@ -76,8 +76,8 @@ abstract contract Proxy {
|
||||
* @dev Hook that is called before falling back to the implementation. Can happen as part of a manual `_fallback`
|
||||
* call, or as part of the Solidity `fallback` or `receive` functions.
|
||||
*
|
||||
* If overriden should call `super._willFallback()`.
|
||||
* If overriden should call `super._beforeFallback()`.
|
||||
*/
|
||||
function _willFallback() internal virtual {
|
||||
function _beforeFallback() internal virtual {
|
||||
}
|
||||
}
|
||||
|
||||
@ -134,7 +134,7 @@ contract TransparentUpgradeableProxy is UpgradeableProxy {
|
||||
/**
|
||||
* @dev Stores a new address in the EIP1967 admin slot.
|
||||
*/
|
||||
function _setAdmin(address newAdmin) internal {
|
||||
function _setAdmin(address newAdmin) private {
|
||||
bytes32 slot = _ADMIN_SLOT;
|
||||
|
||||
// solhint-disable-next-line no-inline-assembly
|
||||
@ -144,10 +144,10 @@ contract TransparentUpgradeableProxy is UpgradeableProxy {
|
||||
}
|
||||
|
||||
/**
|
||||
* @dev Makes sure the admin cannot access the fallback function. See {Proxy-_willFallback}.
|
||||
* @dev Makes sure the admin cannot access the fallback function. See {Proxy-_beforeFallback}.
|
||||
*/
|
||||
function _willFallback() internal override virtual {
|
||||
function _beforeFallback() internal override virtual {
|
||||
require(msg.sender != _admin(), "TransparentUpgradeableProxy: admin cannot fallback to proxy target");
|
||||
super._willFallback();
|
||||
super._beforeFallback();
|
||||
}
|
||||
}
|
||||
|
||||
@ -67,7 +67,7 @@ contract UpgradeableProxy is Proxy {
|
||||
/**
|
||||
* @dev Stores a new address in the EIP1967 implementation slot.
|
||||
*/
|
||||
function _setImplementation(address newImplementation) internal {
|
||||
function _setImplementation(address newImplementation) private {
|
||||
require(Address.isContract(newImplementation), "UpgradeableProxy: new implementation is not a contract");
|
||||
|
||||
bytes32 slot = _IMPLEMENTATION_SLOT;
|
||||
|
||||
Reference in New Issue
Block a user