_beforeTokenTransfer(address,address,uint256) :
This function is an internal virtual override of the _beforeTokenTransfer function from the ERC721 contract. It is used to check if the token transfer is paused before allowing the transfer to take place. The function requires that the _tokenTransferPaused variable is set to false, otherwise it will throw an error. If the variable is set to false, the transfer will be allowed to take place. (autogenerated documentation)
setTokenTransferPaused(bool) :
This function allows the owner of the contract to pause or unpause the transfer of tokens. When the token transfer is paused, no tokens can be transferred from one address to another. This function sets the boolean variable _tokenTransferPaused to the value of the parameter tokenTransferPaused_, which is passed in when the function is called. If the value is true, then the token transfer is paused. If the value is false, then the token transfer is unpaused. Finally, the function emits an event, EventSetTokenTransferPaused, which logs the new value of _tokenTransferPaused. (autogenerated documentation)
_baseURI() :
This function is an internal view function that returns a string memory containing the base token URI. It is used to get the base token URI of the contract, which is a unique identifier for the token. This function is virtual and can be overridden by derived contracts. (autogenerated documentation)
setBaseURI(string) :
This function allows the owner of the contract to set the base URI for the token. The base URI is a string that is used to provide a link to more information about the token. This function takes in a string memory baseURI as an argument and sets the _baseTokenURI variable to the value of the argument. Finally, it emits an EventSetBaseURI event with the baseURI as an argument. (autogenerated documentation)
tokenExists(uint256) :
This function checks if a given tokenId_ exists in the contract. It does this by calling the _exists() function, which checks if the tokenId_ is present in the mapping of tokenIds to owners. If the tokenId_ is present, the function returns true, otherwise it returns false. (autogenerated documentation)
getTokenIdsOfUserAddress(address) :
This function is used to retrieve the token IDs of a given user address. It does this by first retrieving the token count of the user address using the balanceOf() function. It then creates an array of uint256 with the size of the token count. It then iterates through the array and uses the tokenOfOwnerByIndex() function to assign the token IDs to the array. Finally, it returns the array of token IDs. (autogenerated documentation)
burnCard(uint256) :
This function allows the owner of a token to burn it, meaning that it is permanently removed from the blockchain. The function requires that the caller is the owner of the token, and then calls the _burn() function to remove the token from the blockchain. The _burnCount is then incremented to keep track of the number of tokens that have been burned. Finally, an EventBurnCard event is emitted to notify other users that the token has been burned. (autogenerated documentation)
adminBurnCard(uint256) :
This function allows an owner of the contract to burn a specific token. The function takes in a uint256 tokenId_ as an argument, which is used to identify the token to be burned. The function first calls the _burn() function, which removes the token from the contract's list of tokens and sets its owner to 0x0. The _burnCount variable is then incremented by 1, and an EventAdminBurnCard event is emitted, which contains the address of the sender and the tokenId of the token that was burned. (autogenerated documentation)
mintCard(address) :
This function mints a new card on the blockchain. It is an external function that can only be called when the contract is not paused and the caller is authorized. It increments the tokenId by 1 and then calls the _safeMint function to mint the card with the new tokenId and an empty string. Finally, it emits an EventMintCard event with the tokenId, owner address, and the block timestamp. (autogenerated documentation)
mintCardMany(address,uint256) :
This function mints multiple cards for a given address (owner_). It takes two parameters, the address of the owner and the amount of cards to be minted (cardAmount_). The function first creates an array of uint256 type to store the tokenIds of the cards that will be minted. It then uses a for loop to iterate through the cardAmount_ and mints a card for the owner_ for each iteration. The tokenId of the card is stored in the tokenIds array. Finally, the function emits an EventMintCardMany event and returns the tokenIds array. (autogenerated documentation)
airdrop() :
This function is used to perform an airdrop of tokens to a list of addresses. It takes an array of addresses (receiverList_) as an argument and loops through the array, incrementing the tokenId for each address. For each address, the _safeMint function is called, which mints a token with the corresponding tokenId and an empty string as the tokenURI. Finally, an EventAirdrop is emitted, which includes the length of the receiverList_ array as an argument. (autogenerated documentation)
adminTransferToken(uint256,address) :
This function allows the owner of the contract to transfer a token with a given ID to a specified address. It first checks to make sure that the token exists, then it transfers the token from the current owner to the specified address. Finally, it emits an event to signal that the transfer has been completed. (autogenerated documentation)
transfer(uint256,address) :
This function allows the owner of a token to transfer it to another address. It requires that the sender of the transaction is the owner of the token, and then calls the _safeTransfer function to transfer the token to the specified address. The _safeTransfer function ensures that the transfer is secure and that the token is transferred correctly. (autogenerated documentation)