
This is a smart contract for an NFT artwork collection called “Eggheads” by Ugauga®. The collection consists of 10,000 computer-generated Eggheads living in Ugauga Univers and are always in a good mood. The contract is written in Solidity and is based on the ERC721 standard.
The contract allows users to mint Eggheads by calling the mint
function. The cost to mint an Egghead is specified in the cost
variable, and the maximum number of Eggheads that can be minted is specified in the maxSupply
variable. The contract also has a maxMintAmount
variable that specifies the maximum number of Eggheads that can be minted in a single transaction.
The contract has an artist royalty fee of 12%, which is fixed and cannot be changed. When a user mints an Egghead, the contract automatically deducts the royalty fee from the payment and sends it to the artist’s address specified in the artist
variable.
The contract has a transferFrom
function that allows users to transfer their Eggheads to other users. When an Egghead is transferred, the contract automatically deducts the royalty fee from the payment and sends it to the artist’s address.
The contract has a getSecondsUntilMinting
function that returns the number of seconds remaining until minting is allowed. Minting is not allowed until the contract has been deployed for a certain amount of time specified in the allowMintingAfter
variable.
The contract also has a walletOfOwner
function that returns an array of the token IDs owned by a particular address.
Finally, the contract has a tokenURI
function that returns the URI for a given token ID. If the Eggheads have not been revealed yet (i.e., isRevealed
is false), the URI returned is the notRevealedUri
variable. Otherwise, the URI is constructed using the baseURI
, baseExtension
, and the token ID.