ens-usernames/contracts/token/ERC20Token.sol
Ricardo Guilherme Schmidt 3d37a0a1c9
Update to use embark 6.0.0 (#99)
* trim trailing spaces

* update to embark 4.0.2

* bump to solc 0.5.4

* use .selector

* use solidity function selector

* update to embark 6.0.0

* use mocks instead of "instanceOf" tool+tests fix

* update to solidity 0.5.11

* update to solidity 0.5.11

* add spdx license identifiers

* update ENS contracts

* natspec fix return values
2020-07-24 19:16:01 -03:00

56 lines
2.2 KiB
Solidity

// SPDX-License-Identifier: CC0-1.0
pragma solidity 0.5.11;
// Abstract contract for the full ERC 20 Token standard
// https://github.com/ethereum/EIPs/issues/20
interface ERC20Token {
/**
* @notice send `_value` token to `_to` from `msg.sender`
* @param _to The address of the recipient
* @param _value The amount of token to be transferred
* @return success Whether the transfer was successful or not
*/
function transfer(address _to, uint256 _value) external returns (bool success);
/**
* @notice `msg.sender` approves `_spender` to spend `_value` tokens
* @param _spender The address of the account able to transfer the tokens
* @param _value The amount of tokens to be approved for transfer
* @return success Whether the approval was successful or not
*/
function approve(address _spender, uint256 _value) external returns (bool success);
/**
* @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`
* @param _from The address of the sender
* @param _to The address of the recipient
* @param _value The amount of token to be transferred
* @return success Whether the transfer was successful or not
*/
function transferFrom(address _from, address _to, uint256 _value) external returns (bool success);
/**
* @param _owner The address from which the balance will be retrieved
* @return balance The balance
*/
function balanceOf(address _owner) external view returns (uint256 balance);
/**
* @param _owner The address of the account owning tokens
* @param _spender The address of the account able to transfer the tokens
* @return remaining Amount of remaining tokens allowed to spent
*/
function allowance(address _owner, address _spender) external view returns (uint256 remaining);
/**
* @notice return total supply of tokens
* @return supply Total supply of the token.
*/
function totalSupply() external view returns (uint256 supply);
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}