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.
This PR adds the support to enable the bucket auction for a duration whose start and end times are specified with parameters to the constructor. Removed activeStage; and the functions relies on the activeStage are now checking the bucket.timestamp to find out the active stage.
Useful information on the contract changes:
BucketAuction constructor takes two new parameters for the start and end time of the auction.
The private property activeStage and its getters/setters were removed. The dependent functions derive this info by checking the bucket.timestamp.
The modifier cannotMint were removed from the BucketAuction::bid and setPrice.
From now on the setPrice can not be called after the first token is sent; added a private property and modifier for it.
The function ERC721M:canMint assumes the stageTimestamp is block.timestamp unless a timestamp and valid cosigner were specified.
Useful information on the script changes:
Created the common/constants to be used by all scripts
Added a new script to deploy the bucket auction: deployBA
Useful information on the test changes:
Updated the existing test cases affected by the contract changes.
Added new test cases to cover the new contract changes.
This PR adds the support to enable the bucket auction for a duration whose start and end times are specified with parameters to the constructor. Removed activeStage; and the functions relies on the activeStage are now checking the bucket.timestamp to find out the active stage.
Useful information on the contract changes:
Useful information on the script changes:
Useful information on the test changes:
Test Coverage: