checks-effects-interactions pattern
Last updated
Last updated
function withdrawToken(uint256 amount) public {
require(userBalance[msg.sender] >= amount, "requested amount exceeds user balance");
require(iToken.transferFrom(address(this), msg.sender, amount), "failed on withdrawal");
userBalance[msg.sender] -= amount; function withdraw(uint amount) external {
balances[msg.sender] -= amount;
bool success = wmdToken.transfer(msg.sender, amount);
require(success, "Withdrawal failed!");
emit Withdrawal(msg.sender, amount);
}