PoolLens

PoolLens

The PoolLens contract is designed to retrieve important information for each registered pool. A list of essential information for all pools within the lending protocol can be acquired through the function getAllPools(). Additionally, the following records can be looked up for specific pools and markets:

  • the vToken balance of a given user;

  • the pool data (oracle address, associated vToken, liquidation incentive, etc) of a pool via its associated comptroller address;

  • the vToken address in a pool for a given asset;

  • a list of all pools that support an asset;

  • the underlying asset price of a vToken;

  • the metadata (exchange/borrow/supply rate, total supply, collateral factor, etc) of any vToken.

Solidity API

struct PoolData {
  string name;
  address creator;
  address comptroller;
  uint256 blockPosted;
  uint256 timestampPosted;
  string category;
  string logoURL;
  string description;
  address priceOracle;
  uint256 closeFactor;
  uint256 liquidationIncentive;
  uint256 minLiquidatableCollateral;
  struct PoolLens.VTokenMetadata[] vTokens;
}

vTokenBalancesAll

Queries the user's supply/borrow balances in vTokens

Parameters

Name
Type
Description

vTokens

contract VToken[]

The list of vToken addresses

account

address

The user Account

Return Values

Name
Type
Description

[0]

struct PoolLens.VTokenBalances[]

A list of structs containing balances data


getAllPools

Queries all pools with addtional details for each of them

Parameters

Name
Type
Description

poolRegistryAddress

address

The address of the PoolRegistry contract

Return Values

Name
Type
Description

[0]

struct PoolLens.PoolData[]

Arrays of all Venus pools' data


getPoolByComptroller

Queries the details of a pool identified by Comptroller address

Parameters

Name
Type
Description

poolRegistryAddress

address

The address of the PoolRegistry contract

comptroller

address

The Comptroller implementation address

Return Values

Name
Type
Description

[0]

struct PoolLens.PoolData

PoolData structure containing the details of the pool


getVTokenForAsset

Returns vToken holding the specified underlying asset in the specified pool

Parameters

Name
Type
Description

poolRegistryAddress

address

The address of the PoolRegistry contract

comptroller

address

The pool comptroller

asset

address

The underlyingAsset of VToken

Return Values

Name
Type
Description

[0]

address

Address of the vToken


getPoolsSupportedByAsset

Returns all pools that support the specified underlying asset

Parameters

Name
Type
Description

poolRegistryAddress

address

The address of the PoolRegistry contract

asset

address

The underlying asset of vToken

Return Values

Name
Type
Description

[0]

address[]

A list of Comptroller contracts


vTokenUnderlyingPriceAll

Returns the price data for the underlying assets of the specified vTokens

Parameters

Name
Type
Description

vTokens

contract VToken[]

The list of vToken addresses

Return Values

Name
Type
Description

[0]

struct PoolLens.VTokenUnderlyingPrice[]

An array containing the price data for each asset


getPendingRewards

Returns the pending rewards for a user for a given pool.

Parameters

Name
Type
Description

account

address

The user account.

comptrollerAddress

address

address

Return Values

Name
Type
Description

[0]

struct PoolLens.RewardSummary[]

Pending rewards array


getPoolBadDebt

Returns a summary of a pool's bad debt broken down by market

Parameters

Name
Type
Description

comptrollerAddress

address

Address of the comptroller

Return Values

Name
Type
Description

[0]

struct PoolLens.BadDebtSummary

badDebtSummary A struct with comptroller address, total bad debut denominated in usd, and a break down of bad debt by market


vTokenBalances

Queries the user's supply/borrow balances in the specified vToken

Parameters

Name
Type
Description

vToken

contract VToken

vToken address

account

address

The user Account

Return Values

Name
Type
Description

[0]

struct PoolLens.VTokenBalances

A struct containing the balances data


getPoolDataFromVenusPool

Queries additional information for the pool

Parameters

Name
Type
Description

poolRegistryAddress

address

Address of the PoolRegistry

venusPool

struct PoolRegistryInterface.VenusPool

The VenusPool Object from PoolRegistry

Return Values

Name
Type
Description

[0]

struct PoolLens.PoolData

Enriched PoolData


vTokenMetadata

Returns the metadata of VToken

Parameters

Name
Type
Description

vToken

contract VToken

The address of vToken

Return Values

Name
Type
Description

[0]

struct PoolLens.VTokenMetadata

VTokenMetadata struct


vTokenMetadataAll

Returns the metadata of all VTokens

Parameters

Name
Type
Description

vTokens

contract VToken[]

The list of vToken addresses

Return Values

Name
Type
Description

[0]

struct PoolLens.VTokenMetadata[]

An array of VTokenMetadata structs


vTokenUnderlyingPrice

Returns the price data for the underlying asset of the specified vToken

Parameters

Name
Type
Description

vToken

contract VToken

vToken address

Return Values

Name
Type
Description

[0]

struct PoolLens.VTokenUnderlyingPrice

The price data for each asset


Last updated