Contracts

The DAM Finance core contracts implement an over-collateralised stablecoin protocol which draws inspitation from MakerDAO. The DAM codebase is based upon the MakerDAO codebase and we have made changes were necessary to facilitate our requirements. Keys changes we have made are:
  1. 1.
    Omni-chain credit token d2o is issued as an omni-chain stablecoin, meaning that it can be transferred to blockchains other than the one it originated on.
  2. 2.
    Linked Multi-collateral vault Allows users to pool all their collateral in a single vault instead of having a vault for each type of collateral. The impact of this is that users can take advantage of collateral which may not be suitable for minting an over-collateralised stablecoin in isolation. This also means that each vault has a unique weighted average liquidation LTV based upon the LTV for each of the constituent tokens making up the vault collateral.
  3. 3.
    Leverage Users can re-deposit d2o (or d2os) back into their vaults to mint more d2o. The protocol understands that this is a leveraged token and as such affects the way the weighted average LTV is calculated for the vault. Using a leveraged token as collateral allows the minting of more d2o but changes in value of the underlying collateral (i.e. not the d2os) have a greater impact on the portfolio value of the vault, due to its leveraged nature. There is a protocol-wide leverage cap set by the lockedAmountLimit for d2os in LMCV.sol. This value will occasionally need updating so that protocol-wide leverage is capped at 2x.
  4. 4.
    Minting fee We have added the capability to charge a minting fee when d2o is minted.
  5. 5.
    Peg stability module Users can deposit certain stablecoins in the peg stability module which allows them to mint d2o 1:1 or at a near 1:1 ratio. Clearly, if a user needs to re-collateralise their vault then depositing stablecoins is the most effective way to do that.
  6. 6.
    Staking contract To incentivise secondary market liquidity for d2o we intend to create a staking contract for holders of d2os, i.e. those who have deposited their d2o into a stableswap pool. Rewards will accrue to those participating in the DAM staking contract.

LMCV

The LMCV, or linked multi-collateral vault, is the main accounting system for the protocol. The LMCV has the following functionality:
  • Keeps track of how much collateral each user has deposited with the platform.
  • Keeps track of how much collateral each user has committed to a vault. Collateral committed to a vault can be borrowed against.
  • Keeps track of the debt balance / d2o issued to each user.
  • Stores an accumulated stability rate to keep track of how much interest is payable on issued d2o.
  • Handles the main operating variables for the protocol such as debt ceiling, fees and leverage ratios on a per collateral basis.
  • Provides an API for checking whether a user is within their credit limit.
  • Provides an API for liquidations, as well as minting unbacked d2o or burning issued d2o.
  • Provides an API for moving unlocked collateral or d2o between accounts.
  • Provides an admin interface for editing collateral types or and collateral information.

Peg Stability Module

Based upon the Peg Sability Module from Maker DAO. The Peg Stability Module in the DAM protocol allows users to swap stablecoin collateral type directly for d2o at a fixed rate, rather than borrowing it. This is the mechanism we use for minting d2o.
The deployed code for the LMCV and PSM can be found here.

Deployed Contracts

Ethereum

d2o
0x2FdA8c6783Aa36BeD645baD28a4cDC8769dCD252
d2oJoin
0x687007C510Cd174f815cdaDA4De51d66BA73544d
USDCJoin
0xB1fbcD7415F9177F5EBD3d9700eD5F15B476a5Fe
LayerZeroPipe
0x78D7480aFcB1c2310917fDa95e96cA4E1C06CcfF
LMCV
0xc806B0600cbAfA0B197562a9F7e3B9856866E9bF
LMCVProxy
0xDd92aF2acb2Dd66Abe5C2023c7D446989DF0af53
PSM
0x68a8a1c3e103d9b8e568b061357ec2eae87bf396
Guardian
0x2d61a890c47124597173fa9f6f949c5b4cdd0756

Moonbeam

d2O
0xc806B0600cbAfA0B197562a9F7e3B9856866E9bF
LayerZeroPipe
0xDd92aF2acb2Dd66Abe5C2023c7D446989DF0af53
Guardian
0x2d61a890C47124597173fa9f6f949C5b4Cdd0756

DAM Finance V1.

Whilst the core contracts allow for functionality such as multiple collateral types and leverage, for the first version of DAM, we are simply using the core contracts as an accounting system to mint d2o. The advantage of this approach is that we can easily add lending funcationality by changing a few configuration options within the main contracts.