Sound Protocol
Module Contracts
SuperMinter

SuperMinter

contracts/modules/SuperMinter.sol (opens in a new tab)

Generalized minter.

Modes:

  • DEFAULT. No mint gatekeeping.
  • VERIFY_MERKLE. Minters must be included in a Merkle Tree.
  • VERIFY_SIGNATURE. Minters must be authorized via a signature by a signer. The price and quantity restrictions can be adjusted via the signature.

Inherits:

Structs

MintCreation

struct MintCreation {
    // The edition address.
    address edition;
    // The base price per token.
    // For `VERIFY_SIGNATURE`, this will be the minimum limit of the signed price.
    // Will be 0 if the `tier` is `GA_TIER`.
    uint96 price;
    // The start time of the mint.
    uint32 startTime;
    // The end time of the mint.
    uint32 endTime;
    // The maximum number of tokens an account can mint in this mint.
    uint32 maxMintablePerAccount;
    // The maximum number of tokens mintable.
    uint32 maxMintable;
    // The affiliate fee BPS.
    uint16 affiliateFeeBPS;
    // The affiliate Merkle root, if any.
    bytes32 affiliateMerkleRoot;
    // The tier of the mint.
    uint8 tier;
    // The address of the platform.
    address platform;
    // The mode of the mint. Options: `DEFAULT`, `VERIFY_MERKLE`, `VERIFY_SIGNATURE`.
    uint8 mode;
    // The signer address, required if `mode` is `VERIFY_SIGNATURE`.
    // If set to `address(1)`, the platform signer will be used instead.
    address signer;
    // The Merkle root hash, required if `mode` is `VERIFY_MERKLE`.
    bytes32 merkleRoot;
}

A struct containing the arguments to create a mint.

MintTo

struct MintTo {
    // The mint ID.
    address edition;
    // The tier of the mint.
    uint8 tier;
    // The edition-tier schedule number.
    uint8 scheduleNum;
    // The address to mint to.
    address to;
    // The number of tokens to mint.
    uint32 quantity;
    // The allowlisted address. Used if `mode` is `VERIFY_MERKLE`.
    address allowlisted;
    // The allowlisted quantity. Used if `mode` is `VERIFY_MERKLE`.
    // A default zero value means no limit.
    uint32 allowlistedQuantity;
    // The allowlist Merkle proof.
    bytes32[] allowlistProof;
    // The signed price. Used if `mode` is `VERIFY_SIGNATURE`.
    uint96 signedPrice;
    // The signed quantity. Used if `mode` is `VERIFY_SIGNATURE`.
    uint32 signedQuantity;
    // The signed claimed ticket. Used if `mode` is `VERIFY_SIGNATURE`.
    uint32 signedClaimTicket;
    // The expiry timestamp for the signature. Used if `mode` is `VERIFY_SIGNATURE`.
    uint32 signedDeadline;
    // The signature by the signer. Used if `mode` is `VERIFY_SIGNATURE`.
    bytes signature;
    // The affiliate address. Optional.
    address affiliate;
    // The Merkle proof for the affiliate.
    bytes32[] affiliateProof;
    // The attribution ID, optional.
    uint256 attributionId;
}

A struct containing the arguments for mint-to.

TokenPriceAndFees

struct TotalPriceAndFees {
    // The required Ether value.
    // `subTotal + platformFlatFee`.
    uint256 total;
    // The total price before any additive fees.
    uint256 subTotal;
    // The price per token.
    uint256 unitPrice;
    // The total platform fees.
    // `platformFlatFee + platformMintBPSFee`.
    uint256 platformFee;
    // The total platform flat fees.
    // `platformTxFlatFee + platformMintFlatFee`.
    uint256 platformFlatFee;
    // The platform per-transaction flat fees.
    uint256 platformTxFlatFee;
    // The total platform per-token flat fees.
    uint256 platformMintFlatFee;
    // The total platform per-token BPS fees.
    uint256 platformMintBPSFee;
    // The total affiliate fees.
    uint256 affiliateFee;
}

MintedLogData

