Contracts 4.0 Timeline

We know many of you are awaiting a release of OpenZeppelin Contracts with support for Solidity 0.8. Since this is a breaking change, we will be releasing a version 4.0 of Contracts, with a few other changes bundled in as well.

This is the timeline we’re aiming for:

  • February 19th 22nd: Preview release (Beta). The goal of this preview is to gather feedback on a few changes that are somewhat big. There could be other preview releases during the next 2 weeks, based on the feedback we receive. :white_check_mark:
  • March 4th 9th: Release candidate. :white_check_mark:
  • March 11th Match 24th: Final release. :white_check_mark:

People who want to jump onto Solidity 0.8 sooner would be able to use the preview release starting next week. The only drawback is you may see some breaking changes over the course of the following weeks until the final release is out.

Stay tuned!

5 Likes

Hope crowdsale contract and staking contract are part of 4.0

2 Likes

HI @ashishk74,

Neither are in the plan for OpenZeppelin Contracts 4.0 currently.

Crowdsales were removed from the 3.0.0 release. They are available in OpenZeppelin Contracts 2.x. See the documentation for details: https://docs.openzeppelin.com/contracts/3.x/crowdsales

For staking, I suggest adding to the discussion: Studying the building blocks of DeFi.

Crowdsale and stacking are pretty wide concepts, that take very different forms depending on which project you consider. If you have ideas of generic contracts, that could benefit many projects, feel free to share any ideas !

1 Like

Does this mean that SafeMath will be deprecated due to the changed arithmetic semantics in Solidity 0.8.x?

1 Like

Hi @jmcph4,

Welcome to the community :wave:

Following this discussion, SafeMath has been slightly modified to benefit from solidity ^0.8.0 new features. This new version is visible in the master branch (which is now ^0.8.0 based) and soon in 4.0 preview. If you have any concern with the “new” version of SafeMath, fell free to raise an issue.
From: https://github.com/OpenZeppelin/openzeppelin-contracts/issues/2465

1 Like

A quick update, the preview release will be out Monday instead of today Friday. Sorry for this delay!

1 Like

See the Beta announcement:

1 Like

Being tight on time, I need to check what is the current status of the contracts?

Fully Audited?

Most importantly is there any significant gas advantage to using these contracts vs the previous ones.

1 Like

Hi @DaveAppleton,

A second preview of Contracts 4.0 has been released this week.

There may still be changes based on feedback.

OpenZeppelin Contracts is community-vetted code.

Last full audit on v2.0.0 (https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/audit)

Depending on your use case, then there can be gas advantages. e.g. storage optimizations for ERC721; see: OpenZeppelin Contracts 4.0 Beta

4.0-rc.0 is out :white_check_mark:

Timeline has just been updated.

2 Likes

4.0 is out :white_check_mark:

Timeline has just been updated.

2 Likes

Thank you release, it’s so good to use v8

2 Likes

Just in time for us! we have been waiting for 4.0 with ERRC 1155 support :slight_smile:

1 Like

Hi @soulbank,

Welcome to the community :wave:

Glad OpenZeppelin Contracts 4 has arrived in time for you.

What are you building using ERC1155?

Thanks @abcoathup we are building a ERC20 token (SOUL) to be used to mint ERC 721 NFT’s for all the 3d assets at www.soulbank.com (we already have 40 there and another 150 to get up).

We are still trying to figure out how to encrypt the assets on IPFS using the owners private key, to make them secure and transferable at the same time - and are looking at using a smart contract to do re-encryption whenever ownership changes.

But I believe we will be a great use case of the ERC1155 dual standard and we own all or assets so are free to experiment.

Any advice would be great, our goal is to create 3D NFT’s that can move with users between virtual worlds.

1 Like