VenusLens

VenusLens

Introduction

The read only functions on the VenusLens contract provide a view into: - metadata of vToken - daily XVS rewards for an account - account balance for a single vToken - account balances for all vTokens in an account - underlying price of a vToken - underlying prices for a set of vTokens - get liquidity and shortfall of an account - get user's vote history - get proposal details for a set of proposals - get account XVS balance, total votes, and delegated votes - get historical voting balance for a user - get pending XVS Rewards for an account

Solidity API

BLOCKS_PER_DAY

Blocks Per Day

uint256 BLOCKS_PER_DAY

VTOKEN_ACTIONS

Total actions available on VToken

uint256 VTOKEN_ACTIONS

struct VenusMarketState {
  uint224 index;
  uint32 block;
}

MarketData

Holds full market information for a single vToken within a specific pool (excluding the Core Pool)


PoolWithMarkets

Struct representing a pool (excluding the Core Pool) and its associated markets


vTokenMetadata

Query the metadata of a vToken by its address

Parameters

Name
Type
Description

vToken

contract VToken

The address of the vToken to fetch VTokenMetadata

Return Values

Name
Type
Description

[0]

struct VenusLens.VTokenMetadata

VTokenMetadata struct with vToken supply and borrow information.


vTokenMetadataAll

Get VTokenMetadata for an array of vToken addresses

Parameters

Name
Type
Description

vTokens

contract VToken[]

Array of vToken addresses to fetch VTokenMetadata

Return Values

Name
Type
Description

[0]

struct VenusLens.VTokenMetadata[]

Array of structs with vToken supply and borrow information.


getDailyXVS

Get amount of XVS distributed daily to an account

Parameters

Name
Type
Description

account

address payable

Address of account to fetch the daily XVS distribution

comptrollerAddress

address

Address of the comptroller proxy

Return Values

Name
Type
Description

[0]

uint256

Amount of XVS distributed daily to an account


vTokenBalances

Get the current vToken balance (outstanding borrows) for an account

Parameters

Name
Type
Description

vToken

contract VToken

Address of the token to check the balance of

account

address payable

Account address to fetch the balance of

Return Values

Name
Type
Description

[0]

struct VenusLens.VTokenBalances

VTokenBalances with token balance information


vTokenBalancesAll

Get the current vToken balances (outstanding borrows) for all vTokens on an account

Parameters

Name
Type
Description

vTokens

contract VToken[]

Addresses of the tokens to check the balance of

account

address payable

Account address to fetch the balance of

Return Values

Name
Type
Description

[0]

struct VenusLens.VTokenBalances[]

VTokenBalances Array with token balance information


vTokenUnderlyingPrice

Get the price for the underlying asset of a vToken

Parameters

Name
Type
Description

vToken

contract VToken

address of the vToken

Return Values

Name
Type
Description

[0]

struct VenusLens.VTokenUnderlyingPrice

response struct with underlyingPrice info of vToken


vTokenUnderlyingPriceAll

Query the underlyingPrice of an array of vTokens

Parameters

Name
Type
Description

vTokens

contract VToken[]

Array of vToken addresses

Return Values

Name
Type
Description

[0]

struct VenusLens.VTokenUnderlyingPrice[]

array of response structs with underlying price information of vTokens


getAccountLimits

Query the account liquidity and shortfall of an account

Parameters

Name
Type
Description

comptroller

contract ComptrollerInterface

Address of comptroller proxy

account

address

Address of the account to query

Return Values

Name
Type
Description

[0]

struct VenusLens.AccountLimits

Struct with markets user has entered, liquidity, and shortfall of the account


getXVSBalanceMetadata

Query the XVSBalance info of an account

Parameters

Name
Type
Description

xvs

contract IXVS

XVS contract address

account

address

Account address

Return Values

Name
Type
Description

[0]

struct VenusLens.XVSBalanceMetadata

Struct with XVS balance and voter details


getXVSBalanceMetadataExt

Query the XVSBalance extended info of an account

Parameters

Name
Type
Description

xvs

contract IXVS

XVS contract address

comptroller

contract ComptrollerInterface

Comptroller proxy contract address

account

address

Account address

Return Values

Name
Type
Description

[0]

struct VenusLens.XVSBalanceMetadataExt

Struct with XVS balance and voter details and XVS allocation


getVenusVotes

Query the voting power for an account at a specific list of block numbers

Parameters

Name
Type
Description

xvs

contract IXVS

XVS contract address

account

address

Address of the account

blockNumbers

uint32[]

Array of blocks to query

Return Values

Name
Type
Description

[0]

struct VenusLens.VenusVotes[]

Array of VenusVotes structs with block number and vote count


pendingRewards

Calculate the total XVS tokens pending and accrued by a user account

Parameters

Name
Type
Description

holder

address

Account to query pending XVS

comptroller

contract ComptrollerInterface

Address of the comptroller

Return Values

Name
Type
Description

[0]

struct VenusLens.RewardSummary

Reward object contraining the totalRewards and pending rewards for each market


getAllPoolsData

Returns all pools (excluding the Core Pool) along with their associated market data

Parameters

Name
Type
Description

comptroller

contract ComptrollerInterface

The Comptroller contract to query

Return Values

Name
Type
Description

poolsData

struct VenusLens.PoolWithMarkets[]

An array of PoolWithMarkets structs, each containing pool info and its markets


getMarketsDataByPool

Retrieves full market data for all vTokens in a specific pool (excluding the Core Pool)

Parameters

Name
Type
Description

poolId

uint96

The pool ID to fetch data for

comptroller

contract ComptrollerInterface

The address of the Comptroller contract

Return Values

Name
Type
Description

result

struct VenusLens.MarketData[]

An array of MarketData structs containing detailed market info for the given pool

❌ Errors

  • PoolDoesNotExist Reverts if the given pool ID does not exist

  • InvalidOperationForCorePool Reverts if called on the Core Pool (poolId = 0)


Last updated