SWAP:SharkTeam:UniswapX 源码分析

UniswapX 旨在通过将路由复杂性外包给第三方填充者的开放网络来解决,然后第三方填充者竞争使用 AMM 矿池或自己的私人库存等链上流动性来填充掉期。

借助 UniswapX,交换者将能够使用 Uniswap 界面,而不必担心自己是否获得最佳价格,并且交易将始终在链上透明地记录和结算。所有订单均由 Uniswap 智能订单路由器支持,这迫使填充者与 Uniswap v1、v2、v3 以及一旦启动后的 v4 竞争。

通过聚合流动性来源获得更好的价格

无 gas 交换

防止 MEV(最大可提取值)

交易失败无需支付任何费用

在接下来的几个月中,UniswapX 将扩展到无 Gas 跨链交换。

首先,假设 Alice(交换者)想要将 1 ETH 交换为 USDC。Alice 向(潜在的填充者)Bob、Charlie 和 Danielle 请求报价:

CoinShares:上周数字资产投资产品净流出510万美元:6月19日消息,据CoinShares报告显示,上周数字资产投资产品净流出510万美元,为连续第9周出现净流出,流出总额到达了4.23亿美元。其中,比特币投资产品净流出50万美元,以太坊投资产品流出500万美元。区块链概念股票出现了自FTX倒闭以来最大的资金流出,总计1230万美元。[2023/6/19 21:47:15]

Bob 提出以 1,000 USDC 购买 Alice 的 ETH

Charlie 现有 999 USDC

Danielle 现有 998 USDC

Alice 还可以直接通过 Uniswap v3 将她的 1 ETH 兑换成 997 USDC

Alice 接受 Bob 的 1,000 USDC 报价,并签署订单。

该订单包括最大值(由 Bob 的报价 1,000 USDC 设置)和最小值 997 USDC(由 Uniswap 智能订单路由器 API 设置)。

SHAB(Sharpei沙皮狗)已上线BSC生态链:据官方消息,SHAB(Sharpei沙皮狗)已上线BSC生态链。SHAB是由DOGE与SHIB社区爱好者创立的新型MEME通证,总发行量为1000000000000000,无预售,无团队预留,100%去中心化,将一切权利交予社区行使。目前,SHAB可在PancakeSwap中进行交易。[2021/6/11 23:31:07]

Bob 可以使用他自己的 USDC 或将 Alice 的 1 个 ETH 路由到各种链上流动性场所(Uniswap 协议、Sushiswap 等)来填写 Alice 的订单。

Bob 决定使用自己的 USDC 来满足 Alice 的订单,并向 Alice 发送 1,000 USDC 以换取她的 1 ETH。

如果 Bob 决定放弃他的提议,Alice 不需要提交新的订单和签名。

相反,她现有的订单会自动更新,向任何能给她 999 USDC 作为回报的人提供 1 ETH。

声音 | CoinShares CSO:CFTC允许比特币期货发展 仅是为了降低价格:据AMBCrypto报道,CoinShares首席战略官Meltem Demirors最近接受采访时,将当前加密货币的监管情况与90年代的原始加密战争进行了比较。他表示,监管机构选择执行法律的方式存在很多矛盾,这不是积极的情况。她还谈到了CFTC前董事长J.Christopher Giancarlo的发言,他说CFTC允许比特币期货在2017年发展只是因为想降低比特币的价格。“这是监管者挑选赢家或输家的例子。那不是监管者的角色。”[2019/11/21]

一个区块已经过去,现在 Charlie 和 Danielle(以及参与 UniswapX 系统的任何其他填充者)都不愿意以 999 USDC 的价格填写 Alice 的订单。另一个以太坊区块(12 秒)到期后,Alice 的 1 ETH 可兑换 998 USDC。

突然,Danielle 意识到,通过将 Alice 的交易发送到 Uniswap v3 和 Sushiswap 的组合,她可以以 998 USDC 的价格填写 Alice 的 1 ETH 卖单,同时仍然为自己赚取 1 USDC 的利润。

