Skip to main content

SignatureDrop

Methods​

DEFAULT_ADMIN_ROLE​

function DEFAULT_ADMIN_ROLE() external view returns (bytes32)

Returns​

NameTypeDescription
_0bytes32undefined

approve​

function approve(address to, uint256 tokenId) external nonpayable

See {IERC721-approve}.

Parameters​

NameTypeDescription
toaddressundefined
tokenIduint256undefined

balanceOf​

function balanceOf(address owner) external view returns (uint256)

See {IERC721-balanceOf}.

Parameters​

NameTypeDescription
owneraddressundefined

Returns​

NameTypeDescription
_0uint256undefined

burn​

function burn(uint256 tokenId) external nonpayable

Burns tokenId. See {ERC721-_burn}.

Parameters​

NameTypeDescription
tokenIduint256undefined

claim​

function claim(address _receiver, uint256 _quantity, address _currency, uint256 _pricePerToken, IDropSinglePhase.AllowlistProof _allowlistProof, bytes _data) external payable

Parameters​

NameTypeDescription
_receiveraddressundefined
_quantityuint256undefined
_currencyaddressundefined
_pricePerTokenuint256undefined
_allowlistProofIDropSinglePhase.AllowlistProofundefined
_databytesundefined

claimCondition​

function claimCondition() external view returns (uint256 startTimestamp, uint256 maxClaimableSupply, uint256 supplyClaimed, uint256 quantityLimitPerWallet, bytes32 merkleRoot, uint256 pricePerToken, address currency, string metadata)

Returns​

NameTypeDescription
startTimestampuint256undefined
maxClaimableSupplyuint256undefined
supplyClaimeduint256undefined
quantityLimitPerWalletuint256undefined
merkleRootbytes32undefined
pricePerTokenuint256undefined
currencyaddressundefined
metadatastringundefined

contractType​

function contractType() external pure returns (bytes32)

Returns​

NameTypeDescription
_0bytes32undefined

contractURI​

function contractURI() external view returns (string)

Returns the contract metadata URI.

Returns​

NameTypeDescription
_0stringundefined

contractVersion​

function contractVersion() external pure returns (uint8)

Returns​

NameTypeDescription
_0uint8undefined

encryptDecrypt​

function encryptDecrypt(bytes data, bytes key) external pure returns (bytes result)

Encrypt/decrypt data on chain.

Encrypt/decrypt given data with key. Uses inline assembly. See: https://ethereum.stackexchange.com/questions/69825/decrypt-message-on-chain

Parameters​

NameTypeDescription
databytesBytes of data to encrypt/decrypt.
keybytesSecure key used by caller for encryption/decryption.

Returns​

NameTypeDescription
resultbytesOutput after encryption/decryption of given data.

encryptedData​

function encryptedData(uint256) external view returns (bytes)

Parameters​

NameTypeDescription
_0uint256undefined

Returns​

NameTypeDescription
_0bytesundefined

getApproved​

function getApproved(uint256 tokenId) external view returns (address)

See {IERC721-getApproved}.

Parameters​

NameTypeDescription
tokenIduint256undefined

Returns​

NameTypeDescription
_0addressundefined

getBaseURICount​

function getBaseURICount() external view returns (uint256)

Returns the count of batches of NFTs.

Each batch of tokens has an in ID and an associated baseURI. See {batchIds}.

Returns​

NameTypeDescription
_0uint256undefined

getBatchIdAtIndex​

function getBatchIdAtIndex(uint256 _index) external view returns (uint256)

Returns the ID for the batch of tokens the given tokenId belongs to.

See {getBaseURICount}.

Parameters​

NameTypeDescription
_indexuint256ID of a token.

Returns​

NameTypeDescription
_0uint256undefined

getDefaultRoyaltyInfo​

function getDefaultRoyaltyInfo() external view returns (address, uint16)

Returns the default royalty recipient and BPS for this contract's NFTs.

Returns​

NameTypeDescription
_0addressundefined
_1uint16undefined

getPlatformFeeInfo​

