Tracking balance and TVL
Fetching User's Balance
To fetch user's balance within a specific pool:
const userPoolBalance = await sdk.vaults.balanceOf(vault, pool, await signer.getAddress());
Where:
vault
– Address of the Yelay vault.pool
– ID of the requested pool.
Retrieving TVL of a Client's Pool
To fetch the Total Value Locked (TVL) of a specific pool within a Yelay vault:
const poolsTvl = await sdk.pools.getPoolsTvl(vault, [pool]);
Where:
vault
– Address of the Yelay vault.pool
– Array of pool IDs to calculate the total TVL
Getting historical TVL data for a vault and pool
const historicalTVL = await sdk.pools.historicalTVL({
vaultAddress: '0x1234...5678', // Required: The vault address to get TVL for
poolId: 1, // Required: The specific pool ID to query
fromTimestamp: 1641034800, // Optional: Start time in seconds (Jan 1, 2022)
toTimestamp: 1672570800, // Optional: End time in seconds (Jan 1, 2023)
page: 1, // Optional: Page number for pagination (starts at 1)
pageSize: 30, // Optional: Number of records per page (max 100)
});
Code example where only required parameters are used:
const currentTVL = await sdk.pools.historicalTVL({
vaultAddress: '0x1234...5678',
poolId: 1,
});
The method returns a paginated response with the following structure:
// Example response from historicalTVL
{
data: [
{
vaultAddress: "0x1234...5678",
poolId: 1,
createTimestamp: 1745820000,
assets: "31000000000000"
},
// ... more data items
],
totalItems: 11, // Total number of items matching the query
totalPages: 1, // Total number of pages
currentPage: 1, // Current page number
pageSize: 30 // Number of items per page
}
Last updated