这篇文章介绍了如何在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万美元
本文介绍了如何使用 Sorbet Finance 在 Polygon 上的 Uniswap V3 上设置 Range Orders。Range Orders 允许用户以单边资产的形式提供流动性,并在达到用户指定的价格范围时,将一种资产兑换成另一种资产。通过 Gelato 机器人监控价格并自动执行订单,用户可以在等待订单成交的同时赚取费用。
本文介绍了 Cetra Finance 如何使用 Gelato Automate 自动管理 Uniswap V3 上的流动性。Cetra Finance 结合了 AMM、DEX 和借贷协议,通过 Gelato Automate 自动调整 UniV3 范围,进行价格和资金的调整,以及借贷,以实现对冲、避免清算和有效利用资本。
本文介绍了如何在Hardhat环境中为Uniswap V3添加新流动性池。通过代码示例,作者详细解释了使用恶意代币创建和初始化流动池的过程,并讨论了相关的技术参数和安全考虑事项。文章包括了必要的代码片段以及进一步的学习资源,对审计师和开发者在Uniswap V3生态系统中的操作提供了帮助。
本文介绍了 Uniswap V3 中 tick spacing 的概念及其与交易手续费、资产波动率之间的关系。Tick spacing 决定了流动性池中允许使用的最小价格间隔,影响交易 gas 成本和流动性提供者的流动性集中程度。文章还阐述了手续费档位与 tick spacing 之间的对应关系,以及 Uniswap 如何通过治理来调整这些参数。
本文探讨了在以太坊从PoW过渡到PoS后,Uniswap v3 TWAP预言机面临的潜在操纵风险。尽管双区块操纵成本仍然过高,但三区块及以上的攻击在理论上是可行的。文章分析了宽范围流动性和限价单等缓解策略,并提出了未来预言机设计的潜在创新,例如TWMP和截断的TWAP预言机,以提高抗操纵性。同时,文章还讨论了以太坊协议和市场结构方面的改进建议,以进一步增强预言机的安全性。