import { providers } from 'ethers'; import { ReservesHelperInput, UserReservesHelperInput } from '../index'; import { ReservesData, ReservesDataHumanized, UserNtokenData, UserNtokenDataReq, UserNtokenHumanizedData, UserNtokenHumanizedDataReq, UserReserveData, UserReserveDataHumanized, UserReservesHumanizedHelperInput } from './types'; export * from './types'; export interface NFTConfig { nft: string; nftType: number; useTotalSupplyAsMaxId: boolean; viewerStep: number; } export interface UiPoolDataProviderContext { uiPoolDataProviderAddress: string; provider: providers.Provider; chainId: number; } export interface ExtraTokenData { scaledXTokenBalance: string; collaterizedBalance: string; ownedTokens: number[]; suppliedTokens: number[]; collaterizedTokens: number[]; auctionedTokens: number[]; tokenTraitMultipliers: Map; } export interface UiPoolDataProviderInterface { getReservesList: (args: ReservesHelperInput) => Promise; getReservesData: (args: ReservesHelperInput) => Promise; getUserReservesData: (args: UserReservesHelperInput) => Promise; getReservesHumanized: (args: ReservesHelperInput) => Promise; getUserReservesHumanized: (args: UserReservesHumanizedHelperInput) => Promise<{ userReserves: UserReserveDataHumanized[]; userEmodeCategoryId: number; }>; getNtokenData: (args: UserNtokenDataReq) => Promise; getNtokenDataHumanized: (args: UserNtokenHumanizedDataReq) => Promise; } export declare class UiPoolDataProvider implements UiPoolDataProviderInterface { private readonly deployLessViewer; private readonly _contract; private readonly chainId; private readonly wpunk_servive; /** * Constructor * @param context The ui pool data provider context */ constructor(context: UiPoolDataProviderContext); /** * Get the underlying asset address for each lending pool reserve */ getReservesList({ lendingPoolAddressProvider, }: ReservesHelperInput): Promise; batchGetUniswapV3LpTokenData({ poolAddressProvider, tokenAddress, tokenIds, }: { oracleAddress: string; poolAddressProvider: string; tokenAddress: string; tokenIds: number[]; }): Promise<([string, string, number, number, number, number, import("ethers").BigNumber, import("ethers").BigNumber, import("ethers").BigNumber, import("ethers").BigNumber, import("ethers").BigNumber, import("ethers").BigNumber, import("ethers").BigNumber, import("ethers").BigNumber] & { token0: string; token1: string; feeRate: number; positionTickLower: number; positionTickUpper: number; currentTick: number; liquidity: import("ethers").BigNumber; liquidityToken0Amount: import("ethers").BigNumber; liquidityToken1Amount: import("ethers").BigNumber; lpFeeToken0Amount: import("ethers").BigNumber; lpFeeToken1Amount: import("ethers").BigNumber; tokenPrice: import("ethers").BigNumber; baseLTVasCollateral: import("ethers").BigNumber; reserveLiquidationThreshold: import("ethers").BigNumber; })[]>; /** * Get data for each lending pool reserve */ getReservesData({ lendingPoolAddressProvider, }: ReservesHelperInput): Promise<[import("./typechain/IUiPoolDataProvider").IUiPoolDataProvider.AggregatedReserveDataStructOutput[], import("./typechain/IUiPoolDataProvider").IUiPoolDataProvider.BaseCurrencyInfoStructOutput]>; /** * Get data for user nToken useAscollectoral status */ getNtokenData({ lendingPoolAddressProvider, nTokenAddresses, tokenIds, }: UserNtokenDataReq): Promise; /** * Get data for user nToken useAscollectoral status */ getNtokenDataHumanized({ lendingPoolAddressProvider, user, nTokenAddresses, }: UserNtokenHumanizedDataReq): Promise; /** * Get data for each user reserve on the lending pool */ getUserReservesData({ lendingPoolAddressProvider, user, }: UserReservesHelperInput): Promise; getReservesHumanized({ lendingPoolAddressProvider, }: ReservesHelperInput): Promise; getUserReservesHumanized({ lendingPoolAddressProvider, user, reservesDataHumanized, }: UserReservesHumanizedHelperInput): Promise<{ userReserves: UserReserveDataHumanized[]; userEmodeCategoryId: number; }>; getDelegatesForTokens(nTokenAddr: string, tokenIds: string[]): Promise; getDategatesForTokensInBatch(tokenInfos: Array<{ nTokenAddr: string; tokenIds: string[]; }>): Promise; } //# sourceMappingURL=index.d.ts.map