今天在群里看到群友提问,没有解答出来,很尴尬,希望大佬能伸出援手,原问题如下?
有一个转账函数自相矛盾
你看图片,第一个if的条件是:to == address(uniswapV2Pair)) 就表示这个接受地址必须是池子,就只能是卖币和加池子操作。或者说接收地址只能是address(uniswapV2Pair))。
然后假如满足第一个if条件,到第二个if条件就存在自相矛盾。
第二个if判断条件:!ammPairs[to]
这个to地址在第一个if里只能是uniswapV2Pair地址,但是前面在状态变量里已经规定这个映射:ammPairs[address(uniswapV2Pair)] = true;
即ammPairs[to]是ture,再!,最后的bool值就是false。
那就不满足第二个if条件了
为什么代码部署到链上,能正常运行,这两个if不是存在自相矛盾吗?
求大佬指教!感激万分!