πŸ“ŒERC721

This contract is an advanced iteration of the standard ERC721. It stands out with its versatile minting options, including standard, pre-sale, and scheduled drops, catering to various launch strategies.

The contract also introduces airdrop capabilities for mass distribution and a whitelisting mechanism, essential for exclusive launches or pre-sale events.

Additionally, it incorporates social media link integration, crucial for community management. The contract's design includes features for pausing operations for security and managing token supply, such as burnable tokens and limits on tokens per wallet, making it a comprehensive solution for diverse NFT projects.

Methods

safeMint

Mints a new NFT to a specified address.

function safeMint(address to, string memory uri) public { }

Parameters

Name
Type
Description

to

address

The address to mint NFT to.

uri

string

URI for the NFT's metadata.

updateUri

Updates the URI for a specific token.

function updateUri(string memory _newUri, uint tokenId) public { }

Parameters

Name
Type
Description

_newUri

string

New URI to be set for the token.

tokenId

uint

ID of the token to update.

setPresaleTime

Sets the time for pre-sale minting.

Parameters

Name
Type
Description

_preSaleTime

uint256

The timestamp for when the pre-sale starts.

preSaleMint

Allows minting during the pre-sale period.

Parameters

Name
Type
Description

uri

string

URI for the NFT's metadata.

perWalletPreSaleMint

Allows minting during pre-sale with per-wallet limits.

Parameters

Name
Type
Description

uri

string

URI for the NFT's metadata.

setScheduledDropMintTime

Sets the start and end time for scheduled drop mints.

Parameters

Name
Type
Description

_startDropTime

uint256

Start time for the drop mint.

_endDropTime

uint256

End time for the drop mint.

scheduledDropMint

Allows minting during a scheduled drop.

Parameters

Name
Type
Description

uri

string

URI for the NFT's metadata.

airdropNFTs

Distributes NFTs to multiple addresses.

Parameters

Name
Type
Description

recipients

address[]

Array of recipient addresses.

uris

string[]

Array of URIs for each recipient's NFT.

setTwitterProfile

Sets the Twitter profile link for the contract.

Parameters

Name
Type
Description

_twitterProfile

string

URL of the Twitter profile.

setTelegramChannel

Sets the Telegram channel link for the contract.

Parameters

Name
Type
Description

_telegramChannel

string

URL of the Telegram channel.

setWebsiteURL

Sets the website URL for the contract.

Parameters

Name
Type
Description

_websiteURL

string

URL of the website.

_burn

Burns a token and adjusts the total supply.

Parameters

Name
Type
Description

tokenId

uint256

ID of the token to be burned.

tokenURI

Retrieves the URI of a specific token.

Parameters

Name
Type
Description

tokenId

uint256

ID of the token to retrieve URI for.

Returns

Name
Type
Description

URI

string

URI of the specified token.

pause

Pauses all token transfers. This can be used in case of an emergency to prevent any further transfers.

unpause

Unpauses the contract, re-enabling token transfers.

addToWhitelist

Adds addresses to the whitelist, allowing them to participate in activities like pre-sale minting.

Parameters

Name
Type
Description

accounts

address[]

Array of addresses to add to the whitelist.

removeFromWhitelist

Removes addresses from the whitelist.

Parameters

Name
Type
Description

accounts

address[]

Array of addresses to remove from the whitelist.

isWhitelisted

Checks if an address is on the whitelist.

Parameters

Name
Type
Description

account

address

The address to check for whitelist status.

Returns

Name
Type
Description

whitelisted

bool

Returns true if the address is whitelisted, false otherwise.

Last updated