github OpenZeppelin/cairo-contracts v0.7.0-rc.0

latest releases: v0.13.0, v0.12.0, v0.11.0...
pre-release3 months ago

This is the very first (pre) release of the OpenZeppelin Contracts for Cairo 1+, and the first official release in 7 months.

It’s been a long way, but now end of the transition feels near. A new stage of maturity is ahead 🌺🚀.

Warning
This release candidate is NOT storage-compatible with previous Contracts for Cairo versions (e.g. v0.6.1), it is not safe to upgrade previously deployed contracts to this version. This is fixed in the actual release (v0.7.0), where contracts are storage-compatible with previous versions like v0.6.1.

Usage

Install the library as a scarb dependency:

[dependencies]
openzeppelin = { git = "https://github.com/OpenZeppelin/cairo-contracts.git", tag = "v0.7.0-rc.0" }

It requires scarb 0.7.0 and supports Cairo 2.2.0

What has changed?

Most things! This is a brand new library written in a new language with a new type system. It exposes a new API and usage model (no more extensibility pattern), which will be continually improved.

The feature set is pretty much the same as previous versions with few notable differences:

  • ERC1155 and UniversalDeployer (UDC) are still in development
  • no EthAccount library (yet)
  • almost no presets like ERC20Upgradeable, ERC721Mintable, etc. (yet)
  • upgrades are now based on the replace_class syscall

This library also:

  • uses SRC5 instead of ERC165 for contract introspection
  • follows the great interface migration plan implementing dual interfaces (snake and camel case ones), while also providing dual-case dispatchers to interface with contracts implementing either standard
  • is distributed as a scarb package

What’s in it?

This release candidate includes the following modules:

  • basic account
  • upgrades
  • introspection module (SRC5)
  • dual interface ABI dispatchers
  • tokens
    • ERC20
    • ERC721
  • access
    • AccessControl
    • Ownable
  • security
    • Pausable
    • Initializable
    • Reentrancy guard

Don't miss a new cairo-contracts release

NewReleases is sending notifications on new releases.