function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
_transfer(sender, recipient, amount);
_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
return true;
}转让在批准前进行。或者方法失败了,如果方法中的任何内容失败了,那么一切都会恢复吗?
发布于 2020-09-02 12:16:41
如果事务在事务中的任何一点被恢复,则整个事务将被恢复。在这种情况下,如果.sub(amount)大于允许值,则amount将恢复,因此在这种情况下,令牌转移也将被恢复。
https://ethereum.stackexchange.com/questions/87131
复制相似问题