动态 | ShapeShif加密管理一站式服务平台推出私人测试版:据coindesk报道,ShapeShif非监管加密管理一站式服务平台推出私人测试版,新平台可以让用户完全控制自己的私钥。ShapeShift创始人兼首席执行官Erik Voorhees表示,新平台提供了像Coinbase这样的公司提供的许多服务,但在ShapeShift上,它以更加安全和自主的方式完成。[2019/7/8]

Danielle 代表 Alice 将 Alice 的 1 ETH 发送到 Uniswap v3 和 Sushiswap,将 998 USDC 返还给 Alice,并为自己保留剩余的 1 USDC 输出。

UniswapX 是一个去中心化交易协议,利用 Permit2 代币授权合约引入了基于签名的授权和转账功能,适用于任何 ERC20 代币。此外,UniswapX 还使用 Reactor 合约进行链上结算。Reactor 合约负责验证交易是否符合用户指定的参数,并可以撤销不符合条件的交易。要参与 UniswapX 的交易,兑换者首先必须授权 Permit2 合约。

动态 | Shapeshift宣布关闭Prism投资组合服务:据cryptovest消息,Shapeshift宣布关闭Prism投资组合服务。Prism网站表示该服务将开放到10月10日,在此之前,用户需要提取余额并关闭账户。[2018/9/13]

兑换者无需手动创建和提交交易,而是对交易订单签名,指定以下参数:

输入代币(支付代币)

输出代币(获取代币)

输入(输出)数量

初始输出(输入)金额

最低输出(输入)数量

衰减函数

兑换期限

授权 UniswapX Reactor 合约代表其使用代币

这些订单由 MEV 搜索者、做市商和 / 或其他链上代理(统称为填单者)接收,并将其发送到 Reactor 合约。通过在链上提交兑换者的订单,填单者代表兑换者支付 Gas 费用。这些费用会反映在执行价格中,以补偿 Gas 成本。

Reactor 合约调用填单者的 Executor 合约,其中包含特定的订单执行逻辑。一旦确定资产来源,Executor 合约将资产发送到兑换者的地址,并从兑换者地址提取资金。最后,Reactor 合约验证订单是否满足条件。

UniswapX 没有规定填单者如何填充兑换者的订单。流动性可以来自 Uniswap 或其他去中心化交易所的链上流动性池、链下流动性源或其他 UniswapX 订单。多个订单可以捆绑到同一笔交易中,并且其他操作可以在链上原子执行。

由于填充者需要代替交换者提交 gas,所以可以通过批量执行订单的方式来减少一次交易带来的手续费损耗。

_fill 函数中处理具体订单的执行逻辑,这里存在两种情况,如果填充者使用自己个人持仓来完成用户的兑换,则不需要使用回调合约,直接进行资金对换;否则需要在回调合约中来处理具体逻辑,例如到其他交易池中进行兑换等。

合约使用 validate 函数来验证填充者是否是订单的指定填充者。

合约使用了 permit2 库来完成签名的校验和代币的转账,以此保证交换者的钱不会被随意转走。

若填充者选择使用个人持仓完成订单,则会直接将代币从填充者地址转移到交换者地址。

在回调合约的回调函数执行完成后,调用 check 函数校验用户是否收到了足够的代币,若不满足足够的代币,则交易整个回退。

总结,合约中涉及到的只有关于链上的逻辑,由于用户并不需要支付 gas 费来完成这一笔交易,所以前期的多数操作选择在链下进行,包括用户的交换请求发送和对交易进行签名等。uniswapX 选择在链下将用户的交换请求发送给填充者,而一旦填充者接受了填充请求,则由填充者将交易发送到链上,并从中赚取差值作为利润。

Foresight News

金色财经 Jason.

白话区块链

金色早8点

LD Capital

-R3PO

MarsBit

深潮TechFlow

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:0ms0-1:209ms