Skip to main content

Architecture

Concordium Implementation

From developer and end-user point of view, EUROe is extremely easy to use and understand as it is similar to a CIS-2 token with a few extra properties. EUROe is fully CIS-2 and CIS-3 compliant so it can be easily integrated in any dApp or wallet.

The EUROe smart contract is upgradable.

Architecture diagram

Dependencies

The Concordium implementation of the EUROe smart contracts has the following dependencies:

  1. concordium-std (docs.rs ↗)
  2. concordium-cis2 (docs.rs ↗)

EVM Implementations

From developer and end-user point of view, EUROe is extremely easy to use and understand as it is a standard ERC20 with a few extra properties. For most uses, you can consider EUROe like any other ERC20. EUROe 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 EUROe 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 ↗)

Solana Implementation

From developer and end-user point of view, EUROe is extremely easy to use and understand as it is a standard SPL token. The architecture below describes the stablecoin implementation as a whole, describing only the functions that are either actually used by privileged addresses or commonly used by third-parties. The diagram is for illustrative purposes only and omits important core functionality of an SPL token.

Architecture diagram

Dependencies

The Solana implementation of the EUROe program relies on the SPL token implementation. For more information about the SPL token, we recommend the following resources:

  1. @solana/spl-token (github.io ↗)
  2. Solana program library (spl.solana.com ↗)

Additionally, the EUROe program utilises the Metaplex SDK for adding metadata to the token. Read more at @metaplex-foundation/js (npmjs.com ↗). The metadata itself is served from the EUROe persistent developer directory (dev.euroe.com ↗).