费用结构

JAMM DEX 实现了灵活的多级费率系统,允许不同的交易对根据其特性选择合适的费率等级。这种设计为不同风险和流动性需求的资产提供了优化的交易体验。

费率等级

支持的费率

JAMMFactory.sol 中定义了四种预设的费率等级:

// Supported fee tiers
uint24 public constant FEE_0_5_PERCENT = 50;   // 0.5% fee
uint24 public constant FEE_1_PERCENT = 100;    // 1.0% fee
uint24 public constant FEE_2_PERCENT = 200;    // 2.0% fee
uint24 public constant FEE_3_PERCENT = 300;    // 3.0% fee

费率验证

在创建交易对时,系统会验证费率的有效性:

// from JAMMFactory.sol
require(
    fee == FEE_0_5_PERCENT ||
        fee == FEE_1_PERCENT ||
        fee == FEE_2_PERCENT ||
        fee == FEE_3_PERCENT,
    "JAMMFactory: INVALID_FEE"
);

费用计算

交易费用

交易费用在计算交换数量时从输入代币中扣除。这个逻辑在 JAMMLibrary.sol 中实现:

费用分配机制

JAMM DEX 实现了独特的双重费用分配机制,在 JAMMPair.sol_collectFee 函数中实现,根据是否有推荐人来决定费用分配:

费用分配详解

无推荐人情况

  • 协议费用: 从输入代币中收取 (amountIn * fee) / 50000

  • 推荐人费用: 0。

有推荐人情况

  • 协议费用: 从输入代币中收取 (amountIn * fee) / 100000

  • 推荐人费用: 从输入代币中收取 (amountIn * fee) / 100000

  • 费用在协议和推荐人之间平分。

协议费用机制 (Protocol Fee)

除了直接的交易费用,JAMM DEX 还可以通过铸造新的LP代币来收取协议费用。这部分费用流向 mintTo 地址,由 _mintFee 函数管理。

协议费用计算

协议费用基于流动性池的增长(k值的增加)来计算。当池子的总价值因累积的交易费而增长时,协议会按比例铸造新的LP代币作为收入。

恒定乘积验证 (K-Value Check)

在每次交换后,系统会验证恒定乘积公式,确保扣除费用后的平衡。JAMMPair.sol 中的 swap 函数包含了这个检查:

费率选择指南

0.5% 费率

  • 适用场景: 稳定币对(如USDC/USDT),高流动性、低波动性资产。

  • 特点: 交易成本最低,适合大额交易和套利。

1.0% 费率

  • 适用场景: 主流代币对(如JU/USDC),中等波动性资产。

  • 特点: 标准费率,平衡用户成本和LP收益。

2.0% 费率

  • 适用场景: 中等风险的代币对,新兴项目代币。

  • 特点: 为LP提供更高收益,以补偿较高的无常损失风险。

3.0% 费率

  • 适用场景: 高风险、高波动性代币,小众或实验性代币。

  • 特点: LP收益率最高,以补偿高风险和高无常损失。

费用事件

每次费用转账都会触发 Fee 事件:

这个事件记录了费用分配的详细信息,便于链上数据分析和追踪。

JAMM DEX的费用结构具有以下特点:

  1. 多级费率: 四种预定义费率满足不同资产的需求。

  2. 推荐人激励: 独特的费用分成机制激励社区推广。

  3. 协议可持续性: 通过LP代币铸造收取协议费用,确保长期发展。

  4. 透明性: 所有费用计算和分配都在链上公开进行。

  5. 灵活性: 允许为不同类型的资产对选择最合适的费率。

Last updated