Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions src/ERC20/ERC20/ERC20Facet.sol
Original file line number Diff line number Diff line change
Expand Up @@ -139,23 +139,26 @@ 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;
}

/**
* @notice Transfers tokens to another address.
* @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));
Expand All @@ -169,6 +172,7 @@ contract ERC20Facet {
s.balanceOf[_to] += _value;
}
emit Transfer(msg.sender, _to, _value);
return true;
}

/**
Expand All @@ -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));
Expand All @@ -200,6 +205,7 @@ contract ERC20Facet {
s.balanceOf[_to] += _value;
}
emit Transfer(_from, _to, _value);
return true;
}

/**
Expand Down