The main contract that a DODO V3 user will interact with is D3MM, also known as the DODO V3 Market Marker.
D3MM inherits from four smart contracts, each with its own specific functions:
  1. 1.
    D3Funding manages asset deposit and withdrawal
  2. 2.
    D3Liquidation defines the liquidation-related functions
  3. 3.
    D3Trading offers the token swapping feature for users
  4. 4.
    D3Maker provides market making functions for pool owners


D3MMFactory is the factory contract for pool creation and registration.


D3Token is an ERC-20 token which is used within D3MM pools. When a user deposits tokens into a pool, the corresponding D3Token will be minted and transferred to the user. The D3Token can be seen as an interest-bearing LP token, which is transferrable. Anyone who has D3Tokens can withdraw the corresponding original token from the D3MM pool.