DODO is built with a set of smart contracts. The following figure shows the framework of these contracts and how they interact with each other in the DODO architecture.
The core part of the DODO framework, which contains all the data and logic of DODO, consists of a set of DODO Proxy contracts and a singular DODO Implementation contract. Each trading pair binds with an independent
DODO Proxy contract (e.g. WETH-USDC, DAI-USDT, etc.), which is a transparent proxy that only stores states and metadata. All underlying logic lies in the
DODO Implementation contract.
For convenience's sake, we will call the transparent proxy
DODO Pair and the logic implementation
DODO Template. Users should interact with
DODO Pair directly or through
DODO is an open-source contract, and the DODO team welcomes forks. However, it is important to note that the operation of
DODO Pair is highly dependent on oracles and parameter fine-tuning, and a misconfigured
DODO Pair could potentially cause significant losses for users. Therefore, we deployed an entrance contract to help blockchain developers navigate these obstacles. All
DODO Pairs registered in this contract have been rigorously tested and audited, as the DODO team believes the safety of DODO users is of utmost importance. Developers should only look for the entrance called
DODO Zoo when developing upon DODO. Even if the
DODO Template is upgraded,
DODO Zoo will remain unchanged.
There are a lot of tedious tasks that can be packaged using contracts to make them easy to use and understand. For example, the
DODO ETH Proxy shown in the figure above helps users convert between ETH and WETH and interact with
DODO Pair. This way, the underlying complexity with WETH is abstracted away from users, effectively protecting them - users do and should only care about directly buying or selling ETH on DODO. There are many such contracts, such as arbitrage and route, which we collectively call
Helper. We invite the community to help develop more helper contracts and we are willing to provide guidance and support.