0.1.2 • Published 2 months ago

@magiceden-oss/erc721m v0.1.2

Weekly downloads
-
License
-
Repository
-
Last release
2 months ago

ERC721M

NPM CI MIT License Coverage

ERC721M is a EVM minting protocol that enables the multi stage minting, per stage WL management, per stage supply limit, and crossmint support.

Motivation

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(whitelist)
  • per-stage maxStageSupply

The composability of the stages is generic enough to enable flexible and complicated EVM minting contracts.

Tech/ Framework

Built with

  • Hardhat
  • ERC721A by Azuki. Fully compliant implementation of IERC721 with significant gas savings for batch minting.
  • ERC721C by LimitBreak. Extends ERC721 and add creator-definable transfer security profiles that are the foundation for enforceable, programmable royalties.

Features

  • Minting Stages
  • Permenent BaseURI Support
  • Non-incresing Max Total Supply Support
  • Per-stage whitelist Merkle Tree
  • Per-stage Max Supply
  • Global and Per-stage Limit
  • Crossmint support
  • Native TypeScript and Typechain-Types Support

Contracts

ContractDescription
ERC721MThe basic minting contract based on ERC721A.
ERC721CMThe basic minting contract based on ERC721C and ERC721M.
ERC721CMRoyaltiesBased on ERC721CM, implementing ERC2981 for on-chain royalty.
ERC721MLiteThe lite version of ERC721M
ERC721MOperatorFiltererERC721M with OpenSea Operator Filterer
BucketAuctionBucket auction style minting contract. The contract is on beta. Use at your own risk.
DutchAuctionDutch auction style minting contract. The contract is on beta. Use at your own risk.

Please read ERC721M Contract Usage Guide for more details.

Installation

Provide step by step series of examples and explanations about how to get a development env running.

npm add @magiceden-oss/erc721m

Code Example

import { ERC721M, ERC721M__factory } from '@magiceden-oss/erc721m';

const contract = ERC721M__factory.connect(
  contractAddress,
  signerOrProvider,
);

API Reference

# Compile the contract
npm run build

# Get the auto generated typechain-types
./typechain-types

Tests

npm run test

We are targeting 100% lines coverage.

npm.io

Security

Bounty Program

Used By

License

MIT © MagicEden Open Source