Skip to content

Commit 45aa194

Browse files
authored
Merge branch 'main' into fixes
2 parents a7a09d0 + 9c885da commit 45aa194

20 files changed

+50
-266
lines changed

docs/fassets/1-overview.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ Anyone on the Flare blockchain can mint FAssets, which are wrapped versions of o
3838
### Minting
3939

4040
- A user (minter) selects an agent and pays a fee to reserve collateral.
41-
- If the agent requires a handshake, the user's address is verified before proceeding with collateral reservation.
4241
- The user sends the underlying asset (e.g., BTC) to the agent.
4342
- The FDC verifies the transaction.
4443
- The equivalent FAssets (e.g., FBTC) are minted as ERC-20 tokens on Flare.

docs/fassets/3-minting.mdx

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -105,24 +105,6 @@ The executor is the actor who submits the payment proof to the Asset Manager, fi
105105

106106
This design ensures timely and reliable minting finalization without relying on a centralized party.
107107

108-
### Trailing Fees
109-
110-
To ensure that agents and collateral pool providers receive steady income, the FAsset system offers an option to enable FAsset token transfer fees, also known as trailing fees.
111-
112-
Whenever FAssets are transferred, a small proportional fee is deducted and contributed to a common pool. In a regular transfer, this fee is subtracted from the payment, meaning the sender pays the exact amount specified in the transfer request, while the receiver ends up receiving a slightly lower amount.
113-
114-
There is also a method where the receiver gets the exact amount specified in the call, while the sender pays more. The fee percentage is a system setting and is typically quite small.
115-
116-
The fees are collected over a certain period, known as an epoch, after which they are distributed among all agents in proportion to each agent's average backed amount during that epoch.
117-
118-
An agent can claim their portion of the fees for an epoch at any time after the epoch ends and before it expires. When making a claim, the fee is distributed between the agent and the pool in the same manner as the minting fee, based on the agent's settings.
119-
120-
## Handshake
121-
122-
Certain jurisdictions may require agents to confirm that those minting or redeeming assets are not engaged in illegal activities. Although the FAsset system does not impose this requirement, it does provide agents with the option to utilize an external service to verify the identities of minters and redeemers before proceeding with minting or redemption.
123-
124-
To enable the handshake, the agent must configure this setting in the agent settings. Once this is enabled, minting and redemption will involve an additional step.
125-
126108
### Minting
127109

128110
The FAssets agent verifies the minter after the user completes the collateral reservation and pays the collateral reservation fee. The agent is responsible for confirming or rejecting the minter's status. If the agent does not respond within a certain timeframe, the minter has the option to cancel the reservation and receive a full refund of the collateral reservation fee.
@@ -133,16 +115,6 @@ Users must wait up to 60 seconds before they can cancel their request. If the ag
133115

134116
When the agent rejects the minter's request or the minter decides to cancel, the minter will receive a refund of the collateral reservation fee, minus a small percentage (e.g., 5%) that is burned. This burned amount is designed to prevent abuse of the agent by stopping someone from repeatedly reserving collateral from a sanctioned address. If the burned percentage were zero, an attacker could exploit the system without any cost.
135117

136-
### Redemption
137-
138-
The agent has a few minutes to verify the redeemer's addresses and either approve or reject the redemption. If rejected, another agent can take over. If no one takes over, the minter receives the full amount plus a small premium from the rejecting agent, with the premium for a handshake rejection being smaller than for a redemption default.
139-
140-
:::info
141-
142-
An agent may only fulfill part of a request due to insufficient minting or too many small tickets. In these situations, the system allows for a “partial takeover”, where the remaining portion can either be taken over by another agent or covered by collateral from the agent who declined the redemption.
143-
144-
:::
145-
146118
## Payment Failure
147119

148120
To finalize the minting, the minter must pay the agent on the underlying chain and prove the payment was received.

docs/fassets/7-operational-parameters.mdx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,6 @@ To get the default agent settings, you need to call the `getSettings` function o
5252

5353
<OperationalParameters sectionTitle="Transfer Fees" />
5454

55-
### Handshake
56-
57-
<OperationalParameters sectionTitle="Handshake" />
58-
5955
## Default Agent Settings
6056

6157
To get the default agent settings, you need to call the `getAgentInfo` function on the `IAssetManager` interface. Read more about the `IAssetManager` interface [here](/fassets/reference/IAssetManager).

