补充:如何在ERC20代币里区分买与卖
视频 AI 总结: 视频补充了在ERC20代币中区分买卖的机制。由于ERC20只有转账方法,业务逻辑需通过判断转账的from或to是否为Uniswap池地址来识别买卖:from=池视为买,to=池视为卖。但该方法无法区分添加/移除流动性,需进一步读取池子的储备量变化(V2)或利用V3的Position Manager地址判断。核心在于转账方法内添加额外检查逻辑以区分不同操作。 关键信息: 1. ERC20转账无买卖概念,需利用from/to地址是否为Uniswap池进行初步判断(from=池为买,to=池为卖)。 2. 简单地址判断无法区分添加/移除流动性,需读取池子储备量(reserve)变化:两者皆增为添加流动性,一增一减为兑换。 3. Uniswap V2中需确保代币为第二个转入的Token(Token1),才能在添加流动性时读取另一Token余额变化。 4. Uniswap V3可通过Position Manager合约地址区分:添加流动性时from为Position Manager,移除时to为Position Manager。 5. 实际项目如SafeMoon利用此机制实现代币扣费或燃烧。