最新 最热

剖析DeFi交易产品之UniswapV4:Swap

Swap 可分为两种场景:单池交易和跨池交易。在 PoolManager 合约里,要完成交易流程,会涉及到 lock()、swap()、settle()、take() 四个函数。单池交易时只需要调一次 swap() 函数,而跨池交易时则需要多次调用 swap() 函数来...

2023-12-11
2

剖析DeFi交易产品之UniswapV4:添加/移除流动性

前一篇文章我们已经知道了创建新池子的流程,那接下来就要添加流动性了。而其实,在 PoolManager 合约里,添加和移除流动性都是在同一个函数里统一处理的。当然,要完成添加或移除流动性的全流程,会涉及到多个函数。接下来我...

2023-11-30
1

剖析DeFi交易产品之UniswapV4:创建池子

创建池子的底层函数是 PoolManager 合约的 initialize 函数,其代码实现并不复杂,如下所示:

2023-11-27
1

剖析DeFi交易产品之UniswapV4:合约结构篇

UniswapV4 的合约项目,还是和之前的版本一样,分为了 v4-core 和 v4-periphery 两个 repo。另外,之前的版本,合约项目框架是用 Hardhat 搭建的,而这回,你会发现改用 Foundry 了。Foundry 正在慢慢变成开发新合约项目的主流框...

2023-11-27
1

剖析DeFi交易产品之UniswapV4:概述篇

UniswapV4 与 UniswapV3 相比,算法上并没有什么改变,依然还是采用集中流动性模型,但架构上变化很大,包括功能架构,也包括技术架构。相比之前的版本,UniswapV4 最大的创新主要包括四点:...

2023-11-23
1

剖析DeFi交易产品之UniswapV3:交易路由合约

SwapRouter 合约封装了面向用户的交易接口,但不再像 UniswapV2Router 一样根据不同交易场景拆分为了那么多函数,UniswapV3 的 SwapRouter 核心就只有 4 个交易函数:...

2023-11-13
1

剖析DeFi交易产品之UniswapV3:头寸管理合约

实现用户层面的流动性头寸管理的合约是 NonfungiblePositionManager 合约,其实现比较复杂,还继承了很多子合约,限于篇幅,我们无法全都一一讲解,就只能挑一些重点的来讲。...

2023-11-08
1

剖析DeFi交易产品之UniswapV3:Pool合约

UniswapV3Pool 合约则复杂很多了,其引用的库合约就达到了 13 个,通过 using 方式使用的也达到了 9 个,如下所示:

2023-11-07
1

剖析DeFi交易产品之UniswapV3:工厂合约

UniswapV3Factory 合约主要用来创建不同代币对的流动性池子合约,其代码实现并不复杂,以下就是代码实现:

2023-11-07
1

剖析DeFi交易产品之UniswapV3:概述篇

UniswapV3 于 2021 年 5 月上线,相比 UniswapV2,改动很大,也变得复杂很多,最主要的有以下这几点改动:

2023-11-07
1