Skip to content

Commit c3ef6ad

Browse files
feat(docs): direct minting parameters and settings (#1340)
Co-authored-by: Nik Erzetič | AFLabs | Flare <Nik.Erzetic@flare.network>
1 parent d3d31c0 commit c3ef6ad

4 files changed

Lines changed: 261 additions & 11 deletions

File tree

docs/fassets/10-reference.mdx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,12 @@ Smart contract interfaces for interacting with the FAssets system.
6262
href: "/fassets/reference/ICoreVaultManager",
6363
docId: "fassets/reference/ICoreVaultManager",
6464
},
65+
{
66+
type: "link",
67+
label: "IMintingTagManager",
68+
href: "/fassets/reference/IMintingTagManager",
69+
docId: "fassets/reference/IMintingTagManager",
70+
},
6571
{
6672
type: "link",
6773
label: "IAgentOwnerRegistry",

docs/fassets/reference/IAssetManager.mdx

Lines changed: 128 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,132 @@ function fAsset()
9898
returns (IERC20);
9999
```
100100

101+
## Direct Minting Settings
102+
103+
### `directMintingPaymentAddress`
104+
105+
Gets the XRPL address of the core vault.
106+
This is the payment address to which the underlying assets must be sent for direct minting.
107+
108+
```solidity
109+
function directMintingPaymentAddress()
110+
external view
111+
returns (string memory);
112+
```
113+
114+
### `getDirectMintingMinimumFeeUBA`
115+
116+
Returns the minimum direct minting fee in UBA.
117+
118+
```solidity
119+
function getDirectMintingMinimumFeeUBA()
120+
external view
121+
returns (uint256);
122+
```
123+
124+
### `getDirectMintingFeeBIPS`
125+
126+
Returns the direct minting fee in BIPS.
127+
128+
```solidity
129+
function getDirectMintingFeeBIPS()
130+
external view
131+
returns (uint256);
132+
```
133+
134+
### `getDirectMintingExecutorFeeUBA`
135+
136+
Returns the direct minting executor fee in UBA.
137+
138+
```solidity
139+
function getDirectMintingExecutorFeeUBA()
140+
external view
141+
returns (uint256);
142+
```
143+
144+
### `getDirectMintingOthersCanExecuteAfterSeconds`
145+
146+
Returns the time in seconds after which anyone can execute a direct minting request.
147+
148+
```solidity
149+
function getDirectMintingOthersCanExecuteAfterSeconds()
150+
external view
151+
returns (uint256);
152+
```
153+
154+
### `getDirectMintingHourlyLimitUBA`
155+
156+
Returns the hourly direct minting limit in UBA.
157+
158+
```solidity
159+
function getDirectMintingHourlyLimitUBA()
160+
external view
161+
returns (uint256);
162+
```
163+
164+
### `getDirectMintingDailyLimitUBA`
165+
166+
Returns the daily direct minting limit in UBA.
167+
168+
```solidity
169+
function getDirectMintingDailyLimitUBA()
170+
external view
171+
returns (uint256);
172+
```
173+
174+
### `getDirectMintingLargeMintingThresholdUBA`
175+
176+
Returns the threshold above which direct minting is considered large, in UBA.
177+
178+
```solidity
179+
function getDirectMintingLargeMintingThresholdUBA()
180+
external view
181+
returns (uint256);
182+
```
183+
184+
### `getDirectMintingLargeMintingDelaySeconds`
185+
186+
Returns the delay in seconds applied to large direct mintings.
187+
188+
```solidity
189+
function getDirectMintingLargeMintingDelaySeconds()
190+
external view
191+
returns (uint256);
192+
```
193+
194+
### `getDirectMintingFeeReceiver`
195+
196+
Returns the address that receives direct minting fees.
197+
198+
```solidity
199+
function getDirectMintingFeeReceiver()
200+
external view
201+
returns (address);
202+
```
203+
204+
## Redeem With Tag Settings
205+
206+
### `minimumRedeemAmountUBA`
207+
208+
Returns the minimum redeem amount in UBA for redeem with tag.
209+
210+
```solidity
211+
function minimumRedeemAmountUBA()
212+
external view
213+
returns (uint256);
214+
```
215+
216+
### `getMintingTagManager`
217+
218+
Returns the minting tag manager contract address.
219+
To interact with it, use the [IMintingTagManager](/fassets/reference/IMintingTagManager) reference.
220+
221+
```solidity
222+
function getMintingTagManager()
223+
external view
224+
returns (address);
225+
```
226+
101227
## Agents
102228

103229
## `getAllAgents`
@@ -305,7 +431,8 @@ Sourced from `ICoreVaultSettings.sol` on [GitHub](https://github.com/flare-found
305431

306432
### `getCoreVaultManager`
307433

308-
Returns the core vault manager address. To interact with the Core Vault manager reference the [Core Vault Manager](/fassets/reference/ICoreVaultManager) contract.
434+
Returns the core vault manager address.
435+
To interact with the Core Vault manager reference the [Core Vault Manager](/fassets/reference/ICoreVaultManager) contract.
309436

310437
```solidity
311438
function getCoreVaultManager()
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
---
2+
title: IMintingTagManager
3+
description: FAssets IMintingTagManager interface reference.
4+
keywords: [fassets, minting-tags, xrp, bitcoin, dogecoin, flare-network]
5+
sidebar_position: 5
6+
---
7+
8+
Reference for managing and interacting with FAssets `IMintingTagManager`.
9+
10+
To get the minting tag manager address, use the [getMintingTagManager](/fassets/reference/IAssetManager#getmintingtagmanager) function of the [IAssetManager](/fassets/reference/IAssetManager) contract.
11+
12+
## Functions
13+
14+
### `reserve`
15+
16+
Reserve a new minting tag NFT by paying the reservation fee.
17+
The caller becomes the owner of this NFT (tag ID) and the initial minting recipient.
18+
19+
```solidity
20+
function reserve() external payable returns (uint256);
21+
```
22+
23+
#### Returns
24+
25+
- The newly reserved minting tag ID.
26+
27+
### `setMintingRecipient`
28+
29+
Set the minting recipient for a tag.
30+
Only callable by the tag owner.
31+
The minting recipient is the address that receives minted FAssets when this tag is used.
32+
33+
```solidity
34+
function setMintingRecipient(uint256 _mintingTag, address _recipient) external;
35+
```
36+
37+
#### Parameters
38+
39+
- `_mintingTag`: The minting tag ID.
40+
- `_recipient`: The new minting recipient address (must not be the zero address).
41+
42+
### `reservationFee`
43+
44+
Return the fee (in native currency) required to reserve a new minting tag.
45+
46+
```solidity
47+
function reservationFee() external view returns (uint256);
48+
```
49+
50+
### `reservedTagsForOwner`
51+
52+
Return all minting tag IDs owned by the given address.
53+
54+
```solidity
55+
function reservedTagsForOwner(address _owner) external view returns (uint256[] memory);
56+
```
57+
58+
#### Parameters
59+
60+
- `_owner`: The address to query.
61+
62+
#### Returns
63+
64+
- An array of minting tag IDs owned by `_owner`.
65+
66+
### `mintingRecipient`
67+
68+
Return the minting recipient for a given tag.
69+
70+
```solidity
71+
function mintingRecipient(uint256 _mintingTag) external view returns (address);
72+
```
73+
74+
#### Parameters
75+
76+
- `_mintingTag`: The minting tag ID.
77+
78+
#### Returns
79+
80+
- The address that receives minted FAssets when this tag is used.
81+
82+
### `allowedExecutor`
83+
84+
Return the currently active allowed executor for a given tag.
85+
If no executor is set or the pending change has not been activated yet, this returns the previous executor.
86+
87+
```solidity
88+
function allowedExecutor(uint256 _mintingTag) external view returns (address);
89+
```
90+
91+
#### Parameters
92+
93+
- `_mintingTag`: The minting tag ID.
94+
95+
#### Returns
96+
97+
- The address of the allowed executor, or `address(0)` if none is set.

src/features/FAssets/OperationalParameters/operational-parameters.ts

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1253,7 +1253,9 @@ export const operationalParameters = [
12531253
parameters: [
12541254
{
12551255
name: "Direct Minting Minimum Fee",
1256-
settingName: "directMintingMinimumFee",
1256+
functionName: "getDirectMintingMinimumFeeUBA",
1257+
interfaceLink:
1258+
"/fassets/reference/IAssetManager#getdirectmintingminimumfeeuba",
12571259
description:
12581260
"Minimum fee charged for direct minting, in base unit of the underlying asset (UBA).",
12591261
values: {
@@ -1273,7 +1275,9 @@ export const operationalParameters = [
12731275
},
12741276
{
12751277
name: "Direct Minting Fee",
1276-
settingName: "directMintingFeeBIPS",
1278+
functionName: "getDirectMintingFeeBIPS",
1279+
interfaceLink:
1280+
"/fassets/reference/IAssetManager#getdirectmintingfeebips",
12771281
description:
12781282
"Direct minting fee as a percentage of the minting amount, in BIPS.",
12791283
values: {
@@ -1293,7 +1297,9 @@ export const operationalParameters = [
12931297
},
12941298
{
12951299
name: "Direct Minting Executor Fee",
1296-
settingName: "directMintingExecutorFeeUBA",
1300+
functionName: "getDirectMintingExecutorFeeUBA",
1301+
interfaceLink:
1302+
"/fassets/reference/IAssetManager#getdirectmintingexecutorfeeuba",
12971303
description:
12981304
"Fee paid to the executor of a direct minting request, in base unit of the underlying asset (UBA). This only applies to direct mintings to address, for direct minting to smart account the executor fee is calculated and paid by the smart account manager.",
12991305
values: {
@@ -1313,7 +1319,9 @@ export const operationalParameters = [
13131319
},
13141320
{
13151321
name: "Direct Minting Others Can Execute After",
1316-
settingName: "directMintingOthersCanExecuteAfterSeconds",
1322+
functionName: "getDirectMintingOthersCanExecuteAfterSeconds",
1323+
interfaceLink:
1324+
"/fassets/reference/IAssetManager#getdirectmintingotherscanexecuteafterseconds",
13171325
description:
13181326
"Time in seconds after which anyone can execute a direct minting request (not just the executor set by the minter).",
13191327
values: {
@@ -1333,7 +1341,9 @@ export const operationalParameters = [
13331341
},
13341342
{
13351343
name: "Direct Minting Hourly Limit",
1336-
settingName: "directMintingHourlyLimitUBA",
1344+
functionName: "getDirectMintingHourlyLimitUBA",
1345+
interfaceLink:
1346+
"/fassets/reference/IAssetManager#getdirectmintinghourlylimituba",
13371347
description:
13381348
"Maximum amount that can be directly minted per hour, in base unit of the underlying asset (UBA). After that the mintings are delayed.",
13391349
values: {
@@ -1353,7 +1363,9 @@ export const operationalParameters = [
13531363
},
13541364
{
13551365
name: "Direct Minting Daily Limit",
1356-
settingName: "directMintingDailyLimitUBA",
1366+
functionName: "getDirectMintingDailyLimitUBA",
1367+
interfaceLink:
1368+
"/fassets/reference/IAssetManager#getdirectmintingdailylimituba",
13571369
description:
13581370
"Maximum amount that can be directly minted per day, in base unit of the underlying asset (UBA). After that the mintings are delayed.",
13591371
values: {
@@ -1373,7 +1385,9 @@ export const operationalParameters = [
13731385
},
13741386
{
13751387
name: "Direct Minting Large Minting Threshold",
1376-
settingName: "directMintingLargeMintingThresholdUBA",
1388+
functionName: "getDirectMintingLargeMintingThresholdUBA",
1389+
interfaceLink:
1390+
"/fassets/reference/IAssetManager#getdirectmintinglargemintingthresholduba",
13771391
description:
13781392
"Threshold above which a direct minting is considered large, in base unit of the underlying asset (UBA). Large mintings are always delayed.",
13791393
values: {
@@ -1393,7 +1407,9 @@ export const operationalParameters = [
13931407
},
13941408
{
13951409
name: "Direct Minting Large Minting Delay",
1396-
settingName: "directMintingLargeMintingDelaySeconds",
1410+
functionName: "getDirectMintingLargeMintingDelaySeconds",
1411+
interfaceLink:
1412+
"/fassets/reference/IAssetManager#getdirectmintinglargemintingdelayseconds",
13971413
description:
13981414
"Delay in seconds imposed on large direct mintings before they can be executed.",
13991415
values: {
@@ -1413,7 +1429,9 @@ export const operationalParameters = [
14131429
},
14141430
{
14151431
name: "Direct Minting Fee Receiver",
1416-
settingName: "directMintingFeeReceiver",
1432+
functionName: "getDirectMintingFeeReceiver",
1433+
interfaceLink:
1434+
"/fassets/reference/IAssetManager#getdirectmintingfeereceiver",
14171435
description: "Address that receives the direct minting fee.",
14181436
values: {
14191437
flare: {
@@ -1437,7 +1455,9 @@ export const operationalParameters = [
14371455
parameters: [
14381456
{
14391457
name: "Minimum Redeem Amount",
1440-
settingName: "minimumRedeemAmount",
1458+
functionName: "minimumRedeemAmountUBA",
1459+
interfaceLink:
1460+
"/fassets/reference/IAssetManager#minimumredeemamountuba",
14411461
description:
14421462
"Minimum amount that can be redeemed, in base unit of the underlying asset (UBA).",
14431463
values: {

0 commit comments

Comments
 (0)