August 2019
Intermediate to advanced
486 pages
13h 52m
English
This function is called by the approver to decrease the approved allowed amount of the spender. This just decreases the number of previously approved tokens by subtracting _subtractedValue. This function can also be used to completely revoke the approvals. The function also triggers the Approval event to notify the updated approved balance:
function decreaseApproval( address _spender, uint256 _subtractedValue) public returns (bool){ uint256 oldValue = allowed[msg.sender][_spender]; if (_subtractedValue >= oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true;}