You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/fassets/reference/IMintingTagManager.mdx
+47-19Lines changed: 47 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,8 +7,14 @@ sidebar_position: 5
7
7
8
8
Reference for managing and interacting with FAssets `IMintingTagManager`.
9
9
10
+
Each minting tag is an [ERC721 token](https://ethereum.org/developers/docs/standards/tokens/erc-721/) that authorizes its owner to perform direct mintings.
11
+
Tags are reserved by paying [a fee](/fassets/reference/IMintingTagManager#reservationfee) in native currency.
12
+
Each tag has a configurable minting recipient (the address that receives minted FAssets) and an optional allowed executor (the only address permitted to execute direct mintings with that tag).
13
+
10
14
To get the minting tag manager address, use the [getMintingTagManager](/fassets/reference/IAssetManager#getmintingtagmanager) function of the [IAssetManager](/fassets/reference/IAssetManager) contract.
11
15
16
+
Sourced from `IMintingTagManager.sol` on [GitHub](https://github.com/flare-foundation/fassets/blob/main/contracts/userInterfaces/IMintingTagManager.sol).
17
+
12
18
## Functions
13
19
14
20
### `reserve`
@@ -39,6 +45,31 @@ function setMintingRecipient(uint256 _mintingTag, address _recipient) external;
39
45
-`_mintingTag`: The minting tag ID.
40
46
-`_recipient`: The new minting recipient address (must not be the zero address).
41
47
48
+
### `setAllowedExecutor`
49
+
50
+
Set the allowed executor for a tag.
51
+
Only callable by the tag owner.
52
+
The allowed executor is the only address that can execute direct mintings with this tag.
53
+
Setting an allowed executor is optional; if not set, anyone can execute mintings with the tag.
54
+
Changes to the allowed executor are subject to a cooldown delay before they become active.
55
+
56
+
```solidity
57
+
function setAllowedExecutor(uint256 _mintingTag, address _executor) external;
58
+
```
59
+
60
+
#### Parameters
61
+
62
+
-`_mintingTag`: The minting tag ID.
63
+
-`_executor`: The new allowed executor address (must not be the zero address).
64
+
65
+
### `nextAvailableTag`
66
+
67
+
Return the next minting tag ID that will be assigned on the next reservation.
68
+
69
+
```solidity
70
+
function nextAvailableTag() external view returns (uint256);
71
+
```
72
+
42
73
### `reservationFee`
43
74
44
75
Return the fee (in native currency) required to reserve a new minting tag.
@@ -69,12 +100,6 @@ Transfer a minting tag to a new owner.
69
100
Also updates the minting recipient to the new owner and resets the allowed executor.
70
101
71
102
```solidity
72
-
/**
73
-
* Transfer a minting tag to a new owner. Also updates the minting recipient
74
-
* to the new owner and resets the allowed executor.
75
-
* @param _to The address to transfer the tag to.
76
-
* @param _mintingTag The minting tag id to transfer.
77
-
*/
78
103
function transfer(address _to, uint256 _mintingTag) external;
79
104
```
80
105
@@ -88,11 +113,6 @@ function transfer(address _to, uint256 _mintingTag) external;
88
113
Return the minting recipient for a given tag.
89
114
90
115
```solidity
91
-
/**
92
-
* Return the minting recipient for a given tag.
93
-
* @param _mintingTag The minting tag id.
94
-
* @return The address that receives minted FAsset when this tag is used.
95
-
*/
96
116
function mintingRecipient(uint256 _mintingTag) external view returns (address);
- The address of the allowed executor, or `address(0)` if none is set.
123
143
124
-
### `setAllowedExecutor`
144
+
### `pendingAllowedExecutorChange`
125
145
126
-
Set the allowed executor for a tag.
127
-
Only callable by the tag owner.
128
-
The allowed executor is the only address that can execute direct mintings with this tag.
129
-
Setting an allowed executor is optional; if not set, anyone can execute mintings with the tag.
130
-
Changes to the allowed executor are subject to a cooldown delay before they become active.
146
+
Return information about a pending allowed executor change for a given tag.
147
+
148
+
Executor changes are subject to a cooldown delay before they become active.
149
+
During the cooldown, `allowedExecutor` continues to return the previous executor.
150
+
Use this function to learn when a pending change takes effect so the current executor can avoid starting FDC-backed minting flows they will no longer be allowed to complete.
131
151
132
152
```solidity
133
-
function setAllowedExecutor(uint256 _mintingTag, address _executor) external;
153
+
function pendingAllowedExecutorChange(uint256 _mintingTag)
0 commit comments