docs/fassets/developer-guides/7-fassets-redeem.mdx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -309,9 +309,6 @@ The FAssets agent should perform the redemption, and the user must retrieve the
309309
If the agent is unable to redeem the assets on the underlying chain in the specified time.
310310
In that case, the user can execute the [`redemptionPaymentDefault`](/fassets/reference/IAssetManager#redemptionpaymentdefault) function to receive compensation from the agent's collateral.
311311

312-
If the agent rejects the redemption request and no other agent takes over the redemption, the redeemer or appointed executor calls [`rejectedRedemptionPaymentDefault`](/fassets/reference/IAssetManager#rejectedredemptionpaymentdefault) method and receives payment in collateral.
313-
The agent can also call default if the redeemer is unresponsive to payout the redeemer and free the remaining collateral.
314-
315312
## Next Steps
316313

317314
:::tip

docs/fassets/guides/4-custom-handshake.mdx

Lines changed: 0 additions & 33 deletions
This file was deleted.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
sidebar_position: 5
2+
sidebar_position: 4
33
slug: faq
44
title: FAssets Agent FAQs
55
description: Frequently Asked Questions by FAssets Agents.

docs/fassets/guides/6-export-private-keys.mdx renamed to docs/fassets/guides/5-export-private-keys.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
sidebar_position: 6
2+
sidebar_position: 5
33
slug: export-private-keys
44
title: Export Private Keys
55
description: Export private keys for minting and redeeming

docs/fassets/guides/7-agent-bot-notifications.mdx renamed to docs/fassets/guides/6-agent-bot-notifications.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
sidebar_position: 7
2+
sidebar_position: 6
33
slug: agent-bot-notifications
44
title: Agent Bot Notifications
55
description: Learn how to set up agent bot notifications for FAssets.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
sidebar_position: 8
2+
sidebar_position: 7
33
slug: infrastructure
44
title: FAssets Agent Infrastructure
55
description: Configuring the FAsset Bot to Use Custom Infrastructure

docs/fassets/reference/IAssetManager.mdx

Lines changed: 0 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -147,62 +147,16 @@ Parameters:
147147
- `_lots`: Number of lots for which to reserve collateral
148148
- `_maxMintingFeeBIPS`: Maximum minting fee (BIPS) that can be charged by the agent - best practice is to copy the current agent's published fee; used to prevent agent from front-running reservation request and increasing fee
149149
- `_executor`: Account that is allowed to execute minting (besides minter and agent)
150-
- `_minterUnderlyingAddresses`: Array of minter's underlying addresses - needed only if handshake is required
151150

152151
```solidity
153152
function reserveCollateral(
154153
address _agentVault,
155154
uint256 _lots,
156155
uint256 _maxMintingFeeBIPS,
157156
address payable _executor,
158-
string[] calldata _minterUnderlyingAddresses
159157
) external payable;
160158
```
161159

162-
### `approveCollateralReservation`
163-
164-
Agent approves the collateral reservation request after checking the minter's identity.
165-
166-
Parameters:
167-
168-
- `_collateralReservationId`: Collateral reservation ID
169-
170-
```solidity
171-
function approveCollateralReservation(
172-
uint256 _collateralReservationId
173-
) external notEmergencyPaused;
174-
```
175-
176-
### `rejectCollateralReservation`
177-
178-
Agent rejects the collateral reservation request after checking the minter's identity.
179-
The collateral reservation fee is returned to the minter.
180-
181-
Parameters:
182-
183-
- `_collateralReservationId`: Collateral reservation ID
184-
185-
```solidity
186-
function rejectCollateralReservation(
187-
uint256 _collateralReservationId
188-
) external nonReentrant;
189-
```
190-
191-
### `cancelCollateralReservation`
192-
193-
Minter cancels the collateral reservation request if the agent didn't respond in time.
194-
The collateral reservation fee is returned to the minter.
195-
196-
Parameters:
197-
198-
- `_collateralReservationId`: Collateral reservation ID
199-
200-
```solidity
201-
function cancelCollateralReservation(
202-
uint256 _collateralReservationId
203-
) external nonReentrant;
204-
```
205-
206160
## Execute Minting
207161

208162
### `executeMinting`
@@ -267,21 +221,6 @@ function redemptionPaymentDefault(
267221
) external;
268222
```
269223

270-
### `rejectedRedemptionPaymentDefault`
271-
272-
If the agent rejected the redemption request and no other agent took over the redemption, the redeemer or appointed executor calls this method and receives payment in collateral.
273-
The agent can also call default if the redeemer is unresponsive, to payout the redeemer and free the remaining collateral.
274-
275-
Parameters:
276-
277-
- `_redemptionRequestId`: ID of an existing redemption request
278-
279-
```solidity
280-
function rejectedRedemptionPaymentDefault(
281-
uint256 _redemptionRequestId
282-
) external;
283-
```
284-
285224
## Core Vault Settings
286225

287226
Reference for managing and interacting with FAssets `ICoreVaultSettings` contract which is inherited by the `IAssetManager` contract.

0 commit comments

Comments
 (0)