constructor | Initializes the contract with parameters for name, symbol, metadata URI, owner, extensions, and extension data. | 
name | Returns the name of the token. | 
symbol | Returns the symbol of the token. | 
contractURI | Returns the contract metadata URI. | 
getSupportedCallbackFunctions | Returns the supported callback functions. | 
supportsInterface | Checks if the contract implements an interface with the given interface ID. | 
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 amount of tokens, calling the beforeBurn hook if it exists. | 
transfer | Transfers tokens to a specified address, calling the beforeTransfer hook if it exists. | 
transferFrom | Transfers tokens from one address to another, calling the beforeTransfer hook if it exists. | 
approve | Approves a spender to spend tokens on behalf of an owner, calling the beforeApprove hook if it exists. | 
permit | Sets allowance based on token owner's signed approval, calling the beforeApprove hook if it exists. |