Markets & Tranches

Lotus markets consist of an set of tranches Tranches[] ordered by risk.

  • Tranches are ordered by risk from most senior (index 0) to most junior.

  • All the Tranches[] share a loanToken, irm, and liquidationModule.

  • Each Tranche may have its own collateralToken, oracle, lltv.

MarketParams

Markets are uniquely identified by their parameters

struct MarketParams {
    address loanToken;          // ERC-20 token for lending and borrowing
    address irm;                // IRM determines tranche borrow rates based on utilization
    address liquidationModule;  // Liquidation Module prices and executes liquidations
    address[] collateralTokens; // Per-tranche collateral token 
    address[] oracles;          // Per-tranche price oracle for loan health checks
    uint128[] lltvs;            // Per-tranche Liquidation Loan-to-Value
}

These MarketParams are encoded to form a unique id.

Id marketId = Id.wrap(keccak256(abi.encode(marketParams)));

Tranche

Each tranche maintains its own state

Last updated