README.md 1.5 KB


sections:

  • title: Core contracts:
    • IERC20
    • ERC20
    • ERC20Detailed
  • title: Extensions contracts:
    • ERC20Mintable
    • ERC20Burnable
    • ERC20Pausable
    • ERC20Capped
  • title: Utilities contracts:
    • 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!