Lendroid V2 - Deleuze

Lendroid V2 - Deleuze

  • Docs
  • API
  • UI

›Overview

Overview

  • Overview
  • Terminology
  • V2 Contracts
  • V2 Players

Deep dive

  • Deep Dive
  • ERC20Template1
  • LERC20Template1
  • ERC20PoolTokenTemplate1
  • MultiFungibleTokenTemplate1
  • ProtocolDAO
  • PoolNameRegistryTemplate1
  • CurrencyDAO
  • ERC20TokenPoolTemplate1
  • InterestPoolDAO
  • InterestPoolTemplate1
  • UnderwriterPoolDAO
  • UnderwriterPoolTemplate1
  • MarketDAO
  • PositionRegistryTemplate1
  • SimplePriceOracleTemplate1
  • SimpleCollateralAuctionGraph1
  • ShieldPayoutDAO
  • Sequence Diagrams

Examples

  • Library documentation
  • Wallet documentation

Overview

V2 Contracts

Token contracts

TokenDescription
ERC20 TokenVyper version of the Standard ERC20 Smart Contract.
LERC20 TokenVyper version of the LToken Smart Contract, which is an ERC20 Token.
ERC20 Pool TokenVyper version of the Pool Token Smart Contract, which is an ERC20 Token.
Multi-Fungible Token (MFT)This is an extension of the ERC1155 Token, and has been modified to suit the concept of a multi-fungible token. The MFT contracts in v2 are DAO-authorized, aka, only Lendroid’s DAOs can mint MFTs to another account.

Each SUFI Token is an MFT.

Internal contracts

In charge of minting, burning, and authorized transfer of LTokens and SUFI Tokens. Each DAO contract is authorized to perform MFT-related functions on behalf of other DAOs.

DAODescription
Protocol DAO
  • Deploys and manages the CurrencyDAO, InterestPoolDAO, UnderwriterPoolDAO, MarketDAO, and PayoutDAO.
  • Propagates system-wide changes to the concerned DAOs.
  • Initiates escape hatches.
Currency DAO
  • Deploys and manages Token Pools per token supported by the system.
  • Handles deposit and withdrawal of original tokens (eg, DAI, USDC) to and from the corresponding token pool.
  • Mints and burns LTokens.
  • Can wrap an original token to an equivalent LToken.
  • Can unwrap a LToken to an equivalent original token.
InterestPool DAO
  • Handles registration of Interest Pools into the system.
  • Reflects currency markets, aka, ITokens and FTokens supported by registered Interest Pools.
  • Can split Ltokens into ITokens and FTokens.
  • Can fuse ITokens and FTokens into LTokens.
UnderwriterPool DAO
  • Handles registration of Underwriter Pools into the system.
  • Reflects shield markets, aka, STokens, UTokens, and ITokens supported by registered Underwriter Pools.
  • Can split Ltokens into STokens and UTokens and ITokens.
  • Can fuse ITokens and STokens and UTokens into LTokens.
Market DAO
  • Reflects the loan markets and shield markets created in the system and their current states.
  • Communicates with Auction DAO and Currency DAO for token transfers during the collateral auction.
ShieldPayout DAO
  • Reflects shield markets from the Market DAO.
  • Communicates with Market DAO and Currency DAO for token transfers during a shield payout / underwriter payout.

External contracts

Handle most of the requests originating from outside the system. Versioned, which makes it easier to deploy improved templates into the system.

TemplateDescription
Pool Name Registry
  • Handles registration of unique names per Pool.
  • Manages staked LST when registering / registering a pool name.
  • Allows communication from the InterestPool DAO and Underwriter Pool DAO when they support a market (loan market and shield market respectively).
Position Registry
  • Maintains a history of all positions in the system.
  • Keeps a record of open and liquidated positions per Borrower.
  • Communicates with the Market DAO when a position is opened / closed / liquidated.
Currency Pool
  • Manages the original tokens sent into the system.
  • Communicates only with the Currency DAO.
Interest Pool
  • Conveys intention to support a currency market.
  • Maintains balances of ITokens and FTokens issued by the system.
  • Accepts contribution of LTokens in exchange for Poolshare Tokens.
  • Allows purchase of ITokens.
  • Allows redemption of Poolshare Tokens for ITokens and FTokens and LTokens.
  • Conveys intention to not support a currency market.
  • Communicates only with the Interest Pool DAO.
Underwriter Pool
  • Conveys intention to support a shield market.
  • Maintains balances of ITokens, STokens, and UTokens issued by the system.
  • Accepts contribution of LTokens in exchange for Poolshare Tokens.
  • Allows purchase of ITokens.
  • Allows purchase of STokens.
  • Allows redemption of Poolshare Tokens for ITokens and STokens and UTokens and LTokens.
  • Conveys intention to not support a shield market.
  • Communicates only with the Underwriter Pool DAO.
Auction Curve
  • Maintains a balance of the underlying to be sold, and currency to be raised during the auction.
  • Has a sliding exchange rate of underlying per currency determined by the time elapsed since auction began.
  • Allows purchase of underlying according to the exchange rate.
Price Oracle
  • An interface to help engineers build their own price oracles for a given currency-underlying pair.
  • Updates the current price of the underlying per currency based on a Price Feed.
Last updated on 2/14/2020
← TerminologyV2 Players →
  • V2 Contracts
    • Token contracts
    • Internal contracts
    • External contracts
Lendroid V2 - Deleuze
Docs
OverviewSmart contractsAPIUI
Community
Project ChatTwitter
More
BlogGitHub
Facebook Open Source
Copyright © 2020 Lendroid Foundation