README.adoc 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. = ERC 20
  2. This set of interfaces, contracts, and utilities are all related to the https://eips.ethereum.org/EIPS/eip-20[ERC20 Token Standard].
  3. TIP: For an overview of ERC20 tokens and a walkthrough on how to create a token contract read our xref:ROOT:tokens.adoc#ERC20[ERC20 guide].
  4. There a few core contracts that implement the behavior specified in the EIP:
  5. * {IERC20}: the interface all ERC20 implementations should conform to
  6. * {ERC20}: the base implementation of the ERC20 interface
  7. * {ERC20Detailed}: includes the <<ERC20Detailed-name,`name`>>,
  8. <<ERC20Detailed-symbol,`symbol`>> and <<ERC20Detailed-decimals,`decimals`>>
  9. optional standard extension to the base interface
  10. Additionally there are multiple custom extensions, including:
  11. * designation of addresses that can create token supply ({ERC20Mintable}), with an optional maximum cap ({ERC20Capped})
  12. * destruction of own tokens ({ERC20Burnable})
  13. * designation of addresses that can pause token operations for all users ({ERC20Pausable}).
  14. Finally, there are some utilities to interact with ERC20 contracts in various ways.
  15. * {SafeERC20} is a wrapper around the interface that eliminates the need to handle boolean return values.
  16. * {TokenTimelock} can hold tokens for a beneficiary until a specified time.
  17. NOTE: This page is incomplete. We're working to improve it for the next release. Stay tuned!
  18. == Core
  19. {{IERC20}}
  20. {{ERC20}}
  21. {{ERC20Detailed}}
  22. == Extensions
  23. {{ERC20Mintable}}
  24. {{ERC20Burnable}}
  25. {{ERC20Pausable}}
  26. {{ERC20Capped}}
  27. == Utilities
  28. {{SafeERC20}}
  29. {{TokenTimelock}}