constructor | Initializes the contract with parameters for name, symbol, metadata URI, owner, modules, and their data. | 
contractURI | Returns the contract metadata URI. | 
startTokenId | Returns the starting token ID for sequential mints. | 
totalMinted | Returns the total number of tokens minted ever. | 
tokenURI | Returns the token metadata of an NFT. | 
supportsInterface | Checks if the contract implements an interface with the given interface ID. | 
getSupportedCallbackFunctions | Returns the supported callback functions. | 
setContractURI | Sets the contract metadata URI. Callable only by the contract admin. | 
mint | Mints tokens to a specified address, calling the beforeMint hook. | 
burn | Burns a specified token, calling the beforeBurn hook if it exists. | 
transferFrom | Transfers ownership of an NFT, calling the beforeTransfer hook if it exists. | 
approve | Approves an address to transfer a specific NFT, calling the beforeApprove hook if it exists. | 
setApprovalForAll | Approves or revokes approval from an operator to transfer or approve for all of the caller's NFTs. |