Docs

ERC721Mintable

import "@thirdweb-dev/contracts/extension/interface/IMintableERC721.sol";

Enable new NFTs to be minted into the collection by implementing the IMintableERC721 interface on your ERC721(A) contract.


View on GitHub

Usage

This is an example smart contract demonstrating how to inherit from this extension and override the functions to add (optional) custom functionality.

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@thirdweb-dev/contracts/eip/ERC721A.sol";
import "@thirdweb-dev/contracts/extension/interface/IMintableERC721.sol";

contract Contract is ERC721A, IMintableERC721 {
    constructor(
        string memory _name,
        string memory _symbol
    )
        ERC721A(
            _name,
            _symbol
        )
    {}

    function mintTo(address to, string calldata uri) external override returns (uint256) {
        // Your custom implementation here
    }

}

Base Contracts Implementing This Extension