struct MintedLogData {
    // The number of tokens minted.
    uint32 quantity;
    // The starting token ID minted.
    uint256 fromTokenId;
    // The allowlisted address.
    address allowlisted;
    // The allowlisted quantity.
    uint32 allowlistedQuantity;
    // The signed quantity.
    uint32 signedQuantity;
    // The signed claim ticket.
    uint32 signedClaimTicket;
    // The affiliate address.
    address affiliate;
    // Whether the affiliate address is affiliated.
    bool affiliated;
    // The total price paid, inclusive of all fees.
    uint256 requiredEtherValue;
    // The price per token.
    uint256 unitPrice;
    // The total platform fees.
    uint256 platformFee;
    // The total platform flat fees.
    uint256 platformFlatFee;
    // The total affiliate fees.
    uint256 affiliateFee;
}

A struct containing the log data for the Minted event.

PlatformFeeConfig

struct PlatformFeeConfig {
    // The per-transaction flat fee.
    uint96 perTxFlat;
    // The per-token flat fee.
    uint96 perMintFlat;
    // The per-token fee BPS.
    uint16 perMintBPS;
    // Whether the fees are active.
    bool active;
}

A struct to hold the fee configuration for a platform and a tier.

MintInfo

struct MintInfo {
    // The mint ID.
    address edition;
    // The tier of the mint.
    uint8 tier;
    // The edition-tier schedule number.
    uint8 scheduleNum;
    // The platform address.
    address platform;
    // The base price per token.
    // For `VERIFY_SIGNATURE` this will be the minimum limit of the signed price.
    // If the `tier` is `GA_TIER`, and the `mode` is NOT `VERIFY_SIGNATURE`,
    // this value will be the GA price instead.
    uint96 price;
    // The start time of the mint.
    uint32 startTime;
    // The end time of the mint.
    uint32 endTime;
    // The maximum number of tokens an account can mint in this mint.
    uint32 maxMintablePerAccount;
    // The maximum number of tokens mintable.
    uint32 maxMintable;
    // The total number of tokens minted.
    uint32 minted;
    // The affiliate fee BPS.
    uint16 affiliateFeeBPS;
    // The mode of the mint.
    uint8 mode;
    // Whether the mint is paused.
    bool paused;
    // Whether the mint already has mints.
    bool hasMints;
    // The affiliate Merkle root, if any.
    bytes32 affiliateMerkleRoot;
    // The Merkle root hash, required if `mode` is `VERIFY_MERKLE`.
    bytes32 merkleRoot;
    // The signer address, required if `mode` is `VERIFY_SIGNATURE`.
    // This value will be the platform signer instead if it is configured to be `address(1)`.
    address signer;
    // Whether the platform signer is being used instead
    // (i.e. `signer` configured to be `address(1)`).
    bool usePlatformSigner;
}

A struct containing the mint information.

Write Functions

createEditionMint

function createEditionMint(MintCreation calldata c) external returns (uint8 scheduleNum)

Creates a mint.

Params:
cThe mint creation struct.
Returns:
scheduleNumThe per-edition, per-tier schedule number (auto-incrementing).

mintTo

function mintTo(MintTo calldata p) external payable

Performs a mint.

Params:
pThe mint-to parameters.

setPrice

function setPrice(
    address edition,
    uint8 tier,
    uint8 scheduleNum,
    uint96 price
) external

Sets the price of the mint.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
priceThe price per token.

setPaused

function setPaused(
    address edition,
    uint8 tier,
    uint8 scheduleNum,
    bool paused
) external

Pause or unpase the the mint.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
pausedWhether to pause the mint.

setTimeRange

function setTimeRange(
    address edition,
    uint8 tier,
    uint8 scheduleNum,
    uint32 startTime,
    uint32 endTime
) external

Sets the time range for the the mint.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
startTimeThe mint start time.
endTimeThe mint end time.

setStartTime

function setStartTime(
    address edition,
    uint8 tier,
    uint8 scheduleNum,
    uint32 startTime
) external

Sets the start time for the the mint.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
startTimeThe mint start time.

