OpenZeppelin / openzeppelin-contracts

OpenZeppelin Contracts is a library for secure smart contract development.
https://openzeppelin.com/contracts
MIT License
24.96k stars 11.8k forks source link

Contracts Roadmap Q2 2020 #2207

Closed nventuro closed 4 years ago

nventuro commented 4 years ago

The release of OpenZeppelin Contracts v3.0 marks the completion of our Q1 roadmap.

We are sharing our roadmap for the key areas that we are planning to work on for the next few months, with the aim of giving more visibility to our goals and fostering participation.

Fixed-point Arithmetic

Support for Fixed-point Arithmetic has been requested for some time now, and last month we kickstarted discussion in our forum about what fixed-point math should look like in OpenZeppelin Contracts. We took a long look at existing libraries, projects that have rolled their own, and needs of our community members.

We’re now almost at a point where we feel confident we’ve gathered enough information to build a great fixed-point library that will be secure, flexible and easy to use, lowering one of the big barriers to entry when it comes to DeFi smart contract development.

If you have any suggestions or ideas on this topic, please come join the discussion!

Proxies for Upgradeable Contracts

OpenZeppelin provides multiple tools to help develop and manage upgradeable smart contracts, and we want these to be more easily available to everyone.

To achieve this, we’re planning on including implementations for the most used upgradeable proxy standards, a core component of any upgradeable contract solution. This will likely include EIP 1967 for Standard Proxy Storage Slots and EIP 1882 for Universal Upgradeable Proxy Standard (UUPS), along with our own custom proxies.

It’s important to note that this doesn’t mean that using OpenZeppelin Contracts will make your contracts upgradeable by default: we’re just providing tools to make this process easier, if you decide you want upgradeable contracts.

ERC1155

Work on this token has slowed down due to the complexity related to the migration to Solidity v0.6 and the number of internal changes related to the v3.0 release. With this process complete, we’re now back on track to get ERC1155 finalized and ready for a release.

GitHub user @KaiRo-at has spearheaded this effort (thank you!), porting the code to v0.6, adding new features, and working on the extensibility of the contract.

If you want to contribute, head to one of those issues, or take a look at the list of pending tasks.

frangio commented 4 years ago

Proxies and ERC1155 have been released now. Fixed point was postponed because there was ongoing active conversation for building it natively into Solidity (https://github.com/ethereum/solidity/issues/409).

howardpen9 commented 3 years ago

Thanks!