Alien Finance
AppTwitter
  • General
    • Overview
    • What's Native on Blast
    • Brand Kit
  • Open Source
    • Blast Multisig Tx Builder
  • Lending Protocol - DApp Pool
    • Market Parameters
    • Interest Rate Model
    • Contract Address
  • Lending Protocol - Blast Pool
    • Market Parameters
    • Interest Rate Model
    • Contract Address
    • Alien Leverage
      • Leverage FAQ
  • Smart Contract
    • AlienFinance
      • Interface: AlienFinance
    • BlastPriceOracle
      • Interface: BlastPriceOracle
    • AlienFinanceLens
      • Interface: AlienFinanceLens
    • TripleSlopeRateModel
      • Interface: TripleSlopeRateModel
    • AToken
    • DebtToken
    • TxBuilderExtension
    • UniswapExtension
    • FlashLoan
  • Links
    • App
    • Twitter
Powered by GitBook
On this page
  1. Smart Contract
  2. AlienFinanceLens

Interface: AlienFinanceLens

0xF090b119b10FE4aF048B3EAEB9c0d4821CaBcD30

interface AlienFinanceLens {    
    struct MarketConfig {
        // 1 + 1 + 2 + 2 + 2 + 2 + 1 + 1 = 12
        bool isListed;
        uint8 pauseFlags;
        uint16 collateralFactor;
        uint16 liquidationThreshold;
        uint16 liquidationBonus;
        uint16 reserveFactor;
        bool isPToken;
        bool isDelisted;
        // 20 + 20 + 20 + 32 + 32 + 32
        address aTokenAddress;
        address debtTokenAddress;
        address interestRateModelAddress;
        uint256 supplyCap;
        uint256 borrowCap;
        uint256 initialExchangeRate;
    }

    struct MarketMetadata {
        address market;
        string marketName;
        string marketSymbol;
        uint8 marketDecimals;
        bool isListed;
        uint16 collateralFactor;
        uint16 liquidationThreshold;
        uint16 liquidationBonus;
        uint16 reserveFactor;
        bool isPToken;
        bool supplyPaused;
        bool borrowPaused;
        bool transferPaused;
        bool isSoftDelisted;
        address aTokenAddress;
        address debtTokenAddress;
        address interestRateModelAddress;
        uint256 supplyCap;
        uint256 borrowCap;
    }

    struct MarketStatus {
        address market;
        uint256 totalCash;
        uint256 totalBorrow;
        uint256 totalSupply;
        uint256 totalReserves;
        uint256 maxSupplyAmount;
        uint256 maxBorrowAmount;
        uint256 marketPrice;
        uint256 exchangeRate;
        uint256 supplyRate;
        uint256 borrowRate;
    }

    struct UserMarketStatus {
        address market;
        uint256 balance;
        uint256 allowanceToAlien;
        uint256 exchangeRate;
        uint256 aTokenBalance;
        uint256 supplyBalance;
        uint256 borrowBalance;
    }

    function getMarketMetadata(address alien, address market) external view returns (MarketMetadata memory);

    function getAllMarketsMetadata(address alien) external view returns (MarketMetadata[] memory);
    
    function getCurrentMarketStatus(address alien, address market) external returns (MarketStatus memory);

    function getAllMarketsStatus(address alien) external view returns (MarketStatus[] memory);

    function getAllCurrentMarketsStatus(address alien) external returns (MarketStatus[] memory);

    function getUserMarketStatus(address alien, address user, address market) external view returns (UserMarketStatus memory);

    function getCurrentUserMarketStatus(address alien, address user, address market) external returns (UserMarketStatus memory);

    function getUserAllMarketsStatus(address alien, address user) external view returns (UserMarketStatus[] memory);

    function getUserAllCurrentMarketsStatus(address alien, address user) external returns (UserMarketStatus[] memory);
}

Last updated 1 year ago