
設計原理
UniswapX 旨在通過將路由複雜性外包給第三方填充者的開放網絡來解決,然後第三方填充者競爭使用AMM 礦池或自己的私人庫存等鏈上流動性來填充掉期。
一級標題
一級標題
一級標題
優勢
通過聚合流動性來源獲得更好的價格無gas 交換
一級標題
一級標題
工作原理
工作原理
首先,假設Alice(交換者)想要將1 ETH 交換為USDC。 Alice 向(潛在的填充者)Bob、Charlie 和Danielle 請求報價:
Bob 提出以1, 000 USDC 購買Alice 的ETH
Charlie 現有999 USDC
Danielle 現有998 USDC
Alice 還可以直接通過Uniswap v 3 將她的1 ETH 兌換成997 USDC
Alice 接受Bob 的1, 000 USDC 報價,並簽署訂單。
該訂單包括最大值(由Bob 的報價1, 000 USDC 設置)和最小值997 USDC(由Uniswap 智能訂單路由器API 設置)。
Bob 可以使用他自己的USDC 或將Alice 的1 個ETH 路由到各種鏈上流動性場所(Uniswap 協議、Sushiswap 等)來填寫Alice 的訂單。
Bob 決定使用自己的USDC 來滿足Alice 的訂單,並向Alice 發送1, 000 USDC 以換取她的1 ETH。
如果Bob 決定放棄他的提議,Alice 不需要提交新的訂單和簽名。
相反,她現有的訂單會自動更新,向任何能給她999 USDC 作為回報的人提供1 ETH。
一級標題
一級標題
交易流程
交易流程
UniswapX 是一個去中心化交易協議,利用Permit 2 代幣授權合約引入了基於簽名的授權和轉賬功能,適用於任何ERC 20 代幣。此外,UniswapX 還使用Reactor 合約進行鏈上結算。 Reactor 合約負責驗證交易是否符合用戶指定的參數,並可以撤銷不符合條件的交易。要參與UniswapX 的交易,兌換者首先必須授權Permit 2 合約。
兌換者無需手動創建和提交交易,而是對交易訂單簽名,指定以下參數:
輸入代幣(支付代幣)
輸出代幣(獲取代幣)
輸入(輸出)數量
初始輸出(輸入)金額
最低輸出(輸入)數量
衰減函數
兌換期限
授權UniswapX Reactor 合約代表其使用代幣
一級標題
一級標題
一級標題
關鍵源碼解析
由於填充者需要代替交換者提交gas,所以可以通過批量執行訂單的方式來減少一次交易帶來的手續費損耗。
_fill 函數中處理具體訂單的執行邏輯,這裡存在兩種情況,如果填充者使用自己個人持倉來完成用戶的兌換,則不需要使用回調合約,直接進行資金對換;否則需要在回調合約中來處理具體邏輯,例如到其他交易池中進行兌換等。
合約使用validate 函數來驗證填充者是否是訂單的指定填充者。
合約使用了permit 2 庫來完成簽名的校驗和代幣的轉賬,以此保證交換者的錢不會被隨意轉走。
SharkTeam 的願景是全面保護Web 3 世界的安全。團隊由來自世界各地的經驗豐富的安全專業人士和高級研究人員組成,精通區塊鍊和智能合約的底層理論,提供包括智能合約審計、鏈上分析、應急響應等服務。已與區塊鏈生態系統各個領域的關鍵參與者,如Polkadot、Moonbeam、polygon、OKC、Huobi Global、imToken、ChainIDE 等建立長期合作關係。
About Us
一級標題
SharkTeam 的願景是全面保護Web 3 世界的安全。團隊由來自世界各地的經驗豐富的安全專業人士和高級研究人員組成,精通區塊鍊和智能合約的底層理論,提供包括智能合約審計、鏈上分析、應急響應等服務。已與區塊鏈生態系統各個領域的關鍵參與者,如Polkadot、Moonbeam、polygon、OKC、Huobi Global、imToken、ChainIDE 等建立長期合作關係。