UNPKG

@augustdigital/pools

Version:

External services interactions

70 lines (69 loc) 2.49 kB
import type { IAddress, IEnv, IPoolLoan, IPoolWithUnderlying, IPoolFunctions, IDebankProtocolExposure, IDebankTokenExposure, IWSSubaccountCefi, IOTCPosition, ITokenizedVault } from '@augustdigital/types'; export declare const determineBlockCutoff: (chain: number) => 120000 | 150000; export declare const determineBlockSkipInternal: (chain: number) => 8000 | 50000; export declare const LOANS_APR_DECIMALS = 2; export declare const isBadVault: (address?: string) => boolean; export declare function getPoolsData({ env, pools, rpcUrl, tokenizedVaults, functions, }: { env?: IEnv; pools: IAddress[]; rpcUrl: string; tokenizedVaults: ITokenizedVault[]; functions?: IPoolFunctions[]; }): Promise<IPoolWithUnderlying[]>; export declare function getPoolLoans({ pool, rpcUrl, env, }: { env?: IEnv; pool: IPoolWithUnderlying; rpcUrl: string; }): Promise<`0x${string}`[]>; export declare function getTokenizedPoolData({ pool, rpcUrl, env, strategies, apiKey, }: { pool: IPoolWithUnderlying; rpcUrl: string; env?: IEnv; apiKey?: string; strategies?: boolean; }): Promise<{ apy: number; collateral: IAddress[]; loans: IPoolLoan[]; protocolExposure: IDebankProtocolExposure[]; tokenExposure: IDebankTokenExposure[]; cefiExposure: IWSSubaccountCefi[]; debankBorrowerResponses?: Record<string, any>; otcPositions?: Record<string, IOTCPosition>; vaultsSubAccWhitelist?: IAddress[]; }>; export declare function getPoolLoansData({ pool, loans, rpcUrl, env, strategies, apiKey, }: { pool: IPoolWithUnderlying; loans: IAddress[]; rpcUrl: string; env?: IEnv; strategies?: boolean; apiKey?: string; }): Promise<{ apy: number; collateral: IAddress[]; loans: IPoolLoan[]; protocolExposure: IDebankProtocolExposure[]; tokenExposure: IDebankTokenExposure[]; cefiExposure: IWSSubaccountCefi[]; debankBorrowerResponses?: Record<string, any>; otcPositions?: Record<string, IOTCPosition>; vaultsSubAccWhitelist?: IAddress[]; }>; export declare function getPoolBorrowerHealthFactor({ pool, rpcUrl, env, apiKey, }: { pool: IPoolWithUnderlying; rpcUrl: string; env?: IEnv; strategies?: boolean; apiKey?: string; }): Promise<{ borrower: IAddress; loan: IAddress; health_factor?: { datetime: string; health_factor: number; id: string; total_collateral_value: number; total_loan_value: number; }; }[]>;