作者: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。