function getPlatformFeeInfo() external view returns (address, uint16)

Returns the platform fee recipient and bps.

Returns​

NameTypeDescription
_0addressundefined
_1uint16undefined

getRevealURI​

function getRevealURI(uint256 _batchId, bytes _key) external view returns (string revealedURI)

Returns revealed URI for a batch of NFTs.

Reveal encrypted base URI for _batchId with caller/admin's _key used for encryption. Reverts if there's no encrypted URI for _batchId. See {encryptDecrypt}.

Parameters​

NameTypeDescription
_batchIduint256ID of the batch for which URI is being revealed.
_keybytesSecure key used by caller/admin for encryption of baseURI.

Returns​

NameTypeDescription
revealedURIstringDecrypted base URI.

getRoleAdmin​

function getRoleAdmin(bytes32 role) external view returns (bytes32)

Returns the admin role that controls the specified role.

See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.

Parameters​

NameTypeDescription
rolebytes32keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")

Returns​

NameTypeDescription
_0bytes32undefined

getRoleMember​

function getRoleMember(bytes32 role, uint256 index) external view returns (address member)

Returns the role-member from a list of members for a role, at a given index.

Returns member who has role, at index of role-members list. See struct {RoleMembers}, and mapping {roleMembers}

Parameters​

NameTypeDescription
rolebytes32keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
indexuint256Index in list of current members for the role.

Returns​

NameTypeDescription
memberaddressAddress of account that has role

getRoleMemberCount​

function getRoleMemberCount(bytes32 role) external view returns (uint256 count)

Returns total number of accounts that have a role.

Returns count of accounts that have role. See struct {RoleMembers}, and mapping {roleMembers}

Parameters​

NameTypeDescription
rolebytes32keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")

Returns​

NameTypeDescription
countuint256Total number of accounts that have role

getRoyaltyInfoForToken​

function getRoyaltyInfoForToken(uint256 _tokenId) external view returns (address, uint16)

View royalty info for a given token.

Returns royalty recipient and bps for _tokenId.

Parameters​

NameTypeDescription
_tokenIduint256The tokenID of the NFT for which to query royalty info.

Returns​

NameTypeDescription
_0addressundefined
_1uint16undefined

getSupplyClaimedByWallet​

function getSupplyClaimedByWallet(address _claimer) external view returns (uint256)

Returns the supply claimed by claimer for active conditionId.

Parameters​

NameTypeDescription
_claimeraddressundefined

Returns​

NameTypeDescription
_0uint256undefined

grantRole​

function grantRole(bytes32 role, address account) external nonpayable

Grants a role to an account, if not previously granted.

Caller must have admin role for the role. Emits {RoleGranted Event}.

Parameters​

NameTypeDescription
rolebytes32keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
accountaddressAddress of the account to which the role is being granted.

hasRole​

function hasRole(bytes32 role, address account) external view returns (bool)

Checks whether an account has a particular role.

Returns true if account has been granted role.

Parameters​

NameTypeDescription
rolebytes32keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
accountaddressAddress of the account for which the role is being checked.

Returns​

NameTypeDescription
_0boolundefined

hasRoleWithSwitch​

function hasRoleWithSwitch(bytes32 role, address account) external view returns (bool)

Checks whether an account has a particular role; role restrictions can be switched on and off.

Returns true if account has been granted role. Role restrictions can be switched on and off: - If address(0) has ROLE, then the ROLE restrictions don't apply. - If address(0) does not have ROLE, then the ROLE restrictions will apply.

Parameters​

NameTypeDescription
rolebytes32keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
accountaddressAddress of the account for which the role is being checked.

Returns​

NameTypeDescription
_0boolundefined

initialize​

function initialize(address _defaultAdmin, string _name, string _symbol, string _contractURI, address[] _trustedForwarders, address _saleRecipient, address _royaltyRecipient, uint128 _royaltyBps, uint128 _platformFeeBps, address _platformFeeRecipient) external nonpayable

Initializes the contract, like a constructor.

Parameters​

