1.删除流动性时调用removeLiquidity ,报错error ‘ds-math-sub-underflow’

原因:调用removeLiquidity 方法之前需要对销毁的LP授权给路由合约

2.买卖代币时调用swapExactTokensForTokens 等方法,报错error ‘Pancake: K’

原因:代币有扣除交易手续费 买卖的时候用的是swapExactETHForTokensSupportingFeeOnTransferTokensswapExactTokensForETHSupportingFeeOnTransferTokens方法

3.买卖或添加流动性时,报错 TransferHelper: TRANSFER_FROM_FAILED

原因:代币没有进行授权,或者调用方法的签名者持有量不够支持交易

4.部署合约的时,报错Gas estimation failed ….

原因:通常是构造函数有错误,例如切换了不同的网络router的地址的变化,或者createPair的时候配对代币的地址的变化

5.UniswapV2Pair swap源码问题:一个池子中的代币数量_reserve0 和对应的余额balance0的关系

答:reserve0是保存的余额,balance0当前实际的余额。例如 在swap的时候, 转入了 token0 , 此时balance0>_reserve0, 对兑换结束时,会用balance0更新_reserve0,此时两值就是相等的。