0%

Crypto-pancakeSwap收税地址的简单分析

Pre:

朋友发了个tx给我,发现自己在pancakeSwap添加流动性时,没有获得全部的lptoken,一部分lptoken发送到了0x0ed943ce24baebf257488771759f9bf482c39706这个地址里,觉得很奇怪。。叫我看一下原因。

20220711004342

分析过程:

Erc20合约:

一开始猜测有可能这个地址是erc20合约本身的收税地址,先看看该合约有无tax fee

用这个cryptogems网站查很方便,确实有tax fee

20220711010514

但去合约代码里查,0x0ed943ce24baebf257488771759f9bf482c39706这个地址不是erc20合约里的预留地址/收税地址,那就不是代币合约的问题。。。

Google:

google搜索了一下0x0ed943ce24baebf257488771759f9bf482c39706这个地址,发现也有部分人有遇到同样的问题,他们也没有讨论出个所以然来。

20220711004630

一度怀疑,他们是用同一个erc20合约自动生成工具,去发布token,被开发者预留了收税地址,强行收税。。。

Bscscan:

先去bscscan查查这个地址,20220711005307
该地址0x0ed943ce24baebf257488771759f9bf482c39706是个代理合约,他的执行合约是
0xc06e6ed003763d173b5b9f35960ad359d0339c96

继续查一下
20220711005421

执行合约名称为PCSFeeHandler,可能跟pancake有关系,还是没看出个所以然来。。。

tenderly

tenderly Debug一下,
20220711010150

先关注几个transfer相关的函数,也没看到0x0ed943ce24baebf257488771759f9bf482c39706的踪影。

然后在debugger里的参数里有看到这个地址出现。
20220711011212

向上找,是在mint铸造lptoken的流程里,会交税给这个地址。
20220711011324

mint函数流程:

接着就去看一下PancakePair代码里的mint函数

20220711011758

  1. feeOn开关由_mintFee函数控制

  2. 查询工厂函数的feeTo地址

20220711012157

  1. feeTo地址不为0地址,则feeOn收税开关为开启

所以就是,添加流动性的时候,由于pancakeswap开启了收税开关,mint出来的部分lptoken打到了官方的收税地址里了。

验证:

随便找两个和router合约交互,调用了addLiquidity函数的tx看看,都是同样有被官方收税。

20220711012554

20220711012643

确实是被官方收税了,Done!

小结:

  1. 之前应该是没开启收税,现在开启了

  2. 做平台真赚钱,先免费做大,流量多了,后面再一键开启收税

  3. 去中心的代码,中心化的规则指定😆😆😆 Fun~

2022.7.11更新

之前的添加流动性也是有交税的,应该tax fee比较低,无感知。所以tax开关是一直开启的,并不是最近才开启的。

bitquery数据分析:

看看收税地址的入账情况:

20220711182547

能发现到一些有趣的信息,交税次数最多的token: DRIP Token (DRIP),还以为是bnb这类主流token呢。。

一些信息:

20220711222207

有一定热度,代币机制有10%的税,会自动添加流动性,所以才会频繁mint LpToken,频繁交税。

Refs: