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
Type
Description

name_

string

symbol_

string

name

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

Developer note: Returns the name of the token.

Returns:

Name
Type
Description

[0]

string

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:

Name
Type
Description

[0]

string

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:

Name
Type
Description

[0]

uint8

totalSupply

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

Developer note: See {IERC20-totalSupply}.

Returns:

Name
Type
Description

[0]

uint256

balanceOf

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

Developer note: See {IERC20-balanceOf}.

Name
Type
Description

account

address

Returns:

Name
Type
Description

[0]

uint256

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`.*

Name
Type
Description

recipient

address

amount

uint256

Returns:

Name
Type
Description

[0]

bool

allowance

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

Developer note: See {IERC20-allowance}.

Name
Type
Description

owner

address

spender

address

Returns:

Name
Type
Description

[0]

uint256

approve

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

*Developer note: See {IERC20-approve}.

Requirements:

  • `spender` cannot be the zero address.*

Name
Type
Description

spender

address

amount

uint256

Returns:

Name
Type
Description

[0]

bool

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`.*

Name
Type
Description

sender

address

recipient

address

amount

uint256

Returns:

Name
Type
Description

[0]

bool

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.*

Name
Type
Description

spender

address

addedValue

uint256

Returns:

Name
Type
Description

[0]

bool

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`.*

Name
Type
Description

spender

address

subtractedValue

uint256

Returns:

Name
Type
Description

[0]

bool