NameTypeDescription
_defaultAdminaddressundefined
_namestringundefined
_symbolstringundefined
_contractURIstringundefined
_trustedForwardersaddress[]undefined
_saleRecipientaddressundefined
_royaltyRecipientaddressundefined
_royaltyBpsuint128undefined
_platformFeeBpsuint128undefined
_platformFeeRecipientaddressundefined

isApprovedForAll​

function isApprovedForAll(address owner, address operator) external view returns (bool)

See {IERC721-isApprovedForAll}.

Parameters​

NameTypeDescription
owneraddressundefined
operatoraddressundefined

Returns​

NameTypeDescription
_0boolundefined

isEncryptedBatch​

function isEncryptedBatch(uint256 _batchId) external view returns (bool)

Returns whether the relevant batch of NFTs is subject to a delayed reveal.

Returns true if _batchId's base URI is encrypted.

Parameters​

NameTypeDescription
_batchIduint256ID of a batch of NFTs.

Returns​

NameTypeDescription
_0boolundefined

isTrustedForwarder​

function isTrustedForwarder(address forwarder) external view returns (bool)

Parameters​

NameTypeDescription
forwarderaddressundefined

Returns​

NameTypeDescription
_0boolundefined

lazyMint​

function lazyMint(uint256 _amount, string _baseURIForTokens, bytes _data) external nonpayable returns (uint256 batchId)

Lets an account with MINTER_ROLE lazy mint 'n' NFTs. The URIs for each token is the provided _baseURIForTokens + {tokenId}.

Parameters​

NameTypeDescription
_amountuint256undefined
_baseURIForTokensstringundefined
_databytesundefined

Returns​

NameTypeDescription
batchIduint256undefined

mintWithSignature​

function mintWithSignature(ISignatureMintERC721.MintRequest _req, bytes _signature) external payable returns (address signer)

Parameters​

NameTypeDescription
_reqISignatureMintERC721.MintRequestundefined
_signaturebytesundefined

Returns​

NameTypeDescription
signeraddressundefined

multicall​

function multicall(bytes[] data) external nonpayable returns (bytes[] results)

Receives and executes a batch of function calls on this contract.

Parameters​

NameTypeDescription
databytes[]undefined

Returns​

NameTypeDescription
resultsbytes[]undefined

name​

function name() external view returns (string)

See {IERC721Metadata-name}.

Returns​

NameTypeDescription
_0stringundefined

nextTokenIdToMint​

function nextTokenIdToMint() external view returns (uint256)

The tokenId of the next NFT that will be minted / lazy minted.

Returns​

NameTypeDescription
_0uint256undefined

owner​

function owner() external view returns (address)

Returns the owner of the contract.

Returns​

NameTypeDescription
_0addressundefined

ownerOf​

function ownerOf(uint256 tokenId) external view returns (address)

See {IERC721-ownerOf}.

Parameters​

NameTypeDescription
tokenIduint256undefined

Returns​

NameTypeDescription
_0addressundefined

primarySaleRecipient​

function primarySaleRecipient() external view returns (address)

Returns primary sale recipient address.

Returns​

NameTypeDescription
_0addressundefined

renounceRole​

function renounceRole(bytes32 role, address account) external nonpayable

Revokes role from the account.

Caller must have the role, with caller being the same as account. Emits {RoleRevoked Event}.

Parameters​

NameTypeDescription
rolebytes32keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
accountaddressAddress of the account from which the role is being revoked.

reveal​

function reveal(uint256 _index, bytes _key) external nonpayable returns (string revealedURI)

Lets an account with MINTER_ROLE reveal the URI for a batch of 'delayed-reveal' NFTs.

Parameters​

NameTypeDescription
_indexuint256undefined
_keybytesundefined

Returns​

NameTypeDescription
revealedURIstringundefined

revokeRole​

function revokeRole(bytes32 role, address account) external nonpayable

Revokes role from an account.

Caller must have admin role for the role. Emits {RoleRevoked Event}.

Parameters​

NameTypeDescription
rolebytes32keccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")
accountaddressAddress of the account from which the role is being revoked.

