|
Currently Olympus DAO is running on the Ethereum mainnet. We analysed the deployed smart contract codes in which can be also seen in Etherscan and figured out the system architecture of Olympus DAO as shown in Figure. Specifically, we derived the overall flow of the model by identifying the roles and functions of smart contracts and analysing the relationships between smart contracts. The role of each smart contract is as follows.
OlympusERC20 is an implementation for OHM token as reserve currency issued by Olympus DAO, and it complies with ERC20 standard. In Olympus DAO, both SafeMath and SafeERC20 libraries are applied to enhance security for all tokens including OHM.
sOlympusERC20 is an implementation for sOHM token that OHM owners receive at a 1:1 ratio when staking, and it also complies with ERC20 standard.
Treasury acts as a vault for storing the collected assets and is protected by 4-of-7 multi-signature. Only this Treasury contract can mint new OHM.
OlympusBondDepositoryV2 manages various bonds such as OHM-DAI LP bond and FRAX bond. The user can purchase bonds by calling deposit() function and exercise the bond by calling redeem() function.
OlympusStaking is a smart contract that manages users to stake their OHM and receive rewards. When a user stakes his or her OHM, an equal amount of sOHM is paid. Conversely, when the user unstakes, this contract receives sOHM and pays the corresponding OHM. For user compensation, it requests a rebase from sOHM to make rewards every 8 hours. After that, the Distributor contract is called to distribute the rewards to the stakers. |