ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

记一次通缩代币在uniswap v2的套利

2021-12-01 18:03:47  阅读:380  来源: 互联网

标签:XSquid 调用 代币 v2 uniswap 例外 pair skim


首先通过给到的交易进行分析

0x8e5b2e425f1dbed4289d7aa47a9e7ba01d0b779c0078ed6cafba803b2acf1429

 

 交易看到确实是通过Mdex的pair合约转出WHT代币的,我们知道Mdexpair合约的代码

和uniswap的pair代码基本一致,那么要想转出代币的话,可以调用skim函数进行转出。

这里涉及到uniswap的一个功能,它允许用户调用它转出多余的代币。这里多余的代币

指的是pair合约中未添加到流动性的代币。但是这里的套利合约并没有调用skim函数领取,

它是先查询两种代币的余额,然后再调用getReserves获取两种代币添加流动性的数量,

最后多余的XSquid代币换成WHT。

结合分析,确定了Mdex是没有问题的。带着疑问(为什么会多出XSquid代币),我们往下分析。

通过pair,找到了和WHT代币组成LP代币的XSquid代币。简单看了一下代码,发现该合约是仿造

safemoon编写的,但是写的有问题,代码中删除了添加奖励例外的。这里简单说一下safemoon

中的两种例外,如果添加了手续费例外,那么每次交易将不收取手续费。另一种例外是奖励例外,

如果添加奖励例外的话,持有safemoon类型代币将不收取奖励分红。那么多出来的XSquid代币

就是pair地址的分红。

看另外一笔交易就更加直观,这个是另外一个套利合约的交易:

 

 

从上图,我们可以看到是调用skim函数领取的代币,这里因为pair地址没有加奖励例外,所以

当有交易的时候,pair地址将收取分红。任何人都可以调用skim函数领取pair的分红。

 

 参考safemoon的设置。

避免这种情况的话可以把pair地址加上奖励例外。

 

标签:XSquid,调用,代币,v2,uniswap,例外,pair,skim
来源: https://www.cnblogs.com/Defthacker/p/15630075.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有