Themis' reward contract allows for the issuance of up to eight types of ERC20 reward tokens. Some of these rewards are added to the pool and some are settled from third-party platforms when users collateralize their assets in M1.
Themis rewards strategy consists of three main contracts.
- UiIncentiveDataProvider：Contract that returns an array of all reserve incentives or user claimable rewards within a particular market, used by the Themis Interface to display incentives data. The Themis Utilities SDK includes an interface to make calls to this contract, and functions to format the response for frontend use-cases.
- RewardsController：Abstract contract template to build Distributors contracts for ERC20 rewards to protocol participants.
- BaseCollateralGauge: Allocation of original rewards from third-party protocols in the Pool of collaterals.
This architecture allows all asset data collateralized in Themis to be recorded. This allows Themis to record user behavior and allow them to claim their original rewards as well as newly earned rewards.