本文作者:tonyh[1]
前面我们已经大致了解了 uniswap 的交易算法[2], 今天我们一起看看 Uniswap 手续费是怎么计算的
可能很多读者认为手续费计算并不重要, 因为手续费对于用户而言就是扣掉千分之三的...但是在收取手续费的情况下, 实际的有效输入是 effectiveInput = amountIn _ 0.997, 这部分有效输入 effectiveInput 进行 swap 交易后满足交易后的 A2...这个问题对于手续费计算很重要, 因为只有定义了池子中财富度量的标准, 我们才能计算出财富增加的比例, 从而 mint 正确的 lp 代币 作为协议手续费
交易池的财富度量: rootK
下面的讨论中,...证明: 现在我们邀请一名交易者来做 swap, 让他用 A2/A1 和 B2/B1 中比值较小的币种, 换取比值较大的币种, 确保交易之后的 A3, B3 刚好满足 A3/A1 = B3/B1, 这笔交易不收手续费...那么交易池的财富增量包含了添加流动性的增量,手续费产生的增量, 同时还会受到撤销流动性的抵消, 这样就无法正确的追踪 "因手续费而产生的财富增量了", 那要怎么解决呢.