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.
The EVM -compatible implementation of the EUROe smart contract imports the following OpenZeppelin contracts:
- ERC20Upgradeable.sol (github.com ↗)
- IERC20Upgradeable.sol (github.com ↗)
- ERC20BurnableUpgradeable.sol (github.com ↗)
- PausableUpgradeable.sol (github.com ↗)
- AccessControlUpgradeable.sol (github.com ↗)
- ERC20PermitUpgradeable.sol (github.com ↗)
- Initializable.sol (github.com ↗)
- UUPSUpgradeable.sol (github.com ↗)
- SafeERC20Upgradeable.sol (github.com ↗)
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.
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:
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 ↗).