royaltyInfo​

function royaltyInfo(uint256 tokenId, uint256 salePrice) external view returns (address receiver, uint256 royaltyAmount)

View royalty info for a given token and sale price.

Returns royalty amount and recipient for tokenId and salePrice.

Parameters​

NameTypeDescription
tokenIduint256The tokenID of the NFT for which to query royalty info.
salePriceuint256Sale price of the token.

Returns​

NameTypeDescription
receiveraddressAddress of royalty recipient account.
royaltyAmountuint256Royalty amount calculated at current royaltyBps value.

safeTransferFrom​

function safeTransferFrom(address from, address to, uint256 tokenId) external nonpayable

See {IERC721-safeTransferFrom}.

Parameters​

NameTypeDescription
fromaddressundefined
toaddressundefined
tokenIduint256undefined

safeTransferFrom​

function safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) external nonpayable

See {IERC721-safeTransferFrom}.

Parameters​

NameTypeDescription
fromaddressundefined
toaddressundefined
tokenIduint256undefined
_databytesundefined

setApprovalForAll​

function setApprovalForAll(address operator, bool approved) external nonpayable

See {IERC721-setApprovalForAll}.

Parameters​

NameTypeDescription
operatoraddressundefined
approvedboolundefined

setClaimConditions​

function setClaimConditions(IClaimCondition.ClaimCondition _condition, bool _resetClaimEligibility) external nonpayable

Parameters​

NameTypeDescription
_conditionIClaimCondition.ClaimConditionundefined
_resetClaimEligibilityboolundefined

setContractURI​

function setContractURI(string _uri) external nonpayable

Lets a contract admin set the URI for contract-level metadata.

Caller should be authorized to setup contractURI, e.g. contract admin. See {_canSetContractURI}. Emits {ContractURIUpdated Event}.

Parameters​

NameTypeDescription
_uristringkeccak256 hash of the role. e.g. keccak256("TRANSFER_ROLE")

setDefaultRoyaltyInfo​

function setDefaultRoyaltyInfo(address _royaltyRecipient, uint256 _royaltyBps) external nonpayable

Updates default royalty recipient and bps.

Caller should be authorized to set royalty info. See {_canSetRoyaltyInfo}. Emits {DefaultRoyalty Event}; See {_setupDefaultRoyaltyInfo}.

Parameters​

NameTypeDescription
_royaltyRecipientaddressAddress to be set as default royalty recipient.
_royaltyBpsuint256Updated royalty bps.

setOwner​

function setOwner(address _newOwner) external nonpayable

Lets an authorized wallet set a new owner for the contract.

Parameters​

NameTypeDescription
_newOwneraddressThe address to set as the new owner of the contract.

setPlatformFeeInfo​

function setPlatformFeeInfo(address _platformFeeRecipient, uint256 _platformFeeBps) external nonpayable

Updates the platform fee recipient and bps.

Caller should be authorized to set platform fee info. See {_canSetPlatformFeeInfo}. Emits {PlatformFeeInfoUpdated Event}; See {_setupPlatformFeeInfo}.

Parameters​

NameTypeDescription
_platformFeeRecipientaddressAddress to be set as new platformFeeRecipient.
_platformFeeBpsuint256Updated platformFeeBps.

setPrimarySaleRecipient​

function setPrimarySaleRecipient(address _saleRecipient) external nonpayable

Updates primary sale recipient.

Caller should be authorized to set primary sales info. See {_canSetPrimarySaleRecipient}. Emits {PrimarySaleRecipientUpdated Event}; See {_setupPrimarySaleRecipient}.

Parameters​

NameTypeDescription
_saleRecipientaddressAddress to be set as new recipient of primary sales.

setRoyaltyInfoForToken​

function setRoyaltyInfoForToken(uint256 _tokenId, address _recipient, uint256 _bps) external nonpayable

Updates default royalty recipient and bps for a particular token.

