TransparentUpgradeableProxy
Inherits: ERC1967Proxy
Functions
constructor
Initializes an upgradeable proxy managed by _admin, backed by the implementation at _logic, and
optionally initialized with _data as explained in {ERC1967Proxy-constructor}.
constructor(address _logic, address admin_, bytes memory _data) payable ERC1967Proxy(_logic, _data);
ifAdmin
Modifier used internally that will delegate the call to the implementation unless the sender is the admin.
modifier ifAdmin();
admin
Returns the current admin.
NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyAdmin}.
TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the
https://eth.wiki/json-rpc/API#eth_getstorageat[eth_getStorageAt] RPC call.
0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103
function admin() external ifAdmin returns (address admin_);
implementation
Returns the current implementation.
NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyImplementation}.
TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the
https://eth.wiki/json-rpc/API#eth_getstorageat[eth_getStorageAt] RPC call.
0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
function implementation() external ifAdmin returns (address implementation_);
changeAdmin
Changes the admin of the proxy. Emits an {AdminChanged} event. NOTE: Only the admin can call this function. See {ProxyAdmin-changeProxyAdmin}.
function changeAdmin(address newAdmin) external virtual ifAdmin;
upgradeTo
Upgrade the implementation of the proxy. NOTE: Only the admin can call this function. See {ProxyAdmin-upgrade}.
function upgradeTo(address newImplementation) external virtual ifAdmin;
upgradeToAndCall
Upgrade the implementation of the proxy, and then call a function from the new implementation as specified
by data, which should be an encoded function call. This is useful to initialize new storage variables in the
proxied contract.
NOTE: Only the admin can call this function. See {ProxyAdmin-upgradeAndCall}.
function upgradeToAndCall(address newImplementation, bytes calldata data) external payable virtual ifAdmin;
_beforeFallback
Makes sure the admin cannot access the fallback function. See {Proxy-_beforeFallback}.
function _beforeFallback() internal virtual override;