github OpenZeppelin/cairo-contracts v0.18.0

16 hours ago

Summary

Added

  • VotesComponent with implementation for ERC721 and ERC20 tokens (#1114)
  • IUpgradeAndCall interface (#1148)
  • upgrade_and_call function in UpgradeableComponent's InternalImpl (#1148)
  • ERC20Permit impl for ERC20Component facilitating token approvals via off-chain signatures (#1140)
  • ISNIP12Metadata interface for discovering name and version of a SNIP-12 impl (#1140)
  • SNIP12MetadataExternal impl of ISNIP12Metadata interface for ERC20Component (#1140)

Changed

  • Bump scarb to v2.8.4 (#1146)

Changed (Breaking)

  • Remove ERC20Votes component in favor of VotesComponent (#1114)
    • Trace is now declared as a storage_node and now uses Vec instead of StorageArray.
    • delegate_by_sig signature param in the IVotes interface updated from Array<felt252> to Span<felt252>.
  • Remove StorageArray from openzeppelin_utils (#1114)
  • Bump snforge to 0.31.0
  • Remove openzeppelin_utils::selectors (#1163)
  • Remove DualCase dispatchers (#1163)
    • Remove try_selector_with_fallback from openzeppelin_utils
    • Remove unwrap_and_cast module from openzeppelin_utils
    • Remove openzeppelin_access::accesscontrol::dual_accesscontrol
    • Remove openzeppelin_access::ownable::dual_ownable
    • Remove openzeppelin_account::dual_account
    • Remove openzeppelin_account::dual_eth_account
    • Remove openzeppelin_token::erc20::dual20
    • Remove openzeppelin_token::erc721::dual721
    • Remove openzeppelin_token::erc721::dual721_receiver
    • Remove openzeppelin_token::erc1155::dual1155
    • Remove openzeppelin_token::erc1155::dual1155_receiver
  • SRC9Component now uses ISRC6Dispatcher instead of DualCaseAccount (#1163)
  • ERC20VotesComponent now uses ISRC6Dispatcher instead of DualCaseAccount (#1163)
  • ERC721Component now uses IERC721ReceiverDispatcher instead of DualCaseERC721Receiver (#1163)
  • ERC1155Component now uses IERC1155ReceiverDispatcher instead of DualCaseERC1155Receiver (#1163)

Full Changes List

Full Changelog: v0.17.0...v0.18.0

Don't miss a new cairo-contracts release

NewReleases is sending notifications on new releases.