ERC-721a contract

ERC-721a Smart Contract

Constructor

constructor(
        string memory __name,
        string memory __symbol,
        uint256 _price,
        uint256 _maxSupply,
        string memory _contractMetadataURI,
        string memory _tokenMetadataURI,
        bool _allowBuy,
        uint256 _maxPerTransaction,
        Addresses memory _addresses
) ERC721A('', '') {...}
IndexNameDescription
0__nameToken Name
1__symbolToken Symbol
2_priceToken Price
3_maxSupplyToken Max Supply
4_contractMetadataURIThe URI of the Metadata for the Contract
5_tokenMetadataURIThe URI of the Metadata for an individual Token
6_allowBuyToggle for API-based mints
7_maxPerTransactionMaximum amount of NFTs a single address can purchase
8_addressesArray of:
- Customer Address
- Collection Owner Address
- Authorization Address
- Purchase Token Address (if using crypto)
- HyperMint Manager Primary Royalty Address
- Customer Primary Royalty Address
- Secondary Royalty Address

Functions

Legend

FieldMeaning
🛠Function can modify state
💵Function is payable
Publicpublic functions can be called internally from within the contract or externally via messages
ExternalExternal functions are part of the contract interface, which means they can be called from other contracts and via transactions. An external function f cannot be called internally (i.e. f() does not work, but this.f() works)

Description

Function NameVisibilityMutabilityDescription
namePublic-Returns name of the token
totalMintedPublic-Returns total tokens minted
symbolPublic-Returns the symbol of the contract
tokenURIPublic-Returns the URI for the tokenId
getTokenInfoExternal-Returns the current price, supply and max supply of the token
royaltyInfoExternal-Returns the royalty receiver and amount for each secondary sale
supportsInterfacePublic-Returns true if this contract implements the interface defined by interfaceId
setNameAndSymbolExternal🛠Modifies the token name and/or token symbol
setMetadataURIsExternal🛠Modifies the URIs for the contract and token
setDatesExternal🛠Modifies public sale start and end dates
setTokenDataExternal🛠Modifies token price, max supply and max amount of tokens can be purchased per transaction
setAddressesExternal🛠Modifies addresses
setAllowBuyExternal🛠Toggles buy on/off
setRoyaltyExternal🛠Modifies primary royalty for minting and/or secondary royalty
mintBatchExternal🛠Performs a batch mint of x tokens to y addresses
buyAuthorisedExternal💵Buys X amount of tokens in private sale
buyExternal💵Buys X amount of tokens in public sale
_buyExternal🛠- Processes a buy of X tokens for a total price Y
- Immediately sweeps proceeds from the contract
- Mints X tokens to the buyer
transferContractOwnershipExternal🛠Transfers ownership of the Contract Manager role
startTokenIdExternal-Overrides the start tokenId for mints

Architecture

Feedback

Something not quite right, unclear or can't find what you are looking for? Please let us know at support.moonpay.com and we will get back to you as soon as we can.