setAffiliateFee

function setAffiliateFee(
    address edition,
    uint8 tier,
    uint8 scheduleNum,
    uint16 bps
    ) external

Sets the affiliate fee BPS for the mint.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
bpsThe fee BPS.

setAffiliateMerkleRoot

function setAffiliateMerkleRoot(
    address edition,
    uint8 tier,
    uint8 scheduleNum,
    bytes32 root
) external

Sets the affiliate Merkle root for the mint.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
rootThe affiliate Merkle root.

setMaxMintablePerAccount

function setMaxMintablePerAccount(
    address edition,
    uint8 tier,
    uint8 scheduleNum,
    uint32 value
) external

Sets the max mintable per account.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
valueThe max mintable per account.

setMaxMintable

function setMaxMintable(
    address edition,
    uint8 tier,
    uint8 scheduleNum,
    uint32 value
) external

Sets the max mintable for the mint.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
valueThe max mintable for the mint.

setMerkleRoot

function setMerkleRoot(
    address edition,
    uint8 tier,
    uint8 scheduleNum,
    bytes32 merkleRoot
) external

Sets the mode for the mint. The mint mode must be VERIFY_MERKLE.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
merkleRootThe Merkle root of the mint.

setSigner

function setSigner(
    address edition,
    uint8 tier,
    uint8 scheduleNum,
    address signer
) external

Sets the signer for the mint. The mint mode must be VERIFY_SIGNATURE.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
signerThe signer of the mint.

withdrawForAffiliate

function withdrawForAffiliate(address affiliate) external

Withdraws all accrued fees of the affiliate, to the affiliate.

Params:
affiliateThe affiliate address.

withdrawForPlatform

function withdrawForPlatform(address platform) external

Withdraws all accrued fees of the platform, to the their fee address.

Params:
platformThe platform address.

setPlatformFeeAddress

function setPlatformFeeAddress(address recipient) external

Allows the caller, as a platform, to set their fee address

Params:
recipientThe platform fee address of the caller.

setPlatformFeeConfig

function setPlatformFeeConfig(uint8 tier, PlatformFeeConfig memory c) external

Allows the caller, as a platform, to set their per-tier fee configuration.

Params:
tierThe tier of the mint.
cThe platform fee configuration struct.

setDefaultPlatformFeeConfig

function setDefaultPlatformFeeConfig(PlatformFeeConfig memory c) external

Allows the caller, as a platform, to set their default fee configuration.

Params:
cThe platform fee configuration struct.

setGAPrice

function setGAPrice(uint96 price) external

Allows the platform to set the price for the GA tier.

Params:
priceThe price per token for the GA tier.

setPlatformSigner

function setPlatformSigner(address signer) external

Allows the platform to set their signer.

Params:
signerThe signer for the platform.

Read-only Functions

GA_TIER

function GA_TIER() external pure returns (uint8)

Returns the GA tier. Which is 0.

MINT_TO_TYPEHASH

function MINT_TO_TYPEHASH() external pure returns (bytes32)

The EIP-712 typehash for signed mints.

DEFAULT

function DEFAULT() external pure returns (uint8)

The default mint mode.

VERIFY_MERKLE

function VERIFY_MERKLE() external pure returns (uint8)

The mint mode for Merkle drops.

VERIFY_SIGNATURE

function VERIFY_SIGNATURE() external pure returns (uint8)

The mint mode for Signature drops.

BPS_DENOMINATOR

function BPS_DENOMINATOR() external pure returns (uint16)

The denominator used in BPS fee calculations.

MAX_AFFILIATE_FEE_BPS

function MAX_AFFILIATE_FEE_BPS() external pure returns (uint16)

The maximum affiliate fee BPS.

MAX_PLATFORM_PER_MINT_FEE_BPS

function MAX_PLATFORM_PER_MINT_FEE_BPS() external pure returns (uint16)

The maximum per-mint platform fee BPS.

MAX_PLATFORM_PER_MINT_FLAT_FEE

function MAX_PLATFORM_PER_MINT_FLAT_FEE() external pure returns (uint96)

