当用户在交换中出售代币时,我试图发回以太币,但我遇到了错误:
我的solidity pragma:pragma solidity>0.4.22<0.9.0
project:/contracts/ANQSwap.sol:33:9: ParserError: Expected primary expression.
payable(address(msg.sender)).transfer(etherToSendBack);
这是我的功能代码:
function sellTokens(uint256 _value) public {
require(anteqToken.balanceOf(msg.sender) >= _value, "You doesn't have enought AnteqToken.");
uint256 etherToSendBack = _value/rate;
require(address(this).balance >= etherToSendBack, "AnteqToken Swap doesn't have enought Ether to buy yours token.");
anteqToken.transferFrom(msg.sender, address(this), _value);
payable(msg.sender).transfer(etherToSendBack);
}
我也尝试
payable(address(msg.sender)).transfer(etherToSendBack);
修复错误
我在所有.sol文件中添加了一个杂注版本
pragma solidity^0.8.0
payable(msg.sender).transfer(etherToSendBack);
以上代码有效。
如果其他开发人员遇到类似的问题,我将把这个问题留给他们。