Try   HackMD

Features of LendingV2

Notice:

  • Gas consumption
  • Library version (To verify later)

Steps:

  1. Cooperate with product team to confirm features and design implementation
  2. Implementation + Verify
  3. Formal Verification + Audit
  4. Testnet Launch + Bounty Programs
  5. Mainnet Alpha Launch

Features - General Lending

Isolation Mode

  • isolated collateral asset with limited set of borrowing assets and debt ceiling.
    • Borrowers supplying an isolated asset as collateral cannot supply other assets as collateral (though they can still supply to capture yield), and can borrow permitted stablecoins up to a specified debt ceiling.
    • Uers can exit isolation mode at any time by disabling the isalated asset as collateral.
  • Criterions
    • Only allows asset as isolated mode simultaneously while adding it to markets.
    • Disallows existing assets entering isolated mode.
    • Always allows enabling new assets borrowable in isolated mode.
    • Disallows disabling borrowable assets in isolated mode.
    • All isolated assets share the same borrowable assets list.

[Skyge 04-14]
Q1. For borrowable assets in isolation mode, it can change from unborrowable to borrowable, so can it change from borrowable to unborrowable?

  • Option1: No.

  • Option2: Yes, it seems like does not affect the equity of users, but for the front-end, maybe need to do more to show borrowed assets that are unborrowable in isolation mode.

  • Q2. How to calculate current debt amount? 可以考虑直接用可被借资产的数量计量,这里已经假定了可借资产都是稳定币,并且不考虑价格(即:假定价格都为$1)

[Skyge 04-07] eg:

Under the isolation mode, one asset should behave like following
(Assuming Arb Token and OP Token are isolated assets, debtCeiling = 500 , and only USDC, DAI can be borrowed):

debtCeiling means total borrowed amount in the isolation mode, but it is yet to be confirmed.

  • Alice supplies 100 Arb Token, and then she sets Arb Token as collateral (enter markets), so now she enters the solation mode, and she can only borrow USDC, DAI.
  • Alice supplies ETH, but it can not be used as collateral.
  • Alice supplies OP Token, cause she has enterred the solation mode, so OP Token can not be used as collateral.
  • Alice disables Arb Token as collateral(exist markets), now, she exists the solation mode,so she can set any token as collateral.
  • Alice sets ETH as collateral, cause she has a non-isolated asset as collateral, so she will never enter the solation mode.

TODO:

  • When add new parameters in struct Market, should not generate storage collision(04-07).

Efficient Mode

  • Allow borrowers to extract the highest borrowing power out of their collateral by certain categories.
  • User is only allowed to enter one category simultaneously.
  • User is still allowed to supply other assets and to use them as collateral, but only collateral belonging to the same E-Mode category chosen by the user will have enhanced risk parameters.
  • In certain e-mode, only specific assets within the same category can be borrowed.
  • Criterions
    • An asset is only allowed in one E-Mode category and cannot appear in more than one category.
    • Once one asset joins a category, it will be disallowed to exit.
    • Assets belonging to one category share the same risk parameters defined by the category, such as: collateral factor, liquidation threshold, liquidation bonus, close factor, etc.

[Skyge 04-24]
Q1: Should eMode risk parameters always increase?

  • Option1: Yes
  • Option2: No, e.g. eMode.ltv 97% -> 98% -> 97%. When decrease some parameters, it may decrease users' equity at the same time, although it is not a good idea, but owner can do like this.

Q2: An asset can appear in more than one category at now.
- [x] Option1: Yes

[Skyge:04-11]

  • Can set a new oracle in e-mode?
    [A] According to the current requirement, it's not required.

Liquidation Threshold

  • seperate LTV and liquidation threshold, LTV/LT(liquidation threshold) per collaterals

Variable liquidation close factor

  • gradual liquidation close-factor per loan assets, up to 100%.

Withdraw&Borrow Timelock

  1. requirements
    • Single borrow / withdraw limit set, for example,
      • letgo limit
      • 1 block limit
      • multi-blocks limit
    • assets limit, for example,
      • daily volumes limit
    • whitelist strategies, for example,
      • flag to enable/disable whitelists
      • allow accounts in the whitelists having their own limit, for example tx limits and daily volumes limits.
  2. reference structure
    {accounts}{assets}[tx-limits][delay-blocks]
    {accounts}{assets}[dailyVolume-limits][delay-blocks]

Repay with deposits

  • The feature looks like "ability to do external call before the end of redeeming", so users can exchange the redeems for borrows to repay the loans. This is so-called "repay with deposits".
  • With the help of this feature, users can do lots of stuff, for example "switch your deposits".

Permissionless Pool

  • tools set to set up lending pool automatically
  • parameters / oracle / web / api

Action Conditions(newly added conditions)

Notes: in following cases, the actions will be disallowed.

enableIsolated enableCollaterals disableIsolated enableEMode disableEMode Borrow Liquidate
hasCollaterals inIsolatedMode - inEMode - borrowsExcluedIsolated solventByLiquidationThreshold
- - - borrowsExcluedEModeCategory - borrowsExceededDebtCeilingIsolated -
- - - - - borrowsExcluedEModeCategory -

Process(Skyge)

Current process is in the notion: https://www.notion.so/dforce/Technical-Design-Spec-b6804f4014a94055bcc0b469721bd693?pvs=4



Features - Hybrid NFT Lending

Support ERC-721

  • NFT as collateral and instant borrowing power, build-in feature in general lending
  • tokenize NFT deposit, act as social right of portrait
  • oracle with ability of boosting "rare" portraits
  • liquidation of NFT, auction and liquidity protection
  • instance 'buy' leveraged by borrowing power as low as zero-downpayment
  • instance 'sell' leverage by collaterl listing(repay & pay)

Risk Framework

  • THE very question: which type of Loan is really required by NFT holders? Peer-to-Pool OR Peer-to-Peer.
  • Loan types: variable/fix rate, fix-term loans

Reference

AAVE V3

Key Features

Euler

Key Features

ParaSpace

Key Features

BendDao

Key Features

Zharta

Key Features