OpenZeppelin / cairo-contracts

OpenZeppelin Contracts written in Cairo for Starknet, a decentralized ZK Rollup
https://docs.openzeppelin.com/contracts-cairo
MIT License
797 stars 320 forks source link

Add ERC721EnumerableComponent extension #983

Open andrew-fleming opened 2 months ago

andrew-fleming commented 2 months ago

Fixes #722.

Deps:

PR Checklist

andrew-fleming commented 1 month ago
  1. I feel it is worth waiting until at least the next milestone to release it since we are going to have two good additions to the language: Map and StorageArray, that can help both making the implementation cleaner and avoid breaking right after we release a first version. I don't think we should target being backward compatible for this module, which brings us into suggestion two.

Mmmmm yeah, I think that's fair. I'll change this to a draft and we can revisit in either the next or after milestone

  1. Break backward compatibility to use Map and StorageArray, and also remove the camelCase interface. I think at this point we are not targeting contracts that may upgrade from cairo0 to this new version, since they either upgraded already or are not gonna do it.

Agreed. Will update!