The below diagram is the current contract system design of Optimus:
- Earn Contract: receive deposited / withdrawal requests from the user to mint / burn fICX token.
- Controller Contract: acts as the central controller to process and execute requests.
- Strategy Contract: manages different investment strategies and acts as the gateway to proceed assets deposit to lending pool contracts.
- Reward Contract: manages the distribution of reward generated by strategy to end-users and worker tokens.
- Multisig Contract: require multi-signatures from different admins to perform updates on core contracts.
- Bot Keeper: backend node to monitor, read and trigger automation tasks on contracts.