Chocomint V2

The GitHub repository for Chocomint v2 is not public yet. Please refer to etherscan below.

Role Management

ChocoMintERC721 can hold two roles, Owner and Admin.


  • can set Admin


  • can set and freeze tokenURI

  • can set and freeze royalty

  • can set and freeze provenance

  • can set and freeze root


  • can renounce admin role


  • setTokenURIBase

    • Set the base URI of metadata for the entire contract.

  • setTokenStaticURI

    • Set the URI for a specific token.

  • freezeTokenURIBase

    • Make base URI unchangeable.

  • freezeTokenStaticURI

    • Make the URI of a specific token unchangeable.

  • freezeAllTokenStaticURI

    • Make all static URI unchangeable. After this, you cannot execute setTokenStaticURI.

  • freezeTokenURI

    • Execute both freezeTokenURIBase and freezeAllTokenStaticURI.


ChocoMintERC721 supports the EIP2981 royalty standard. function royaltyInfo(uint256 tokenId, uint256 value) will return the royalty info of the token, thus, creators can receive the royalty when the token is traded on a marketplace that supports EIP2981.

  • setDefaultRoyalty

    • Set the default royalty for the entire contract.

  • setTokenRoyalty

    • Set the royalty for specific token.

  • freezeDefaultRoyalty

    • Make the default royalty unchangeable.

  • freezeTokenRoyalty

    • Make the royalty for specific token unchangeable.

  • freezeAllTokenRoyalty

    • Make all token Royalty unchangeable.

  • freezeRoyalty

    • Execute both freezeDefaultRoyalty and freezeAllTokenRoyalty

  • royaltyInfo

    • Returns the royalty of token If it is set. If not, returns the default royalty if it is set. And if nothing is set, returns zero address.


As with Hashmasks, you can set a provance to prove that the contents of the metadata have not been tampered with.

  • setProvenance

    • Set the provenance.

  • freezeProvenance

    • Make the provenance unchangeable.

  • provenance

    • Returns the configured provenance.


If the root is configured, you must always make a transaction with root and proof as a set.

  • setRoot

    • Set the root.

  • freezeRoot

    • Make the root unchangeable.

  • root

    • Returns the configured root.

Last updated