Files
openzeppelin-contracts/contracts/token/ERC20
Ross Campbell b084f42029 Update ERC20.sol (#1815)
Fix typo
2019-07-10 18:08:22 -03:00
..
2019-07-10 18:08:22 -03:00
2019-05-23 18:17:18 -03:00
2019-05-23 18:17:18 -03:00
2019-05-23 18:17:18 -03:00
2019-06-24 17:16:50 -03:00
2019-05-23 18:17:18 -03:00
2019-06-24 17:16:50 -03:00
2019-06-24 17:16:50 -03:00

sections
sections
title contracts
Core
IERC20
ERC20
ERC20Detailed
title contracts
Extensions
ERC20Mintable
ERC20Burnable
ERC20Pausable
ERC20Capped
title contracts
Utilities
SafeERC20
TokenTimelock

This set of interfaces, contracts, and utilities are all related to the ERC20 Token Standard.

For an overview of ERC20 tokens and a walkthrough on how to create a token contract read our ERC20 guide.

There a few core contracts that implement the behavior specified in the EIP:

  • IERC20: the interface all ERC20 implementations should conform to
  • ERC20: the base implementation of the ERC20 interface
  • ERC20Detailed: includes the name(), symbol() and decimals() optional standard extension to the base interface

Additionally there are multiple custom extensions, including:

  • designation of addresses that can create token supply (ERC20Mintable), with an optional maximum cap (ERC20Capped)
  • destruction of own tokens (ERC20Burnable)
  • designation of addresses that can pause token operations for all users (ERC20Pausable).

Finally, there are some utilities to interact with ERC20 contracts in various ways.

  • SafeERC20 is a wrapper around the interface that eliminates the need to handle boolean return values.
  • TokenTimelock can hold tokens for a beneficiary until a specified time.

This page is incomplete. We're working to improve it for the next release. Stay tuned!