Skip to content

MagicDrop is a collection of EVM minting protocols that enable the multi stage minting, per stage WL management, per stage supply limit, and crossmint support.

License

Notifications You must be signed in to change notification settings

me-foundation/magicdrop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MagicDrop

NPM CI MIT License Coverage

MagicDrop is a collection of EVM minting protocols that enable the multi stage minting, per stage WL management, per stage supply limit, and authorized minter 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
  • Authorized minter support
  • Native TypeScript and Typechain-Types Support

Contracts

Contract Description
ERC721M The basic minting contract based on ERC721A.
ERC721CM The basic minting contract based on ERC721C and ERC721M.
ERC1155M The basic minting contract based on ERC1155.
MagicDropTokenImplRegistry The implementation registry for MagicDrop contracts.
MagicDropCloneFactory The factory contract for cloning MagicDrop contracts.
ERC721MInitializableV1_0_0 The initializable implementation for ERC721M.
ERC721CMInitializableV1_0_0 The initializable implementation for ERC721CM.
ERC1155MInitializableV1_0_0 The initializable implementation for ERC1155M.

Deployment Address & Salts

Name Address Salt
MagicDropTokenImplRegistry 0x00000000caF1E3978e291c5Fb53FeedB957eC146 0x78c643228c532b1aee1930fedd4a4b0e6d3d8723987c0809d76a222b0d59b461
MagicDropCloneFactory 0x000000009e44eBa131196847C685F20Cd4b68aC4 0xd8c5a3057ccf31c5fd5cee4e4a5ad9005d0a9a7f4983365010b8785805b44eb1
ERC721MInitializableV1_0_0 0x00000000b55a1126458841Cc756E565C50759484 0x4ca859ec4f4daad3d92dcc2959e01718def5eb520350e3e93bd31fc8d2b3beff
ERC721CMInitializableV1_0_0 0x00000000760644De6b7b40362288e944f4154121 0x8ae63539ad30ece1889c0999c70b900ffaf0e10ee23b777924c310ad548b6266
ERC1155MInitializableV1_0_0 0x000000009B3dC659D26BD2f3D38136E2b270C28d 0x8b72ee316ce281e983b3694fc794164ce2eac8c3b8d7751c42edfc89310c6665

Supported Chains

  • Ethereum
  • Polygon
  • Base
  • Sei
  • Arbitrum
  • Apechain
  • BSC

Using Foundry

Install Foundry

curl -L https://foundry.paradigm.xyz | bash

Install Dependencies

forge install

Build Contracts

forge build

Run Tests

forge test

Generate Coverage Report

This project includes a script to generate and view a test coverage report. The script is located at test/generate-coverage-report.sh.

./test/generate-coverage-report.sh

Security

Bounty Program

Used By

License

MIT © MagicEden Open Source

About

MagicDrop is a collection of EVM minting protocols that enable the multi stage minting, per stage WL management, per stage supply limit, and crossmint support.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published