Skip to main content

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).