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
Blocks Per Day
Total actions available on VToken
struct VenusMarketState {
uint256 exchangeRateCurrent;
uint256 supplyRatePerBlock;
uint256 borrowRatePerBlock;
uint256 reserveFactorMantissa;
uint256 collateralFactorMantissa;
address underlyingAssetAddress;
uint256 underlyingDecimals;
uint256 venusSupplySpeed;
uint256 venusBorrowSpeed;
uint256 borrowBalanceCurrent;
uint256 balanceOfUnderlying;
struct VTokenUnderlyingPrice {
contract VToken[] markets;
struct XVSBalanceMetadata {
struct XVSBalanceMetadataExt {
struct ClaimVenusLocalVariables {
address distributorAddress;
address rewardTokenAddress;
struct VenusLens . PendingReward[] pendingRewards;
Holds full market information for a single vToken within a specific pool (excluding the Core Pool)
uint256 collateralFactor;
uint256 liquidationThreshold;
uint256 liquidationIncentive;
Struct representing a pool (excluding the Core Pool) and its associated markets
struct VenusLens . MarketData[] markets;
Query the metadata of a vToken by its address
function vTokenMetadata ( contract VToken vToken ) public returns ( struct VenusLens . VTokenMetadata )
Name Type Description vToken contract VToken The address of the vToken to fetch VTokenMetadata
Name Type Description [0] struct VenusLens.VTokenMetadata VTokenMetadata struct with vToken supply and borrow information.
Get VTokenMetadata for an array of vToken addresses
function vTokenMetadataAll ( contract VToken [] vTokens ) external returns ( struct VenusLens . VTokenMetadata [])
Name Type Description vTokens contract VToken[] Array of vToken addresses to fetch VTokenMetadata
Name Type Description [0] struct VenusLens.VTokenMetadata[] Array of structs with vToken supply and borrow information.
Get amount of XVS distributed daily to an account
function getDailyXVS ( address payable account , address comptrollerAddress ) external returns ( uint256 )
Name Type Description account address payable Address of account to fetch the daily XVS distribution comptrollerAddress address Address of the comptroller proxy
Name Type Description [0] uint256 Amount of XVS distributed daily to an account
Get the current vToken balance (outstanding borrows) for an account
function vTokenBalances ( contract VToken vToken , address payable account ) public returns ( struct VenusLens . VTokenBalances )
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
Name Type Description [0] struct VenusLens.VTokenBalances VTokenBalances with token balance information
Get the current vToken balances (outstanding borrows) for all vTokens on an account
function vTokenBalancesAll ( contract VToken [] vTokens , address payable account ) external returns ( struct VenusLens . VTokenBalances [])
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
Name Type Description [0] struct VenusLens.VTokenBalances[] VTokenBalances Array with token balance information
Get the price for the underlying asset of a vToken
function vTokenUnderlyingPrice ( contract VToken vToken ) public view returns ( struct VenusLens . VTokenUnderlyingPrice )
Name Type Description vToken contract VToken address of the vToken
Name Type Description [0] struct VenusLens.VTokenUnderlyingPrice response struct with underlyingPrice info of vToken
Query the underlyingPrice of an array of vTokens
function vTokenUnderlyingPriceAll ( contract VToken [] vTokens ) external view returns ( struct VenusLens . VTokenUnderlyingPrice [])
Name Type Description vTokens contract VToken[] Array of vToken addresses
Name Type Description [0] struct VenusLens.VTokenUnderlyingPrice[] array of response structs with underlying price information of vTokens
Query the account liquidity and shortfall of an account
function getAccountLimits ( contract ComptrollerInterface comptroller , address account ) public view returns ( struct VenusLens . AccountLimits )
Name Type Description comptroller contract ComptrollerInterface Address of comptroller proxy account address Address of the account to query
Name Type Description [0] struct VenusLens.AccountLimits Struct with markets user has entered, liquidity, and shortfall of the account
Query the XVSBalance info of an account
function getXVSBalanceMetadata ( contract IXVS xvs , address account ) external view returns ( struct VenusLens . XVSBalanceMetadata )
Name Type Description xvs contract IXVS XVS contract address account address Account address
Name Type Description [0] struct VenusLens.XVSBalanceMetadata Struct with XVS balance and voter details
Query the XVSBalance extended info of an account
function getXVSBalanceMetadataExt ( contract IXVS xvs , contract ComptrollerInterface comptroller , address account ) external returns ( struct VenusLens . XVSBalanceMetadataExt )
Name Type Description xvs contract IXVS XVS contract address comptroller contract ComptrollerInterface Comptroller proxy contract address account address Account address
Name Type Description [0] struct VenusLens.XVSBalanceMetadataExt Struct with XVS balance and voter details and XVS allocation
Query the voting power for an account at a specific list of block numbers
function getVenusVotes ( contract IXVS xvs , address account , uint32 [] blockNumbers ) external view returns ( struct VenusLens . VenusVotes [])
Name Type Description xvs contract IXVS XVS contract address account address Address of the account blockNumbers uint32[] Array of blocks to query
Name Type Description [0] struct VenusLens.VenusVotes[] Array of VenusVotes structs with block number and vote count
Calculate the total XVS tokens pending and accrued by a user account
function pendingRewards ( address holder , contract ComptrollerInterface comptroller ) external view returns ( struct VenusLens . RewardSummary )
Name Type Description holder address Account to query pending XVS comptroller contract ComptrollerInterface Address of the comptroller
Name Type Description [0] struct VenusLens.RewardSummary Reward object contraining the totalRewards and pending rewards for each market
Returns all pools (excluding the Core Pool) along with their associated market data
function getAllPoolsData ( contract ComptrollerInterface comptroller ) external view returns ( struct VenusLens . PoolWithMarkets [] poolsData )
Name Type Description comptroller contract ComptrollerInterface The Comptroller contract to query
Name Type Description poolsData struct VenusLens.PoolWithMarkets[] An array of PoolWithMarkets structs, each containing pool info and its markets
Retrieves full market data for all vTokens in a specific pool (excluding the Core Pool)
function getMarketsDataByPool ( uint96 poolId , contract ComptrollerInterface comptroller ) public view returns ( struct VenusLens . MarketData [] result )
Name Type Description poolId uint96 The pool ID to fetch data for comptroller contract ComptrollerInterface The address of the Comptroller contract
Name Type Description result struct VenusLens.MarketData[] An array of MarketData structs containing detailed market info for the given pool
PoolDoesNotExist Reverts if the given pool ID does not exist
InvalidOperationForCorePool Reverts if called on the Core Pool (poolId = 0)