# 技术方案

## 流程图

![在Fraxswap交易对中，激活TWAMM订单的订单流程图](https://756501507-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MJQZW1mSg2O5N7HXHo0-1995411665%2Fuploads%2FjrU3324snDcTDi2sUQl9%2Fimage.png?alt=media\&token=f9345b27-cf62-40df-895c-04fb92f7befb)

## 核心 AMM

Fraxswap的Core AMM是采用Uniswap V2，基于xy=k恒积常数的全系列产品设计。Fraxswap遵循了Uniswap V2的许多设计决策，因为它扩展了代码库以支持TWAMMs。Fraxswap v2计划以一种独特和新颖的方式支持集中流动性和相关资产流动性，允许TWAMM在这些交易对之间也发挥作用。

关于Uniswap核心功能的大量文档可以在这里找到： <https://docs.uniswap.org/protocol/V2/concepts/protocol-overview/how-uniswap-works>

## 时间加权平均自动做市商(TWAMM)

Fraxswap是第一个上线的TWAMM（时间加权平均做市商）实现。嵌入的TWAMM遵循Paradigm的原始白皮书规范。白皮书中提到的特性被用于优化长期订单的执行，包括：订单池化和对齐订单到期时间（按小时）。长期订单在任何与Fraxswap的交互之前被优先执行，这意味着在AMM（自动做市商）交互之前，长期订单首先执行，并且每个区块执行一次（见上方示意图）。Fraxswap实现了Paradigm原始公式的近似公式，允许简化、更节省gas的TWAMM。

*TWAMM白皮书描述了其基本机制： “每个TWAMM实例促进特定资产对之间的交易，例如ETH和\[FRAX]。*

&#x20;*TWAMM包含一个嵌入式AMM，即一个用于两种资产的标准恒定乘积做市商。任何人可以随时与这个嵌入式AMM交易，就像它是一个普通的AMM一样。*&#x20;

*交易者可以向TWAMM提交长期订单，即在固定的区块数量内卖出固定数量的一种资产的订单——例如，提交一个在接下来的2,000个区块内卖出100 ETH的订单。 TWAMM将这些长期订单分解为无数小的虚拟子订单，以均匀的速度与嵌入的AMM交易。单独处理每个虚拟子订单的交易将耗费无穷的gas，但一个封闭形式的数学公式允许我们在需要时计算它们的累积效果。 长期订单的执行将随着时间的推移推动嵌入的AMM的价格偏离其他市场上的价格。当这种情况发生时，套利者将针对嵌入AMM的价格进行交易，使其回归正常，确保长期订单的良好执行。*&#x20;

*例如，如果长期卖单使ETH在嵌入的AMM上的价格比某个中心化交易所便宜，套利者将从嵌入的AMM购买ETH，使其价格回升，然后在中心化交易所卖出以获取利润。”*

可以在以下链接上找到Paradigm TWAMM公式与Fraxswap TWAMM公式的互动对比：<https://www.desmos.com/calculator/wp4zrkh6uj>
