Hi @Emc_Lab ,
I assume the issue is due to the ProxyFactory contract using Solidity 0.5 whilst your contract is using Solidity 0.7.
If you want to deploy upgradeable contracts directly then I recommend using OpenZeppelin Upgrades Plugins for Truffle and Buidler (https://docs.openzeppelin.com/upgrades-plugins/1.x/ )
If you want to deploy upgradeable contracts via a factory then you could deploy the proxy in OpenZeppelin Contracts (either Solidity 0.6 or Solidity 0.7).
The proxy contracts were moved from the OpenZeppelin SDK in OpenZeppelin Contracts 3.2 .
// SPDX-License-Identifier: MIT
pragma solidity ^0.7.0;
import "./UpgradeableProxy.sol";
/**
* @dev This contract implements a proxy that is upgradeable by an admin.
*
* To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector
* clashing], which can potentially be used in an attack, this contract uses the
* https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two
* things that go hand in hand:
*
* 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if
* that call matches one of the admin functions exposed by the proxy itself.
* 2. If the admin calls the proxy, it can access the admin functions, but its calls will never be forwarded to the
* implementation. If the admin tries to call a function on the implementation it will fail with an error that says
* "admin cannot fallback to proxy target".
*
This file has been truncated. show original
There isn’t a factory that you can use, but you could look at some of the ideas in this PR:
OpenZeppelin:master
← julianmrodri:feat/proxyFactory
opened 05:51AM - 23 Sep 20 UTC
Please note: we’ve decided it’s best to focus our upgradeability efforts on the Upgrades Plugins exclusively, and have halted development on the OpenZeppelin CLI (Building for interoperability: why we’re focusing on Upgrades Plugins )