Skip to main content

Architecture

From developer and end-user point of view, eUSD is extremely easy to use and understand as it is a standard ERC20 with a few extra properties. For most uses, you can consider eUSD like any other ERC20. eUSD also supports EIP-2612 Permit Extension for EIP-20 Signed Approvals.

The ERC20 contract is implemented through an ERC-1967 proxy following the OpenZeppelin UUPS pattern. The architecture below abstracts the proxy and describes the stablecoin implementation as a whole.

Architecture diagram

Dependencies

The EVM -compatible implementation of the eUSD smart contract imports the following OpenZeppelin contracts:

  1. ERC20Upgradeable.sol (github.com ↗)
  2. IERC20Upgradeable.sol (github.com ↗)
  3. ERC20BurnableUpgradeable.sol (github.com ↗)
  4. PausableUpgradeable.sol (github.com ↗)
  5. AccessControlUpgradeable.sol (github.com ↗)
  6. ERC20PermitUpgradeable.sol (github.com ↗)
  7. Initializable.sol (github.com ↗)
  8. UUPSUpgradeable.sol (github.com ↗)
  9. SafeERC20Upgradeable.sol (github.com ↗)