The maximum platform per-mint flat fee.

MAX_PLATFORM_PER_TX_FLAT_FEE

function MAX_PLATFORM_PER_TX_FLAT_FEE() external pure returns (uint96)

The maximum platform per-transaction flat fee.

platformFeesAccrued

function platformFeesAccrued(address platform) external view returns (uint256)

Returns the amount of fees accrued by the platform.

Params:
platformThe platform address.

platformFeeAddress

function platformFeeAddress(address platform) external view returns (address)

Returns the fee recipient for the platform.

Params:
platformThe platform address.

affiliateFeesAccrued

function affiliateFeesAccrued(address affiliate) external view returns (uint256)

Returns the amount of fees accrued by the affiliate.

Params:
affiliateThe affiliate address.

computeMintToDigest

function computeMintToDigest(MintTo calldata p) external view returns (bytes32)

Returns the EIP-712 digest of the mint-to data for signature mints.

Params:
pThe mint-to parameters.

totalPriceAndFees

function totalPriceAndFees(
    address edition,
    uint8 tier,
    uint8 scheduleNum,
    uint32 quantity
) external view returns (TotalPriceAndFees memory)

Returns the total price and fees for the mint.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
quantityHow many tokens to mint.

totalPriceAndFeesWithSignedPrice

function totalPriceAndFeesWithSignedPrice(
    address edition,
    uint8 tier,
    uint8 scheduleNum,
    uint32 quantity,
    uint96 signedPrice
) external view returns (TotalPriceAndFees memory)

Returns the total price and fees for the mint.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
quantityHow many tokens to mint.
signedPriceThe signed price.

gaPrice

function gaPrice(address platform) external view returns (uint96)

Returns the GA price for the platform.

Params:
platformThe platform address.

platformSigner

function platformSigner(address platform) external view returns (address)

Returns the signer for the platform.

Params:
platformThe platform address.

nextScheduleNum

function nextScheduleNum(address edition, uint8 tier) external view returns (uint8)

Returns the next mint schedule number for the edition-tier.

Params:
editionThe Sound Edition address.
tierThe tier.

numberMinted

function numberMinted(
    address edition,
    uint8 tier,
    uint8 scheduleNum,
    address collector
) external view returns (uint32)

Returns the number of tokens minted by collector for the mint.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
collectorThe address which tokens are minted to, or in the case of VERIFY_MERKLE, is the allowlisted address.

isAffiliatedWithProof

function isAffiliatedWithProof(
    address edition,
    uint8 tier,
    uint8 scheduleNum,
    address affiliate,
    bytes32[] calldata affiliateProof
    ) external view returns (bool)

Returns whether the affiliate is affiliated for the mint.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
affiliateThe affiliate address.
affiliateProofThe Merkle proof for the affiliate.

isAffiliated

function isAffiliated(
    address edition,
    uint8 tier,
    uint8 scheduleNum,
    address affiliate
) external view returns (bool)

Returns whether the affiliate is affiliated for the mint.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
affiliateThe affiliate address.

checkClaimTickets

function checkClaimTickets(
    address edition,
    uint8 tier,
    uint8 scheduleNum,
    uint32[] calldata claimTickets
) external view returns (bool[] memory)

Returns whether the claim tickets have been used.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
claimTicketsAn array of claim tickets.

platformFeeConfig

function platformFeeConfig(address platform, uint8 tier)
    external
    view 
    returns (PlatformFeeConfig memory)

Returns the platform fee configuration for the tier.

Params:
platformThe platform address.
tierThe tier of the mint.

defaultPlatformFeeConfig

function defaultPlatformFeeConfig(address platform)
	external
	view 
	returns (PlatformFeeConfig memory)

Returns the default platform fee configuration.

Params:
platformThe platform address.

effectivePlatformFeeConfig

function effectivePlatformFeeConfig(address platform, uint8 tier)
	external 
	view 
	returns (PlatformFeeConfig memory)

Returns the effective platform fee configuration.

Params:
platformThe platform address.
tierThe tier of the mint.

mintInfoList

