这篇文章介绍了如何在Uniswap V3上执行代币交换的步骤,重点在于通过Ethers.js与Uniswap的智能合约进行交互,提供了从设置节点到执行交换的详细指导,包括代码示例和图示,适合开发者快速上手,并了解Uniswap V3架构的核心概念。
SwapRouter合约封装了面向用户的交易接口,但不再像UniswapV2Router一样根据不同交易场景拆分为了那么多函数,UniswapV3的SwapRouter核心就只有4个交易函数
本文介绍了Solidity中的nodelegatecall修饰符,用于防止合约使用delegatecall来调用函数,并通过代码示例详细展示了其实现和测试方法,同时讨论了Uniswap V3使用该技术的动机。
nodelegatecall
delegatecall
关于白皮书的解读,已有很多非常棒的文章,但白皮书中的公式和相关概念还是很艰深难懂的,这里我想尝试用比较通俗易懂的方式谈谈对白皮书的理解,希望对大家有帮助。
uniswap V3的核心是在一定区间提供流动性。相对V2,代码复杂度增加不少。整个代码主要分为两部分:核心逻辑和辅助功能。核心逻辑又分为两部分:交易池以及Position的管理和Swap功能逻辑。交易池中的每个Position设计并实现成ERC721的Token。Swap核心逻辑在Tick以及Position的管理的基础上实现。
本文将带领读者从零实现UniswapV3的所有功能。
本文解释了Uniswap V3协议中如何将sqrtPriceX96转换为tick,以及如何从tick转换回sqrtPriceX96,讨论了相关的数学公式和代码实现,以及如何在Python中进行计算,最后通过练习,帮助读者理解如何在实际的Uniswap V3池中进行这些转换。
如何获取 Uniswap 池中的实时数据或历史数据集,包括池地址、总锁定价值(TVL)、代币符号和每日交易次数等信息?
本文介绍了如何使用Streams和Filters构建端到端的区块链数据管道,包括如何创建Stream、过滤数据并将其发送到Webhook目的地,并通过Python脚本将Uniswap V3的交换数据聚合到一个JSON文件中。
Uniswap V3流动性管理协议Visor Finance遭受攻击,总损失约为820万美元
本文介绍了如何在Hardhat环境中为Uniswap V3添加新流动性池。通过代码示例,作者详细解释了使用恶意代币创建和初始化流动池的过程,并讨论了相关的技术参数和安全考虑事项。文章包括了必要的代码片段以及进一步的学习资源,对审计师和开发者在Uniswap V3生态系统中的操作提供了帮助。
本文介绍了 Uniswap V3 中 tick spacing 的概念及其与交易手续费、资产波动率之间的关系。Tick spacing 决定了流动性池中允许使用的最小价格间隔,影响交易 gas 成本和流动性提供者的流动性集中程度。文章还阐述了手续费档位与 tick spacing 之间的对应关系,以及 Uniswap 如何通过治理来调整这些参数。
本文探讨了在以太坊从PoW过渡到PoS后,Uniswap v3 TWAP预言机面临的潜在操纵风险。尽管双区块操纵成本仍然过高,但三区块及以上的攻击在理论上是可行的。文章分析了宽范围流动性和限价单等缓解策略,并提出了未来预言机设计的潜在创新,例如TWMP和截断的TWAP预言机,以提高抗操纵性。同时,文章还讨论了以太坊协议和市场结构方面的改进建议,以进一步增强预言机的安全性。
本文介绍了平方乘算法,它是一种在O(log n)时间内计算整数幂的算法,相比于朴素算法的O(n)时间复杂度更高效。文章解释了该算法的原理,包括平方指数序列和如何利用指数的二进制表示来选择正确的平方指数序列元素。此外,还探讨了如何将该算法应用于具有分数指数和固定点数的场景,并提供了Python和Solidity的实现示例,最后提到了Uniswap V3中使用平方乘算法的例子。
如何解析uniswap v3下的muticall的data数据