Open Amxx opened 4 years ago
Hi @Amxx! Thanks for the suggestion, it is really appreciated.
The project owner should review your suggestion during the next week.
Please wait until we have discussed this idea before writing any code or submitting a Pull Request, so we can go through the design beforehand. We don’t want you to waste your time!
Thanks for the suggestion @Amxx! v2.7 has shipped with support for 0.6 in Initializable
only, but it's true that we need to upgrade the remaining contracts as well. As a matter of fact, this would be a great opportunity to move the Proxies to Contracts. WDYT @frangio?
For the time being I made a fork of some proxy with 0.6.0 in my solidity tooling repo: https://github.com/iExecBlockchainComputing/iexec-solidity/tree/master/contracts
This is a repo I use in addition of openzeppelin contracts. So anything (like proxy) you include in contracts would be a great move from my point of view
We're planning to include the proxies in OpenZeppelin Contracts 3.1, including support for Solidity 0.6. There's no date for that release yet, but it might be about a month from now.
Can you describe the scenarios for which you need support for 0.6? In most cases it should be possible to use the precompiled proxies that are shipped in the npm package.
we are using @openzeppelin/upgrades and @openzeppelin/contracts-ethereum-package in our project . We implemented a DAOFactory contract which is based(and use) on @openzeppelin/upgrades. We would like to be able to compile this contract + all other contracts with solc 0.6 .. We can come out with a workaround which works with the precompiled contracts you provide (can you give a reference to a truffle project which doing so? ) though I guess that it will complicated our truffle project..I would like to avoid it.
We'll look into this in the next couple of days. Unless there's anything unexpected the migration should be easy. We'll post updates here once we have more certainty.
any update re that @frangio ?
Hi all, Im also interested in the 0.6 version of the Ugrades contract. In my case we are working on a quite extense Smart contract which has been developed on 0.6.2 and I want to make it ownable, upgradable and pausable. If it is possible even with the current version of the Upgrades package it would be great to know!
@spalladino is the support for Initializable in 0.6 enough to make a smart contract in 0.6.2 Upgradable and Pausable? Which use case does it cover? Thanks!
Hi @julianmrodri, It sounds like you are after an upgradeable version of OpenZeppelin Contracts 3.0 (currently at release candidate) which has Solidity 0.6 support. (Assuming that you are wanting to add Ownable and Pausable to your contract)
You will need OpenZeppelin Contracts Ethereum Package when it is created once OpenZeppelin Contracts 3.0 is released, see the following issue: https://github.com/OpenZeppelin/openzeppelin-contracts-ethereum-package/issues/79
@abcoathup actually I coundt find the Pausable contract in the 3.0 version (Candidate release). Looks like it has been removed is it possible?
@orenyodfat Apologies for taking so long to reply.
There is an initial migration of most contracts to Solidity 0.6 in the solc-0.6
branch. It hasn't been tested though. Unfortunately, although the contract migration itself is quite straightforward, migrating all of the tests and setup to use 0.6 will be quite a bit more work that we don't have the bandwidth to do at the moment.
We have additionally decided to migrate the proxy contracts to OpenZeppelin Contracts, which we estimate will be included in its 3.1 release. Once there they will be tested and released on npm. Keep in mind that the contracts in the application
directory of @openzeppelin/upgrades
are going to be deprecated, so we will not migrate those.
thanks @frangio, for curiosity , why the application
contracts going to be deprecated ? will you provide an alternative for the package/directory mechanism ?
are you referring to #1488 ?
Yes #1488 will be the alternative.
Contracts in openzeppelin-sdk/packages/lib/contracts can be used by other project, the upgradeability part in particular.
It would be nice to add solidity 0.6.0 support so that projects can continue using them.