作者:@MrAndersonChen / 来源:https://twitter.com/MrAndersonChen/status/168128879842312601
翻译:火火/白话区块链
在花了一些时间阅读#UniswapX的材料和代码库后,@MrAndersonChen 写了进行一个推特来描述其背后的具体运行原理!希望对您有所帮助。
https://github.com/Uniswap/UniswapX/tree/main
简而言之,UniswapX是一种路由器协议(routing),允许交易者在AMM之间进行交换。
该架构由几个关键组件组成:交换器(Swapper)、填充器(Filler)、反应器(Reactor)和执行器(Excutor)。存储库中有一个清晰的体系结构图表。现在按顺序解释一下。
1.交换器(Swapper)
#Swapper创建并签署一个订单,其中包含将输入Token交换为输出Token的指令,然后将签名的订单发送到 Filler。好处是什么呢?更好的价格,无gas交换,MEV保护,失败交易无成本,甚至可以实现跨链交换。
2.填充器(Filler)
#Filler执行订单并支付gas费。这涉及调用反应器的“execute()”并决定执行器。根据白皮书,Filler 可能是MEV搜索者,做市商或其他链上代理。
3.反应器(Reactor)
#Reactor是负责结算订单的合同。它并没有真正执行订单,而是通过调用fill Contract的'reactor Callback'将其传递给执行者(也称为fill Contract)。
https://github.com/Uniswap/UniswapX/blob/main/src/reactors/BaseReactor.sol
4.执行器(Excutor)
#Executor,实现一个策略来填写订单并将输出Token转移给收件人。它能够一次填写多个订单。
一个官方的例子是 SwapRouter02Executor.sol,它使用 swapRouter02 的简单策略来完成订单。此合约只能由某些特定的 Filler 调用,因为它会检查 Filler 是否被列入白名单。
https://github.com/Uniswap/UniswapX/blob/main/src/sample-executors/SwapRouter02Executor.sol
5.小结
借助 UniswapX,routing 成为一个复杂且竞争激烈的网络。任何人都可以按照接口(IReactor.sol 和 IReactorCallback.sol)构建自己的 Reactor 来创建新的订单类型,或自己的执行器来创建新的订单匹配策略。
无论如何,最终的受益者永远是swapper。