diff --git a/src/ERC20/ERC20/ERC20Facet.sol b/src/ERC20/ERC20/ERC20Facet.sol index 366eea28..d6dfaca7 100644 --- a/src/ERC20/ERC20/ERC20Facet.sol +++ b/src/ERC20/ERC20/ERC20Facet.sol @@ -139,14 +139,16 @@ contract ERC20Facet { * @dev Emits an {Approval} event. * @param _spender The address approved to spend tokens. * @param _value The number of tokens to approve. + * @return True if the approval was successful. */ - function approve(address _spender, uint256 _value) external { + function approve(address _spender, uint256 _value) external returns (bool) { ERC20Storage storage s = getStorage(); if (_spender == address(0)) { revert ERC20InvalidSpender(address(0)); } s.allowances[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); + return true; } /** @@ -154,8 +156,9 @@ contract ERC20Facet { * @dev Emits a {Transfer} event. * @param _to The address to receive the tokens. * @param _value The amount of tokens to transfer. + * @return True if the transfer was successful. */ - function transfer(address _to, uint256 _value) external { + function transfer(address _to, uint256 _value) external returns (bool) { ERC20Storage storage s = getStorage(); if (_to == address(0)) { revert ERC20InvalidReceiver(address(0)); @@ -169,6 +172,7 @@ contract ERC20Facet { s.balanceOf[_to] += _value; } emit Transfer(msg.sender, _to, _value); + return true; } /** @@ -177,8 +181,9 @@ contract ERC20Facet { * @param _from The address to transfer tokens from. * @param _to The address to transfer tokens to. * @param _value The amount of tokens to transfer. + * @return True if the transfer was successful. */ - function transferFrom(address _from, address _to, uint256 _value) external { + function transferFrom(address _from, address _to, uint256 _value) external returns (bool) { ERC20Storage storage s = getStorage(); if (_from == address(0)) { revert ERC20InvalidSender(address(0)); @@ -200,6 +205,7 @@ contract ERC20Facet { s.balanceOf[_to] += _value; } emit Transfer(_from, _to, _value); + return true; } /**