无法将ETH从交换智能合约转移到用户



当用户在交换中出售代币时,我试图发回以太币,但我遇到了错误:

我的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);

以上代码有效。

如果其他开发人员遇到类似的问题,我将把这个问题留给他们。

相关内容

  • 没有找到相关文章

最新更新