Using proxy contract with Solidity 0.6?

Hi there: I’m interested in applying the OZ proxy pattern as outlined here: https://docs.openzeppelin.com/upgrades/2.7/creating-upgradeable-from-solidity, however running into an issue related to compiler discrepancies. My project (as well as OZ’s own contracts-ethereum-pacakge) are using 0.6.0, however, the upgrades package uses 0.5.0.

Questions:

  • Is there another library or package I can use for deploying a new contract from within solidity code that is compatible with OZ’s upgrade client?
  • Is there a way in Solidity to run dependencies safely with two different solc versions?
  • Any other potential solutions you can think of?

The new oz client is quite amazing, however, documentation feels lacking related to deploying contracts within Solidity contacts.

Any help is much appreciated, gracias.

n3o

1 Like

Closing this issue. Spoke with Andrew B (OpenZeppelin) on Telegram. Here was his response:

"The proxy contracts have been moved to OpenZeppelin Contracts which has Solidity 0.6 and Solidity 0.7 versions:

OpenZeppelin Contracts 3.2 "

1 Like

Hi @n3o,

Welcome to the community forum :wave:

Thanks for posting the solution here.

There is an issue to add a proxy factory to OpenZeppelin Contracts: https://github.com/OpenZeppelin/openzeppelin-contracts/issues/2339

I created an issue to add documentation on how to deploy a proxy from Solidity: https://github.com/OpenZeppelin/openzeppelin-contracts/issues/2368