I have a smart contract that was inherited from UUPSUpgradeable smart contract. I am deploying it first as v1 and then deploying my proxy contract. Here is my proxy contract:
// SPDX-License-Identifier: MIT
pragma solidity 0.8.11;
import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
contract Proxy is UUPSUpgradeable, Ownable {
constructor(address _impl) {
_upgradeTo(_impl);
}
function _authorizeUpgrade(address) internal override onlyOwner {}
}
I am giving the v1.address as constructor parameter to the proxy. Am I doing the right thing? If I am, how can I send tx to proxy to delegate? I am using hardhat for testing, as you can see in the title.