function mintInfoList(address edition) external view returns (MintInfo[] memory)

Returns an array of mint information structs pertaining to the mint.

Params:
editionThe Sound Edition address.

mintInfo

function mintInfo(
    address edition,
    uint8 tier,
    uint8 scheduleNum
) external view returns (MintInfo memory)

Returns information pertaining to the mint.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.

name

function name() external pure returns (string memory)

Retuns the EIP-712 name for the contract.

version

function version() external pure returns (string memory)

Retuns the EIP-712 version for the contract.

Events

MintCreated

event MintCreated(
	address indexed edition, 
	uint8 tier, 
	uint8 scheduleNum, 
	MintCreation creation
)

Emitted when a new mint is created.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
creationThe mint creation struct.

PausedSet

event PausedSet(address indexed edition, uint8 tier, uint8 scheduleNum, bool paused)

Emitted when a mint is paused or un-paused.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
pausedWhether the mint is paused.

TimeRangeSet

event TimeRangeSet(
	address indexed edition, 
	uint8 tier, 
	uint8 scheduleNum, 
	uint32 startTime, 
	uint32 endTime
)

Emitted when the time range of a mint is updated.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
startTimeThe start time.
endTimeThe end time.

PriceSet

event PriceSet(address indexed edition, uint8 tier, uint8 scheduleNum, uint96 price)

Emitted when the base per-token price of a mint is updated.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
priceThe base per-token price.

MaxMintablePerAccountSet

event MaxMintablePerAccountSet(
	address indexed edition, 
	uint8 tier, 
	uint8 scheduleNum, 
	uint32 value
)

Emitted when the max mintable per account for a mint is updated.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
valueThe max mintable per account.

MaxMintableSet

event MaxMintableSet(
	address indexed edition, 
	uint8 tier, 
	uint8 scheduleNum, 
	uint32 value
)

Emitted when the max mintable for a mint is updated.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
valueThe max mintable for the mint.

MerkleRootSet

event MerkleRootSet(
	address indexed edition, 
	uint8 tier, 
	uint8 scheduleNum, 
	bytes32 merkleRoot
)

Emitted when the Merkle root of a mint is updated.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
merkleRootThe Merkle root of the mint.

SignerSet

event SignerSet(
	address indexed edition, 
	uint8 tier, 
	uint8 scheduleNum, 
	address signer
)

Emitted when the signer of a mint is updated.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
signerThe signer of the mint.

AffiliateFeeSet

event AffiliateFeeSet(
	address indexed edition, 
	uint8 tier, 
	uint8 scheduleNum, 
	uint16 bps
)

Emitted when the affiliate fee BPS for a mint is updated.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
bpsThe affiliate fee BPS.

AffiliateMerkleRootSet

event AffiliateMerkleRootSet(
	address indexed edition, 
	uint8 tier, 
	uint8 scheduleNum, 
	bytes32 root
)

Emitted when the affiliate Merkle root for a mint is updated.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
rootThe affiliate Merkle root hash.

Minted

event Minted(
    address indexed edition,
    uint8 tier,
    uint8 scheduleNum,
    address indexed to,
    MintedLogData data,
    uint256 indexed attributionId
)

Emitted when tokens are minted.

Params:
editionThe address of the Sound Edition.
tierThe tier.
scheduleNumThe edition-tier schedule number.
toThe recipient of the tokens minted.
dataThe mint-to log data.
attributionIdThe optional attribution ID.

PlatformFeeConfigSet

event PlatformFeeConfigSet(
	address indexed platform, 
	uint8 tier, 
	PlatformFeeConfig config
)

Emitted when the platform fee configuration for tier is updated.

Params:
platformThe platform address.
tierThe tier of the mint.
configThe platform fee configuration.

DefaultPlatformFeeConfigSet

event DefaultPlatformFeeConfigSet(
	address indexed platform, 
	PlatformFeeConfig config
)

Emitted when the default platform fee configuration is updated.

Params:
platformThe platform address.
configThe platform fee configuration.

AffiliateFeesWithdrawn

event AffiliateFeesWithdrawn(address indexed affiliate, uint256 accrued)

