@augustdigital/pools
Version:
External services interactions
70 lines (69 loc) • 2.49 kB
TypeScript
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;
};
}[]>;