Smart Contract Architecture
The Mimo Protocol is a collection of decentralized and non-custodial smart contracts built to support the rest of the Decentralised Finance (DeFi) ecosystem:
- Vaults Core: The main contract to interact with the Mimo protocol. All calculations happen here.
- Vaults Core State: Owns the global state (cumulative rates & last refresh) for each collateral type available to borrow against. All state updates & calculations happen here
- PAR: PAR are standard ERC20 tokens, whose value is pegged to the EUR fiat currency.
- Rates Manager: Stateless. Calculates debt and fees for each Vault.
- Liquidation Manager: Stateless. Calculates health factors and liquidation variables.
- PriceFeed: Responsible for retrieving collateral prices in fiat, for calculating Vault health factors.
- FeeDistributor: Responsible for collecting and distributing protocol fees.
- AddressProvider: Indexes all module addresses read by other modules.
- ConfigProvider: Responsible for updating protocol config parameters.
- VaultsDataProvider: Owns vault state, base debt, and vault related read functions.