作者:Anderson Chen,ETHTaipei组织者 翻译:金色财经0xxz
我花了一些时间阅读Uniswap新发布的UniswapX材料和代码库(https://github.com/Uniswap/UniswapX/tree/main)。下面来描述它是如何工作的!希望对你有帮助。
简而言之,UniswapX 是一种路由器协议,允许交易者在 AMM 之间进行 swap。该架构由几个关键组件组成:Swaper、Filler、Reactor 和 Executor。Github代码仓库中有清晰的架构图。
下面我按顺序解释一下。
1、Swapper
创建并签署一个订单,其中包含将输入代币交换为输出代币的意图,然后将签名的订单发送到 Filler。好处是:更好的价格、无 gas 交换、MEV 保护、失败交易无需成本,甚至跨链交换。
2、Filler
执行订单并支付 gas 费。这涉及到调用 Reactor 的 "execute()" 并决定 Executor。根据白皮书,Filler 可以是 MEV 搜索者、做市商或其他链上代理。
3、Reactor
负责结算订单的合约。它并不真正执行订单,而是通过调用 fillContract 的 `reactorCallback()` 将其传递给 Executor(也称为 fillContract)。
4、Executor
实现 fill 订单并将输出代币转移给接收者的策略。它能够同时 fill 多个订单。官方的一个例子是 SwapRouter02Executor.sol,它使用了 swapRouter02 的简单策略来完成订单。该合约只能由某些 Filler 调用,因为它会检查 Filler 是否在白名单中。
有了 UniswapX,路由就变成了一个复杂且竞争激烈的网络。任何人都可以按照接口(IReactor.sol 和 IReactorCallback.sol)构建自己的 Reactor 来创建新的订单类型,或者构建自己的 Executor 来创建新的订单匹配策略。不管怎样,最终受益者永远是 swapper。