Emitted when affiliate fees are withdrawn.

Params:
affiliateThe recipient of the fees.
accruedThe amount of Ether accrued and withdrawn.

PlatformFeesWithdrawn

event PlatformFeesWithdrawn(address indexed platform, uint256 accrued)

Emitted when platform fees are withdrawn.

Params:
platformThe platform address.
accruedThe amount of Ether accrued and withdrawn.

PlatformFeeAddressSet

event PlatformFeeAddressSet(address indexed platform, address recipient)

Emitted when the platform fee recipient address is updated.

Params:
platformThe platform address.
recipientThe platform fee recipient address.

GAPriceSet

event GAPriceSet(address indexed platform, uint96 price)

Emitted when the per-token price for the GA tier is set.

Params:
platformThe platform address.
priceThe price per token for the GA tier.

PlatformSignerSet

event PlatformSignerSet(address indexed platform, address signer)

Emitted when the signer for a platform is set.

Params:
platformThe platform address.
signerThe signer for the platform.

Errors

WrongPayment

error WrongPayment(uint256 paid, uint256 required)

Exact payment required.

Params:
paidThe amount of Ether paid.
requiredThe amount of Ether required.

MintNotOpen

error MintNotOpen(uint256 blockTimestamp, uint32 startTime, uint32 endTime)

The mint is not opened.

Params:
blockTimestampThe current block timestamp.
startTimeThe opening time of the mint.
endTimeThe closing time of the mint.

MintPaused

error MintPaused()

The mint is paused.

MintsAlreadyExist

error MintsAlreadyExist()

Cannot perform the operation when any mints exist.

InvalidTimeRange

error InvalidTimeRange()

The time range is invalid.

InvalidMaxMintableRange

error InvalidMaxMintableRange()

The max mintable range is invalid.

InvalidAffiliateFeeBPS

error InvalidAffiliateFeeBPS()

The affiliate fee BPS cannot exceed the limit.

InvalidPlatformFeeBPS

error InvalidPlatformFeeBPS()

The affiliate fee BPS cannot exceed the limit.

InvalidPlatformFlatFee

error InvalidPlatformFlatFee()

The affiliate fee BPS cannot exceed the limit.

ExceedsMaxPerAccount

error ExceedsMaxPerAccount()

Cannot mint more than the maximum limit per account.

ExceedsMintSupply

error ExceedsMintSupply()

Cannot mint more than the maximum supply.

ExceedsSignedQuantity

error ExceedsSignedQuantity()

Cannot mint more than the signed quantity.

InvalidSignature

error InvalidSignature()

The signature is invalid.

SignatureExpired

error SignatureExpired()

The signature has expired.

SignatureAlreadyUsed

error SignatureAlreadyUsed()

The signature claim ticket has already been used.

SignerIsZeroAddress

error SignerIsZeroAddress()

The signer cannot be the zero address.

MerkleRootIsEmpty

error MerkleRootIsEmpty()

The Merkle root cannot be empty.

InvalidMerkleProof

error InvalidMerkleProof()

The Merkle proof is invalid.

CallerNotDelegated

error CallerNotDelegated()

The caller has not been delegated via delegate cash.

MaxMintablePerAccountIsZero

error MaxMintablePerAccountIsZero()

The max mintable amount per account cannot be zero.

MaxMintableIsZero

error MaxMintableIsZero()

The max mintable value cannot be zero.

PlatformFeeAddressIsZero

error PlatformFeeAddressIsZero()

The plaform fee address cannot be the zero address.

MintDoesNotExist

error MintDoesNotExist()

The mint does not exist.

InvalidAffiliate

error InvalidAffiliate()

The affiliate provided is invalid.

InvalidMode

error InvalidMode()

The mint mode provided is invalid.

SignedPriceTooLow

error SignedPriceTooLow()

The signed price is too low.

InvalidPlatformFeeConfig

error InvalidPlatformFeeConfig()

The platform fee configuration provided is invalid.

NotConfigurable

error NotConfigurable()

The parameter cannot be configured.