Sets royalty info for _tokenId. Caller should be authorized to set royalty info. See {_canSetRoyaltyInfo}. Emits {RoyaltyForToken Event}; See {_setupRoyaltyInfoForToken}.

Parameters​

NameTypeDescription
_tokenIduint256undefined
_recipientaddressAddress to be set as royalty recipient for given token Id.
_bpsuint256Updated royalty bps for the token Id.

supportsInterface​

function supportsInterface(bytes4 interfaceId) external view returns (bool)

See ERC 165

Parameters​

NameTypeDescription
interfaceIdbytes4undefined

Returns​

NameTypeDescription
_0boolundefined

symbol​

function symbol() external view returns (string)

See {IERC721Metadata-symbol}.

Returns​

NameTypeDescription
_0stringundefined

tokenURI​

function tokenURI(uint256 _tokenId) external view returns (string)

Returns the URI for a given tokenId.

Parameters​

NameTypeDescription
_tokenIduint256undefined

Returns​

NameTypeDescription
_0stringundefined

totalMinted​

function totalMinted() external view returns (uint256)

Returns the total amount of tokens minted in the contract.

Returns​

NameTypeDescription
_0uint256undefined

totalSupply​

function totalSupply() external view returns (uint256)

Burned tokens are calculated here, use _totalMinted() if you want to count just minted tokens.

Returns​

NameTypeDescription
_0uint256undefined

transferFrom​

function transferFrom(address from, address to, uint256 tokenId) external nonpayable

See {IERC721-transferFrom}.

Parameters​

NameTypeDescription
fromaddressundefined
toaddressundefined
tokenIduint256undefined

verify​

function verify(ISignatureMintERC721.MintRequest _req, bytes _signature) external view returns (bool success, address signer)

Parameters​

NameTypeDescription
_reqISignatureMintERC721.MintRequestundefined
_signaturebytesundefined

Returns​

NameTypeDescription
successboolundefined
signeraddressundefined

verifyClaim​

function verifyClaim(address _claimer, uint256 _quantity, address _currency, uint256 _pricePerToken, IDropSinglePhase.AllowlistProof _allowlistProof) external view returns (bool isOverride)

Parameters​

NameTypeDescription
_claimeraddressundefined
_quantityuint256undefined
_currencyaddressundefined
_pricePerTokenuint256undefined
_allowlistProofIDropSinglePhase.AllowlistProofundefined

Returns​

NameTypeDescription
isOverrideboolundefined

Events​

Approval​

event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)

Parameters​

NameTypeDescription
owner indexedaddressundefined
approved indexedaddressundefined
tokenId indexeduint256undefined

ApprovalForAll​

event ApprovalForAll(address indexed owner, address indexed operator, bool approved)

Parameters​

NameTypeDescription
owner indexedaddressundefined
operator indexedaddressundefined
approvedboolundefined

ClaimConditionUpdated​

event ClaimConditionUpdated(IClaimCondition.ClaimCondition condition, bool resetEligibility)

Emitted when the contract's claim conditions are updated.

Parameters​

NameTypeDescription
conditionIClaimCondition.ClaimConditionundefined
resetEligibilityboolundefined

ContractURIUpdated​

event ContractURIUpdated(string prevURI, string newURI)

Parameters​

NameTypeDescription
prevURIstringundefined
newURIstringundefined

DefaultRoyalty​

event DefaultRoyalty(address indexed newRoyaltyRecipient, uint256 newRoyaltyBps)

Parameters​

NameTypeDescription
newRoyaltyRecipient indexedaddressundefined
newRoyaltyBpsuint256undefined

Initialized​

event Initialized(uint8 version)

Parameters​

NameTypeDescription
versionuint8undefined

OwnerUpdated​

event OwnerUpdated(address indexed prevOwner, address indexed newOwner)

Parameters​

NameTypeDescription
prevOwner indexedaddressundefined
newOwner indexedaddressundefined

PlatformFeeInfoUpdated​

event PlatformFeeInfoUpdated(address indexed platformFeeRecipient, uint256 platformFeeBps)

Parameters​

NameTypeDescription
platformFeeRecipient indexedaddressundefined
platformFeeBpsuint256undefined

