ERC20

Functions

constructor

constructor(string name_, string symbol_) public public

*Developer note: Sets the values for {name} and {symbol}, initializes {decimals} with a default value of 18.

To select a different value for {decimals}, use {_setupDecimals}.

All three of these values are immutable: they can only be set once during construction.*

name

function name() public view virtual returns (string) view public

Developer note: Returns the name of the token.

Returns:

symbol

function symbol() public view virtual returns (string) view public

Developer note: Returns the symbol of the token, usually a shorter version of the name.

Returns:

decimals

function decimals() public view virtual returns (uint8) view public

*Developer note: Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`).

Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called.

NOTE: This information is only used for display purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.*

Returns:

totalSupply

function totalSupply() public view virtual returns (uint256) view public

Developer note: See {IERC20-totalSupply}.

Returns:

balanceOf

function balanceOf(address account) public view virtual returns (uint256) view public

Developer note: See {IERC20-balanceOf}.

Returns:

transfer

function transfer(address recipient, uint256 amount) public virtual returns (bool) public

*Developer note: See {IERC20-transfer}.

Requirements:

  • `recipient` cannot be the zero address.

  • the caller must have a balance of at least `amount`.*

Returns:

allowance

function allowance(address owner, address spender) public view virtual returns (uint256) view public

Developer note: See {IERC20-allowance}.

Returns:

approve

function approve(address spender, uint256 amount) public virtual returns (bool) public

*Developer note: See {IERC20-approve}.

Requirements:

  • `spender` cannot be the zero address.*

Returns:

transferFrom

function transferFrom(address sender, address recipient, uint256 amount) public virtual returns (bool) public

*Developer note: See {IERC20-transferFrom}.

Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}.

Requirements:

  • `sender` and `recipient` cannot be the zero address.

  • `sender` must have a balance of at least `amount`.

  • the caller must have allowance for ``sender``'s tokens of at least `amount`.*

Returns:

increaseAllowance

function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) public

*Developer note: Atomically increases the allowance granted to `spender` by the caller.

This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}.

Emits an {Approval} event indicating the updated allowance.

Requirements:

  • `spender` cannot be the zero address.*

Returns:

decreaseAllowance

function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) public

*Developer note: Atomically decreases the allowance granted to `spender` by the caller.

This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}.

Emits an {Approval} event indicating the updated allowance.

Requirements:

  • `spender` cannot be the zero address.

  • `spender` must have allowance for the caller of at least `subtractedValue`.*

Returns: