Skip to content

Collection parameters can be changed after mint has started#

Low Risk

In DropFacet.sol, ApeDropFacet.sol and EditionFacet.sol, the parameters can be changed after sale has started.

For example in DropFacet.sol:

function startSale(
    uint256 newMaxAmount,
    uint256 newMaxPerMint,
    uint256 newMaxPerWallet,
    uint256 newPrice,
    bool presale
) external onlyRolesOrOwner(BaseStorage.MANAGER_ROLE) {
    DropStorage.Layout storage layout = DropStorage.layout();
    layout._saleActive = true;
    layout._presaleActive = presale;

    layout._maxAmount = newMaxAmount;
    layout._maxPerMint = newMaxPerMint;
    layout._maxPerWallet = newMaxPerWallet;
    layout._price = newPrice;
}
For example we can see that _price can be changed after mint has started, but also _maxPerMint, _maxPerWallet.

Recommendation#

I would suggest not to be able to change these values, once the presale or sale has started.