diff --git a/docs/fassets/1-overview.mdx b/docs/fassets/1-overview.mdx
index 8b1e15a3..746e006a 100644
--- a/docs/fassets/1-overview.mdx
+++ b/docs/fassets/1-overview.mdx
@@ -38,7 +38,6 @@ Anyone on the Flare blockchain can mint FAssets, which are wrapped versions of o
### Minting
- A user (minter) selects an agent and pays a fee to reserve collateral.
- - If the agent requires a handshake, the user's address is verified before proceeding with collateral reservation.
- The user sends the underlying asset (e.g., BTC) to the agent.
- The FDC verifies the transaction.
- The equivalent FAssets (e.g., FBTC) are minted as ERC-20 tokens on Flare.
diff --git a/docs/fassets/3-minting.mdx b/docs/fassets/3-minting.mdx
index 658fc511..b77ef68e 100644
--- a/docs/fassets/3-minting.mdx
+++ b/docs/fassets/3-minting.mdx
@@ -105,24 +105,6 @@ The executor is the actor who submits the payment proof to the Asset Manager, fi
This design ensures timely and reliable minting finalization without relying on a centralized party.
-### Trailing Fees
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-## Handshake
-
-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.
-
-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.
-
### Minting
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
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.
-### Redemption
-
-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.
-
-:::info
-
-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.
-
-:::
-
## Payment Failure
To finalize the minting, the minter must pay the agent on the underlying chain and prove the payment was received.
diff --git a/docs/fassets/7-operational-parameters.mdx b/docs/fassets/7-operational-parameters.mdx
index e3a80ced..2ece3194 100644
--- a/docs/fassets/7-operational-parameters.mdx
+++ b/docs/fassets/7-operational-parameters.mdx
@@ -52,10 +52,6 @@ To get the default agent settings, you need to call the `getSettings` function o
-### Handshake
-
-
-
## Default Agent Settings
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).
diff --git a/docs/fassets/developer-guides/7-fassets-redeem.mdx b/docs/fassets/developer-guides/7-fassets-redeem.mdx
index 85520d8d..e70b0927 100644
--- a/docs/fassets/developer-guides/7-fassets-redeem.mdx
+++ b/docs/fassets/developer-guides/7-fassets-redeem.mdx
@@ -309,9 +309,6 @@ The FAssets agent should perform the redemption, and the user must retrieve the
If the agent is unable to redeem the assets on the underlying chain in the specified time.
In that case, the user can execute the [`redemptionPaymentDefault`](/fassets/reference/IAssetManager#redemptionpaymentdefault) function to receive compensation from the agent's collateral.
-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.
-The agent can also call default if the redeemer is unresponsive to payout the redeemer and free the remaining collateral.
-
## Next Steps
:::tip
diff --git a/docs/fassets/guides/4-custom-handshake.mdx b/docs/fassets/guides/4-custom-handshake.mdx
deleted file mode 100644
index 4885baf2..00000000
--- a/docs/fassets/guides/4-custom-handshake.mdx
+++ /dev/null
@@ -1,33 +0,0 @@
----
-sidebar_position: 4
-slug: custom-handshake
-title: Implement Custom Handshake
-description: Implement compliance checks for minting and redeeming.
-tags: [intermediate, fassets, bitcoin, dogecoin]
-authors: [fassko]
-keywords: [fassets, xrp, btc, doge flare-network, flare-network]
----
-
-The [Handshake](/fassets/minting#handshake) in the FAsset system is an optional step where an agent verifies the minter's or redeemer's address using an external service to ensure compliance (e.g., sanctions checks) before proceeding with minting or redemption. If enabled, the agent must approve the provided address within a set time; failure to respond allows the user to cancel or proceed based on system rules.
-
-FAssets agents can establish custom handshake mechanisms for verifying minters and redeemers. The most straightforward approach is to create a separate web service that exposes an API which accepts two parameters:
-
-- API service URL
-- Address that requires verification
-
-You need to configure the `kyc` block in the `secrets.json` file.
-
-```json
-"kyc": {
- "url": "",
- "api_key": ""
-}
-```
-
-The `url` field represents the web service link, while the `api_key` field is sent as a custom header using the variable `Token`.
-
-:::info
-
-You can check [`HandshakeAddressVerifier.ts`](https://github.com/flare-foundation/fasset-bots/blob/main/packages/fasset-bots-core/src/actors/plugins/HandshakeAddressVerifier.ts) for implementation details related to the `ChainalysisClient` class in the [fasset-bots](https://github.com/flare-foundation/fasset-bots) repo.
-
-:::
diff --git a/docs/fassets/guides/5-faq.mdx b/docs/fassets/guides/4-faq.mdx
similarity index 99%
rename from docs/fassets/guides/5-faq.mdx
rename to docs/fassets/guides/4-faq.mdx
index 49f1f41e..ca27a696 100644
--- a/docs/fassets/guides/5-faq.mdx
+++ b/docs/fassets/guides/4-faq.mdx
@@ -1,5 +1,5 @@
---
-sidebar_position: 5
+sidebar_position: 4
slug: faq
title: FAssets Agent FAQs
description: Frequently Asked Questions by FAssets Agents.
diff --git a/docs/fassets/guides/6-export-private-keys.mdx b/docs/fassets/guides/5-export-private-keys.mdx
similarity index 97%
rename from docs/fassets/guides/6-export-private-keys.mdx
rename to docs/fassets/guides/5-export-private-keys.mdx
index 3ae0598f..0514acd9 100644
--- a/docs/fassets/guides/6-export-private-keys.mdx
+++ b/docs/fassets/guides/5-export-private-keys.mdx
@@ -1,5 +1,5 @@
---
-sidebar_position: 6
+sidebar_position: 5
slug: export-private-keys
title: Export Private Keys
description: Export private keys for minting and redeeming
diff --git a/docs/fassets/guides/7-agent-bot-notifications.mdx b/docs/fassets/guides/6-agent-bot-notifications.mdx
similarity index 99%
rename from docs/fassets/guides/7-agent-bot-notifications.mdx
rename to docs/fassets/guides/6-agent-bot-notifications.mdx
index 5b7dc7ef..b60ea5e6 100644
--- a/docs/fassets/guides/7-agent-bot-notifications.mdx
+++ b/docs/fassets/guides/6-agent-bot-notifications.mdx
@@ -1,5 +1,5 @@
---
-sidebar_position: 7
+sidebar_position: 6
slug: agent-bot-notifications
title: Agent Bot Notifications
description: Learn how to set up agent bot notifications for FAssets.
diff --git a/docs/fassets/guides/8-infrastructure.mdx b/docs/fassets/guides/7-infrastructure.mdx
similarity index 99%
rename from docs/fassets/guides/8-infrastructure.mdx
rename to docs/fassets/guides/7-infrastructure.mdx
index d7edba76..6ec75fef 100644
--- a/docs/fassets/guides/8-infrastructure.mdx
+++ b/docs/fassets/guides/7-infrastructure.mdx
@@ -1,5 +1,5 @@
---
-sidebar_position: 8
+sidebar_position: 7
slug: infrastructure
title: FAssets Agent Infrastructure
description: Configuring the FAsset Bot to Use Custom Infrastructure
diff --git a/docs/fassets/reference/IAssetManager.mdx b/docs/fassets/reference/IAssetManager.mdx
index 977d6939..10a64276 100644
--- a/docs/fassets/reference/IAssetManager.mdx
+++ b/docs/fassets/reference/IAssetManager.mdx
@@ -147,7 +147,6 @@ Parameters:
- `_lots`: Number of lots for which to reserve collateral
- `_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
- `_executor`: Account that is allowed to execute minting (besides minter and agent)
-- `_minterUnderlyingAddresses`: Array of minter's underlying addresses - needed only if handshake is required
```solidity
function reserveCollateral(
@@ -155,54 +154,9 @@ function reserveCollateral(
uint256 _lots,
uint256 _maxMintingFeeBIPS,
address payable _executor,
- string[] calldata _minterUnderlyingAddresses
) external payable;
```
-### `approveCollateralReservation`
-
-Agent approves the collateral reservation request after checking the minter's identity.
-
-Parameters:
-
-- `_collateralReservationId`: Collateral reservation ID
-
-```solidity
-function approveCollateralReservation(
- uint256 _collateralReservationId
-) external notEmergencyPaused;
-```
-
-### `rejectCollateralReservation`
-
-Agent rejects the collateral reservation request after checking the minter's identity.
-The collateral reservation fee is returned to the minter.
-
-Parameters:
-
-- `_collateralReservationId`: Collateral reservation ID
-
-```solidity
-function rejectCollateralReservation(
- uint256 _collateralReservationId
-) external nonReentrant;
-```
-
-### `cancelCollateralReservation`
-
-Minter cancels the collateral reservation request if the agent didn't respond in time.
-The collateral reservation fee is returned to the minter.
-
-Parameters:
-
-- `_collateralReservationId`: Collateral reservation ID
-
-```solidity
-function cancelCollateralReservation(
- uint256 _collateralReservationId
-) external nonReentrant;
-```
-
## Execute Minting
### `executeMinting`
@@ -267,21 +221,6 @@ function redemptionPaymentDefault(
) external;
```
-### `rejectedRedemptionPaymentDefault`
-
-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.
-The agent can also call default if the redeemer is unresponsive, to payout the redeemer and free the remaining collateral.
-
-Parameters:
-
-- `_redemptionRequestId`: ID of an existing redemption request
-
-```solidity
-function rejectedRedemptionPaymentDefault(
- uint256 _redemptionRequestId
-) external;
-```
-
## Core Vault Settings
Reference for managing and interacting with FAssets `ICoreVaultSettings` contract which is inherited by the `IAssetManager` contract.
diff --git a/examples/developer-hub-solidity/FAssetsAssetManagerRegistry.sol b/examples/developer-hub-solidity/FAssetsAssetManagerRegistry.sol
index 7d6620c7..23959589 100644
--- a/examples/developer-hub-solidity/FAssetsAssetManagerRegistry.sol
+++ b/examples/developer-hub-solidity/FAssetsAssetManagerRegistry.sol
@@ -34,7 +34,9 @@ contract AssetManagerRegistry {
.getSettings();
// Calculate the hash of the pool token suffix
- bytes32 poolTokenSuffixHash = keccak256(abi.encodePacked(poolTokenSuffix));
+ bytes32 poolTokenSuffixHash = keccak256(
+ abi.encodePacked(poolTokenSuffix)
+ );
//8. return the address of the asset manager that has the pool token suffix "TXRP"
if (poolTokenSuffixHash == TXRP_HASH) {
diff --git a/src/components/FAssets/operational-parameters.ts b/src/components/FAssets/operational-parameters.ts
index c66aef4e..ea9d0f30 100644
--- a/src/components/FAssets/operational-parameters.ts
+++ b/src/components/FAssets/operational-parameters.ts
@@ -1065,137 +1065,6 @@ export const operationalParameters = [
},
],
},
- {
- title: "Handshake",
- parameters: [
- {
- name: "Collateral Reservation Timeout",
- settingName: "cancelCollateralReservationAfterSeconds",
- description:
- "Time after which collateral reservation can be canceled if the handshake isn't completed.",
- values: {
- coston2: {
- xrp: "30 seconds",
- },
- songbird: {
- xrp: "60 seconds",
- btc: "60 seconds",
- doge: "60 seconds",
- },
- coston: {
- xrp: "30 seconds",
- btc: "30 seconds",
- doge: "30 seconds",
- },
- },
- },
- {
- name: "Return factor for rejected (or canceled) minting handshake",
- settingName: "rejectOrCancelCollateralReservationReturnFactorBIPS",
- description:
- "The percentage of the collateral reservation fee returned on rejected (or canceled) minting handshake.",
- values: {
- coston2: {
- xrp: "",
- },
- songbird: {
- xrp: "5%",
- btc: "2%",
- doge: "2%",
- },
- coston: {
- xrp: "",
- btc: "",
- doge: "",
- },
- },
- },
- {
- name: "Redemption Request Rejection Window",
- settingName: "rejectRedemptionRequestWindowSeconds",
- description:
- "Time window within which the agent can reject a redemption request.",
- values: {
- coston2: {
- xrp: "120 seconds",
- },
- songbird: {
- xrp: "120 seconds",
- btc: "120 seconds",
- doge: "120 seconds",
- },
- coston: {
- xrp: "120 seconds",
- btc: "120 seconds",
- doge: "120 seconds",
- },
- },
- },
- {
- name: "Redemption Request Takeover Window",
- settingName: "takeOverRedemptionRequestWindowSeconds",
- description:
- "Time window during which another agent can take over a rejected redemption request.",
- values: {
- coston2: {
- xrp: "120 seconds",
- },
- songbird: {
- xrp: "120 seconds",
- btc: "120 seconds",
- doge: "120 seconds",
- },
- coston: {
- xrp: "120 seconds",
- btc: "120 seconds",
- doge: "120 seconds",
- },
- },
- },
- {
- name: "Vault Collateral Compensation Factor",
- settingName: "rejectedRedemptionDefaultFactorVaultCollateralBIPS",
- description:
- "Portion of compensation factor paid from the agent's vault collateral during redemption rejection.",
- values: {
- coston2: {
- xrp: "1.05",
- },
- songbird: {
- xrp: "1.001",
- btc: "1.001",
- doge: "1.001",
- },
- coston: {
- xrp: "1.05",
- btc: "1.05",
- doge: "1.05",
- },
- },
- },
- {
- name: "Pool Collateral Compensation Factor",
- settingName: "rejectedRedemptionDefaultFactorPoolBIPS",
- description:
- "Portion of compensation factor paid from the pool collateral during redemption rejection.",
- values: {
- coston2: {
- xrp: "0",
- },
- songbird: {
- xrp: "0",
- btc: "0",
- doge: "0",
- },
- coston: {
- xrp: "0",
- btc: "0",
- doge: "0",
- },
- },
- },
- ],
- },
{
title: "Default Agent Settings",
parameters: [