IMintingTagManager
Reference for managing and interacting with FAssets IMintingTagManager.
To get the minting tag manager address, use the getMintingTagManager function of the IAssetManager contract.
Functions
reserve
Reserve a new minting tag NFT by paying the reservation fee. The caller becomes the owner of this NFT (tag ID) and the initial minting recipient.
function reserve() external payable returns (uint256);
Returns
- The newly reserved minting tag ID.
setMintingRecipient
Set the minting recipient for a tag. Only callable by the tag owner. The minting recipient is the address that receives minted FAssets when this tag is used.
function setMintingRecipient(uint256 _mintingTag, address _recipient) external;
Parameters
_mintingTag: The minting tag ID._recipient: The new minting recipient address (must not be the zero address).
reservationFee
Return the fee (in native currency) required to reserve a new minting tag.
function reservationFee() external view returns (uint256);
reservedTagsForOwner
Return all minting tag IDs owned by the given address.
function reservedTagsForOwner(address _owner) external view returns (uint256[] memory);
Parameters
_owner: The address to query.
Returns
- An array of minting tag IDs owned by
_owner.
transfer
Transfer a minting tag to a new owner. Also updates the minting recipient to the new owner and resets the allowed executor.
/**
* Transfer a minting tag to a new owner. Also updates the minting recipient
* to the new owner and resets the allowed executor.
* @param _to The address to transfer the tag to.
* @param _mintingTag The minting tag id to transfer.
*/
function transfer(address _to, uint256 _mintingTag) external;
Parameters
_to: The address to transfer the tag to._mintingTag: The minting tag ID to transfer.
mintingRecipient
Return the minting recipient for a given tag.
/**
* Return the minting recipient for a given tag.
* @param _mintingTag The minting tag id.
* @return The address that receives minted f-assets when this tag is used.
*/
function mintingRecipient(uint256 _mintingTag) external view returns (address);
Parameters
_mintingTag: The minting tag ID.
Returns
- The address that receives minted FAssets when this tag is used.
allowedExecutor
Return the currently active allowed executor for a given tag. If no executor is set or the pending change has not been activated yet, this returns the previous executor.
function allowedExecutor(uint256 _mintingTag) external view returns (address);
Parameters
_mintingTag: The minting tag ID.
Returns
- The address of the allowed executor, or
address(0)if none is set.
setAllowedExecutor
Set the allowed executor for a tag. Only callable by the tag owner. The allowed executor is the only address that can execute direct mintings with this tag. Setting an allowed executor is optional; if not set, anyone can execute mintings with the tag. Changes to the allowed executor are subject to a cooldown delay before they become active.
function setAllowedExecutor(uint256 _mintingTag, address _executor) external;
Parameters
_mintingTag: The minting tag ID._executor: The new allowed executor address (must not be the zero address).