import { PublicKey } from '@solana/web3.js'; import { TokenIndex } from './accounts/bank'; import { Group } from './accounts/group'; import { MangoAccount } from './accounts/mangoAccount'; import { MangoClient } from './client'; export interface LiqorPriceImpact { Coin: { val: string; highlight: boolean; }; 'Oracle Price': { val: number; highlight: boolean; }; 'Jup Price': { val: number; highlight: boolean; }; 'Future Price': { val: number; highlight: boolean; }; 'V4 Liq Fee': { val: number; highlight: boolean; }; Liabs: { val: number; highlight: boolean; }; 'Liabs Slippage': { val: number; highlight: boolean; }; Assets: { val: number; highlight: boolean; }; 'Assets Slippage': { val: number; highlight: boolean; }; } export interface PerpPositionsToBeLiquidated { Market: { val: string; highlight: boolean; }; Price: { val: number; highlight: boolean; }; 'Future Price': { val: number; highlight: boolean; }; 'Notional Position': { val: number; highlight: boolean; }; } export interface AccountEquity { Account: { val: PublicKey; highlight: boolean; }; Equity: { val: number; highlight: boolean; }; } export interface LiquidationBatches { start: number; startAssets: number; prev: number; prevAssets: number; largestBatchQuoteUi: number; } export interface Risk { assetRally: { title: string; data: LiqorPriceImpact[]; }; assetDrop: { title: string; data: LiqorPriceImpact[]; }; usdcDepeg: { title: string; data: LiqorPriceImpact[]; }; usdtDepeg: { title: string; data: LiqorPriceImpact[]; }; perpRally: { title: string; data: PerpPositionsToBeLiquidated[]; }; perpDrop: { title: string; data: PerpPositionsToBeLiquidated[]; }; marketMakerEquity: { title: string; data: AccountEquity[]; }; liqorEquity: { title: string; data: AccountEquity[]; }; } export type PriceImpact = { symbol: string; side: 'bid' | 'ask'; target_amount: number; avg_price_impact_percent: number; min_price_impact_percent: number; max_price_impact_percent: number; p90: number; p95: number; }; /** * Returns price impact in bps i.e. 0 to 10,000 * returns -1 if data is missing */ export declare function computePriceImpactOnJup(pis: PriceImpact[], usdcAmount: number, tokenName: string): number; export declare function getOnChainPriceForMints(mints: string[]): Promise; export declare function getPriceImpactForLiqor(group: Group, pis: PriceImpact[], mangoAccounts: MangoAccount[]): Promise; export declare function getPerpPositionsToBeLiquidated(group: Group, mangoAccounts: MangoAccount[]): Promise; export declare function getEquityForMangoAccounts(client: MangoClient, group: Group, mangoAccountPks: PublicKey[], allMangoAccounts: MangoAccount[]): Promise; export declare function findLargestAssetBatchUi(pisForLiqor: LiqorPriceImpact[][], coin: string, startFromChange?: number, maxChange?: number, stepSize?: number): [number, number, LiquidationBatches[]]; export declare function buildGroupGrid(group: Group, allMangoAccounts: any, stepSize?: number): Promise; export declare function getLiquidationBatches(client: MangoClient, group: Group): Promise<{ token: TokenIndex; liquidationPoints: LiquidationBatches[]; }[]>; export declare function getRiskStats(client: MangoClient, group: Group, change?: number): Promise; //# sourceMappingURL=risk.d.ts.map