Make TransparentUpgradeableProxy deploy its ProxyAdmin and optimize proxy interfaces (#4382)
Co-authored-by: Francisco <fg@frang.io> Co-authored-by: Eric Lau <ericglau@outlook.com> Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
This commit is contained in:
@ -9,7 +9,7 @@ pragma solidity ^0.8.19;
|
||||
contract ClashingImplementation {
|
||||
event ClashingImplementationCall();
|
||||
|
||||
function upgradeTo(address) external payable {
|
||||
function upgradeToAndCall(address, bytes calldata) external payable {
|
||||
emit ClashingImplementationCall();
|
||||
}
|
||||
|
||||
|
||||
@ -23,12 +23,8 @@ contract UUPSUpgradeableMock is NonUpgradeableMock, UUPSUpgradeable {
|
||||
}
|
||||
|
||||
contract UUPSUpgradeableUnsafeMock is UUPSUpgradeableMock {
|
||||
function upgradeTo(address newImplementation) public override {
|
||||
ERC1967Utils.upgradeToAndCall(newImplementation, bytes(""), false);
|
||||
}
|
||||
|
||||
function upgradeToAndCall(address newImplementation, bytes memory data) public payable override {
|
||||
ERC1967Utils.upgradeToAndCall(newImplementation, data, false);
|
||||
ERC1967Utils.upgradeToAndCall(newImplementation, data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user