ethereum - 如何在代币合约中区分在 uniswap 上买卖 erc-20 代币
问题描述
如果有人为 eth 出售或购买我们的代币(例如,我的意思是 uniswap),有没有办法检查 erc-20 代币的 transfer() 方向是哪个?
解决方案
我做了一些分析,我遇到的唯一问题是 sell 和 addLiquidity 给出了相同的参数:
add liquidity
uniswapRouter ====>> 0x7a250d5630b4cf539739df2c5dacb4c659f2488d
uniswapPair ====>> 0x4f58b3a4c69f1ee8a9bf11cb5defadc89751c32a
msgSender ====>> 0x7a250d5630b4cf539739df2c5dacb4c659f2488d
sender ====>> 0xbde658ba6aaf6c9f7938820b69d47f099bc5ea23
recipient ====>> 0x4f58b3a4c69f1ee8a9bf11cb5defadc89751c32a
for adding liquidity
1. router is the msgSender
2. tx sender is the owner of the tokens
2. Pair is the recipient
Token Sell
uniswapRouter ====>> 0x7a250d5630b4cf539739df2c5dacb4c659f2488d
uniswapPair ====>> 0x4f58b3a4c69f1ee8a9bf11cb5defadc89751c32a
msgSender ====>> 0x7a250d5630b4cf539739df2c5dacb4c659f2488d
sender ====>> 0xbde658ba6aaf6c9f7938820b69d47f099bc5ea23
recipient ====>> 0x4f58b3a4c69f1ee8a9bf11cb5defadc89751c32a
For Token Sell
1. router is msgSender
2. sender is asset owner
3. recipient is uniswap pair
Buy Tokens
uniswapRouter ====>> 0x7a250d5630b4cf539739df2c5dacb4c659f2488d
uniswapPair ====>> 0x4f58b3a4c69f1ee8a9bf11cb5defadc89751c32a
msgSender ====>> 0x4f58b3a4c69f1ee8a9bf11cb5defadc89751c32a
sender ====>> 0x4f58b3a4c69f1ee8a9bf11cb5defadc89751c32a
recipient ====>> 0xbde658ba6aaf6c9f7938820b69d47f099bc5ea23
For Token Buy
1. pair is msgSender
2. transfer sender is the pair
3. recipient is the actual owner of final tokens
remove liquidity
uniswapRouter ====>> 0x7a250d5630b4cf539739df2c5dacb4c659f2488d
uniswapPair ====>> 0x4f58b3a4c69f1ee8a9bf11cb5defadc89751c32a
msgSender ====>> 0x7a250d5630b4cf539739df2c5dacb4c659f2488d
sender ====>> 0x7a250d5630b4cf539739df2c5dacb4c659f2488d
recipient ====>> 0xbde658ba6aaf6c9f7938820b69d47f099bc5ea23
For Remove liquidity
1. router is msgSender
2. sender is router
3. recipient asset owner
推荐阅读
- python - 获取错误将pdf提取到python中的文本
- mysql - Laravel - Mysql 从连接表中获取元素
- python - 在 pandas 数据框中找到最近的日期时间位置,从中减去 500 毫秒并将其存储在新的数据框中
- visual-studio-2010 - LNK2001 未解析的外部符号
- c# - 如果我有 .Net 4.8,是否需要安装 .Net 4.7
- javascript - AJAX:获取加载的 html 文档的元数据,如元描述
- postgresql - PG 还原设备上没有剩余空间,仅从还原失败的位置还原
- typo3 - 具有多个小部件链接的 RouteEnhancer
- reactjs - 为什么 nextjs 在我构建时会在第一次加载时加载所有页面
- angular - 在两个不同组件中具有相同行为的按钮