我正在尝试在 Solidity 中实现一个功能,在流动性中销毁代币。例如,我将 10k 代币添加到 pancakeswap,在一些销售后,我有 15k 代币流动性,我想烧掉 5K,所以我决定实施一个计数器来跟踪已售代币的数量并用这个代码段烧掉它们。
function burnLiquidity() public onlyOwner returns (bool){
_burn(_exchangeAddress, _toBurn);
_toBurn = 0;
}
function _burn(address account, uint amount) private {
require(account != address(0), "BEP20: burn from the zero address");
_totalSupply = _totalSupply .sub(amount);
_rOwned[account] = _rOwned[account].sub(amount);
emit Transfer(account, address(0), amount);
}
烧录通过,但之后就无法购买新代币,因为煎饼返回 K 错误。