ERC721M is a EVM minting protocol that enables the multi stage minting, per stage WL management, per stage supply limit, and crossmint support.
We'd like to introduce the standard of "minting stages". At each stage, the creators can define the following properties:
- per-stage price
- per-stage walletLimit
- per-stage merkleRoot
- per-stage maxStageSupply
The composability of the stages is generic enough to enable flexible and complicated EVM minting contracts.
Built with
- Minting Stages
- Permenent BaseURI Support
- Non-incresing Max Total Supply Support
- Per-stage WL Merkle Tree
- Per-stage Max Supply
- Global and Per-stage Limit
- Native TypeScript and Typechain-Types Support
Contract | Description |
---|---|
ERC721M | The basic minting contract |
ERC721MLite | The lite version of ERC721M |
ERC721MOperatorFilterer | ERC721M with OpenSea Operator Filterer |
ERC721MOnft | ERC721M with LayerZero bridging. The contract is on beta. Use at your own risk. |
BucketAuction | Bucket auction style minting contract. The contract is on beta. Use at your own risk. |
DutchAuction | Dutch auction style minting contract. The contract is on beta. Use at your own risk. |
Please read ERC721M Contract Usage Guide for more details.
Provide step by step series of examples and explanations about how to get a development env running.
npm add @magiceden-oss/erc721m
import { ERC721M, ERC721M__factory } from '@magiceden-oss/erc721m';
const contract = ERC721M__factory.connect(
contractAddress,
signerOrProvider,
);
# Compile the contract
npm run build
# Get the auto generated typechain-types
./typechain-types
npm run test
We are targeting 100% lines coverage.
- HackerOne program: please contact https://magiceden.io/.well-known/security.txt
- Please be noted that there are some prerequites need to be met and certain assumptions are made when using the contracts. Please check the Contract Usage Guide for more details.
MIT © MagicEden Open Source