PrimarySaleRecipientUpdated​

event PrimarySaleRecipientUpdated(address indexed recipient)

Parameters​

NameTypeDescription
recipient indexedaddressundefined

RoleAdminChanged​

event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)

Parameters​

NameTypeDescription
role indexedbytes32undefined
previousAdminRole indexedbytes32undefined
newAdminRole indexedbytes32undefined

RoleGranted​

event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)

Parameters​

NameTypeDescription
role indexedbytes32undefined
account indexedaddressundefined
sender indexedaddressundefined

RoleRevoked​

event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)

Parameters​

NameTypeDescription
role indexedbytes32undefined
account indexedaddressundefined
sender indexedaddressundefined

RoyaltyForToken​

event RoyaltyForToken(uint256 indexed tokenId, address indexed royaltyRecipient, uint256 royaltyBps)

Parameters​

NameTypeDescription
tokenId indexeduint256undefined
royaltyRecipient indexedaddressundefined
royaltyBpsuint256undefined

TokenURIRevealed​

event TokenURIRevealed(uint256 indexed index, string revealedURI)

Parameters​

NameTypeDescription
index indexeduint256undefined
revealedURIstringundefined

TokensClaimed​

event TokensClaimed(address indexed claimer, address indexed receiver, uint256 indexed startTokenId, uint256 quantityClaimed)

Emitted when tokens are claimed via claim.

Parameters​

NameTypeDescription
claimer indexedaddressundefined
receiver indexedaddressundefined
startTokenId indexeduint256undefined
quantityClaimeduint256undefined

TokensLazyMinted​

event TokensLazyMinted(uint256 indexed startTokenId, uint256 endTokenId, string baseURI, bytes encryptedBaseURI)

Parameters​

NameTypeDescription
startTokenId indexeduint256undefined
endTokenIduint256undefined
baseURIstringundefined
encryptedBaseURIbytesundefined

TokensMintedWithSignature​

event TokensMintedWithSignature(address indexed signer, address indexed mintedTo, uint256 indexed tokenIdMinted, ISignatureMintERC721.MintRequest mintRequest)

Parameters​

NameTypeDescription
signer indexedaddressundefined
mintedTo indexedaddressundefined
tokenIdMinted indexeduint256undefined
mintRequestISignatureMintERC721.MintRequestundefined

Transfer​

event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)

Parameters​

NameTypeDescription
from indexedaddressundefined
to indexedaddressundefined
tokenId indexeduint256undefined

Errors​

ApprovalCallerNotOwnerNorApproved​

error ApprovalCallerNotOwnerNorApproved()

The caller must own the token or be an approved operator.

ApprovalQueryForNonexistentToken​

error ApprovalQueryForNonexistentToken()

The token does not exist.

ApprovalToCurrentOwner​

error ApprovalToCurrentOwner()

The caller cannot approve to the current owner.

ApproveToCaller​

error ApproveToCaller()

The caller cannot approve to their own address.

BalanceQueryForZeroAddress​

error BalanceQueryForZeroAddress()

Cannot query the balance for the zero address.

MintToZeroAddress​

error MintToZeroAddress()

Cannot mint to the zero address.

MintZeroQuantity​

error MintZeroQuantity()

The quantity of tokens minted must be more than zero.

OwnerQueryForNonexistentToken​

error OwnerQueryForNonexistentToken()

The token does not exist.

TransferCallerNotOwnerNorApproved​

error TransferCallerNotOwnerNorApproved()

The caller must own the token or be an approved operator.

TransferFromIncorrectOwner​

error TransferFromIncorrectOwner()

The token must be owned by from.

TransferToNonERC721ReceiverImplementer​

error TransferToNonERC721ReceiverImplementer()

Cannot safely transfer to a contract that does not implement the ERC721Receiver interface.

TransferToZeroAddress​

error TransferToZeroAddress()

Cannot transfer to the zero address.

URIQueryForNonexistentToken​

error URIQueryForNonexistentToken()

The token does not exist.