Solidity 0.8.0 中的 ParserError

ParserError in Solidity 0.8.0

大家好!

我正在尝试创建一个 Dapp 合同,它在 0.4.2 中完美运行,但给我错误

最新的 Sol 编译器版本。

    pragma solidity >=0.7.0 <0.8.0;
    function endSale() public {
        require(msg.sender == admin);
        require(tokenContract.transfer(admin, tokenContract.balanceOf(address(this)) ));
        admin.transfer( address payable(this).balance)
    }
}

错误

Payable 应该是收件人,而不是发件人地址。另外,您的语法有点不正确。

假设 admin 另存为 address(非应付)

payable(admin).transfer(address(this).balance);

如果 admin 已经是 address payable,只调用这个

就足够了
admin.transfer(address(this).balance);