contractURI() :
This function returns a string containing an IPFS URI. It does this by encoding the string "ipfs:" using the ABI encoding function. This allows the URI to be stored and retrieved from a smart contract. (autogenerated documentation)
setContractURIHash(string) :
This function allows the owner of the contract to set the contractURIHash, which is a unique identifier for the contract. It takes a string as an argument and sets the _contractURIHash variable to the newContractURIHash. (autogenerated documentation)
isApprovedForAll(address,address) :
This function checks if the owner has given approval to the operator to manage all of their tokens. It does this by first checking if the owner has registered the operator as their proxy in the proxyRegistry. If they have, the function returns true. If not, it calls the super.isApprovedForAll() function to check if the owner has given approval to the operator. (autogenerated documentation)
mint() :
This function mints a new Noun token to the minter. It first checks if the current Noun ID is less than or equal to 1820 and if it is divisible by 10. If both of these conditions are met, it will mint the token to the noundersDAO address. Otherwise, it will mint the token to the minter address. The current Noun ID is then incremented and the new Noun token is returned. (autogenerated documentation)
burn(uint256) :
This function burns a specific NFT (non-fungible token) identified by its unique ID (nounId). It removes the token from circulation and reduces the total supply of the token. The function is only accessible to the minter, and emits an event to notify other users that the token has been burned. (autogenerated documentation)
tokenURI(uint256) :
This function is used to query the URI of a specific token. It takes in a tokenId as an argument and returns a string memory containing the token's URI. The function first checks if the tokenId exists, and if it does, it calls the descriptor.tokenURI() function, passing in the tokenId and the corresponding seed value from the seeds array. This function returns the token's URI. (autogenerated documentation)
dataURI(uint256) :
This function is used to retrieve the data URI associated with a given token ID. It requires that the token ID exists, and then uses the descriptor's dataURI() function to return the data URI associated with the token ID and its associated seed. (autogenerated documentation)
setNoundersDAO(address) :
This function sets the address of the NoundersDAO contract. It can only be called by the NoundersDAO contract, and emits an event when the address is updated. (autogenerated documentation)
setMinter(address) :
This function allows the owner of the contract to set the minter address. It takes an address as an argument and sets the minter address to the given address. It also emits an event to notify that the minter address has been updated. This function can only be called when the minter is not locked. (autogenerated documentation)
lockMinter() :
This function locks the minter, preventing any further minting of tokens. It can only be called by the owner of the contract, and only when the minter is not already locked. When the function is called, the boolean variable isMinterLocked is set to true, and an event is emitted to indicate that the minter has been locked. (autogenerated documentation)
setDescriptor() :
This function sets the descriptor of the contract to the given descriptor. It can only be called by the owner of the contract and only when the descriptor is not locked. Once the descriptor is set, an event is emitted to notify the other users of the contract. (autogenerated documentation)
lockDescriptor() :
This function is an external function that can only be called by the owner of the contract. It sets the boolean variable isDescriptorLocked to true, and emits an event called DescriptorLocked. This function is used to lock the descriptor of the contract, preventing it from being changed. (autogenerated documentation)
setSeeder() :
This function allows the owner of the contract to set a new INounsSeeder, which is a type of seeder used to generate random numbers. The function is only accessible to the owner of the contract and can only be called when the seeder is not locked. When the seeder is updated, an event is emitted to notify other users of the change. (autogenerated documentation)
lockSeeder() :
This function is used to lock the Seeder contract. It can only be called by the owner of the contract and can only be called when the Seeder is not already locked. When the function is called, the boolean variable isSeederLocked is set to true and an event is emitted to indicate that the Seeder has been locked. (autogenerated documentation)
_mintTo(address,uint256) :
This function is used to mint a new Noun token to a specified address. It takes the address of the recipient and the ID of the Noun token as parameters. It first generates a seed for the Noun token using the INounsSeeder contract, and then calls the _mint function to mint the token to the specified address. Finally, it emits an event to notify that the Noun token has been created. (autogenerated documentation)