An external method for users to purchase and mint NFTs. Requires that the sale is active, that the minted NFTs will not exceed the `MAX_SUPPLY`, that the user's `walletLimit` will not be exceeded, and that a sufficient payable value is sent.
Returns the address of the current owner.
Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.
A way for the owner to reserve a specifc number of NFTs without having to interact with the sale.
Updates the baseURI that will be used to retrieve NFT metadata.
Sets the price of each NFT during the initial sale.
Sets whether or not the NFT sale is active.
Sets the maximum number of NFTs that can be sold to a specific address.
Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.
A way for the owner to withdraw all proceeds from the sale.