UNPKG

lending-apy-fetcher-ts

Version:

TypeScript library for fetching APYs from DeFi lending protocols

32 lines (26 loc) 1.04 kB
import { UiPoolDataProvider, } from '@aave/contract-helpers'; import { formatReserves } from '@aave/math-utils'; import { ApyData } from '../types'; async function getAaveSupplyRates(network: string, contract: UiPoolDataProvider, poolAddressProvider: string): Promise<ApyData[]> { const reserves = await contract.getReservesHumanized({ lendingPoolAddressProvider: poolAddressProvider, }); const currentTimestamp = Math.floor(Date.now() / 1000); const formattedPoolReserves = formatReserves({ reserves: reserves.reservesData, currentTimestamp, marketReferenceCurrencyDecimals: reserves.baseCurrencyData.marketReferenceCurrencyDecimals, marketReferencePriceInUsd: reserves.baseCurrencyData.marketReferenceCurrencyPriceInUsd, }); const result: ApyData[] = formattedPoolReserves.map((reserve) => ({ token_symbol: reserve.symbol, apy: parseFloat(reserve.supplyAPY), protocol_name: 'Aave', network: network, })); return result; } export { getAaveSupplyRates };