Uniswap V4是如何实现限价单交易的?

昨日,Uniswap 发布了未来即将推出的 Uniswap V4 版本代码草稿,相比 V3 出现了很多创新点。其中,最引人瞩目的一点就是 V4 版本出现了限价单交易。大家对于 Uniswap V4 如何实现限价单交易比较好奇,接下来为大家深入分析一下 Uni V4 版本如何实现限价单交易。

相关阅读:《关于 Uniswap V4,你需要知道的一切》

关于 Hooks

根据 Uniswap 官方白皮书,限价单交易隶属于其新功能的 Hooks 之下,所以是依靠 Hooks 机制来实现链上限价单交易。

Hooks 是 Uniswap V4 的核心机制,指的是在资金池生命周期的某个特定时刻运行的代码片段。与之前的 Uniswap 版本相比,新版本资金池的可定制程度更高,因此无论是创建池子,还是 LP(流动性提供者)添加/移除流动性,抑或是在 swap 之前/后,挂钩起到的作用都非常重要。

在 DeFi 中,Hooks 是一种编程概念,指的是一组用于在智能合约执行特定操作时自动触发的函数或代码片段,可用于在特定事件发生前、后或期间执行自定义逻辑。Hooks 为开发者提供了一种在智能合约的不同阶段执行自定义逻辑的方式。通过使用挂钩,开发人员可以实现更灵活、可定制和可扩展的 DeFi 应用程序。

例如,挂钩可以用来创建具有根据市场条件变动的动态交换费用的资金池,而不是预先设置和静态的交换费用。同时,挂钩还使交易者能够下更复杂的订单,例如限价订单或 TWAP(时间加权平均价格)订单,这些订单会在一定时间内买入/卖出一定数量的 Token。

不仅如此,挂钩还允许以不同的方式使用 Uniswap 的流动性。这类似于 Balancer 的 Boosted Pools,超出范围的流动性可以存入其他协议,例如借贷者,以获得额外的收益。

V4 限价单机制

通过分析 Uniswap V4 的限价单 LimitOrder.sol 的示例合约代码,得出的限价单运行流程大概如下:

Uniswap V4是如何实现限价单交易的?

1. 导入库和合约:引入了相关的库,如 SafeERC20 和 IERC20,以及用于与 Uniswap V4 交互的合约,如 IUniswapV4Router02。

2. 定义变量:

– tokenIn:交易中的输入的 token;

– tokenOut:交易中的输出的 token;

– totalAmountIn:交易中输入的 token 总量;

– minAmountOut:交易中用户预期的最小输出 token 量。

3. 定义限价单:

– OrderExecuted:当限价订单成功执行时触发的 token 价格。

4. 构造函数:在部署此合约时,需要提供以下参数:

– _router:Uniswap V4 的路由合约地址;

– _tokenIn:输入 token 的合约地址;

– _tokenOut:输出 token 的合约地址;

– _totalAmountIn:输入 token 的总量;

– _minAmountOut:期望的最小输出 token 量;

– _deadline:限价订单的截止时间。

5. executeOrder 函数:该函数用于执行限价订单

首先,它确保当前区块的时间戳小于截止时间,然后计算交易的实际输出金额。接下来,它会检查实际输出金额是否大于或等于最小输出金额。如果满足条件,它将使用 SafeERC20 库安全地将输入 token 从用户地址转移到合约地址,然后执行交易。最后,它会将输出 token 发送回用户,并触发 OrderExecuted 事件。

6. onUniswapV4Swap 函数:这个函数是一个回调函数,当交易被 Uniswap V4 路由合约执行时会被调用。该函数将检查交易的输入和输出金额是否符合预期,并返回适当的布尔值。

Bitbili 注:布尔值是 Python 中一种取值仅能为真或假的数据类型,它赋予了编程语言在逻辑上表达真或假的能力。如果没有这种能力,很多功能将无法被实现。 

7. recoverToken 函数:这个函数允许合约的拥有者在特殊情况下从合约中取回 token。例如,当由于某种原因订单未被执行,用户可以通过这个函数来找回他们锁定在合约中的 token。

有了 Hooks,限价单的运行机制就很明显了:

-在 Hooks 合约上下订单;

-Hooks 合约将你的订单添加到其 V4 交易上;

-根据自定义或托管预言机,当价格到限价单价格时,会触发 Hooks 自动执行 Swap 操作,并调整流动性;

-Hooks 自动 remove order

-订单取消或完成。

文章来源于互联网:Uniswap V4是如何实现限价单交易的?

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策井自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场

上一篇 2023年6月14日 下午2:24
下一篇 2023年6月14日 下午4:55

相关推荐

  • 1kx 创始合伙人:1kx 自去年第三季度以来一直在“疯狂”投资

    ChainCatcher 消息,加密风投机构 1kx 创始合伙人 Lasse Clausen 称,在 2021 年和 2022 年初的牛市狂热期间处于观望状态后,1kx 自去年第三季度以来一直以“疯狂”的速度进行投资。 Clausen 表示,我们真的很喜欢熊市,我们知道现在是非常好的投资时机。1kx 的策略是持有其加密货币投资至少三年,鉴于该行业的快速发展,…

    2023年2月23日
  • 水滴资本大山:区块链世界的开局是比特币,终局是比特币生态

    《水滴资本大山:区块链世界的开局是比特币,终局是比特币生态》 来源:白露会客厅 12 月 20 日,香港 Web3.0 创业者峰会如期在数码港举行,白露会客厅作为媒体支持方出席。 期间,水滴资本创始人大山就「区块链世界的开局和终局」这一主题,在比特币生态发展情况、矿工的第二增长曲线、比特币重要升级、区块链技术演进路线、以太坊和 RWA、闪电网络、Nostor…

    2023年12月26日
  • SERAPH:领军「第二代链游」的暗黑大作

    距离 Wolf Game 的爆火已经过去了 2 年的时间。如今,链游项目的背景越来越扎实,规划越来越明晰,在经过 2 年的积淀后,越来越多的链游项目开始拿出内容丰富、可玩性高的优秀游戏呈现到 Web3 玩家们面前。如果我们把 Wolf Game 这样玩法单一、更适合用「DeFi 的语法糖」来定义的老链游项目称为「第一代链游」,那么现在玩法丰富、逐渐媲美「传统…

    2023年12月19日
  • 刚闭幕的ETHDenver都聚焦了哪些核心叙事?一文了解前沿趋势

    《ETHDenver 聚焦哪些核心叙事?不容错过的关键焦点》 作者、整理:Karen,Foresight News 一年一度的 ETHDenver 大会是以太坊生态的一场盛会,ETHDenver 2024 于 2 月 23 日至 3 月 3 日在美国丹佛举行,吸引了数万名 Web3 爱好者和开发者参加。 ETHDenver 闭幕之际,ETHDenver 公布…

    2024年3月6日
  • Web3日报|美法院做出XRP不是证券的裁决;Multichain官方被警方确认创始人被带走

    精选要闻: 1. 推特启动创作者广告收入共享计划,着力扩大创作者变现服务; 2.Celsius:重组不受与美 FTC 47 亿美元和解协议影响; 3. 美联储「鹰王」布拉德将于 8 月 14 日辞职; 4.Fox News 记者:SEC 回应 Ripple 诉讼案判决,对法院的部分裁决满意,但仍将审核最终决定; 5.BAYC#1734 今晨以 600 ETH…

    2023年7月14日
返回顶部