/// import { BorshAccountsCoder } from '@coral-xyz/anchor'; import { Market, Orderbook } from '@project-serum/serum'; import { AccountInfo, AddressLookupTableAccount, PublicKey } from '@solana/web3.js'; import BN from 'bn.js'; import { MangoClient } from '../client'; import { Id } from '../ids'; import { I80F48 } from '../numbers/I80F48'; import { PriceImpact } from '../risk'; import { Bank, MintInfo, TokenIndex } from './bank'; import { OracleProvider } from './oracle'; import { BookSide, PerpMarket, PerpMarketIndex } from './perp'; import { MarketIndex, Serum3Market } from './serum3'; export declare class Group { publicKey: PublicKey; creator: PublicKey; groupNum: number; admin: PublicKey; fastListingAdmin: PublicKey; mngoTokenIndex: TokenIndex; insuranceMint: PublicKey; insuranceVault: PublicKey; testing: number; version: number; buybackFees: boolean; buybackFeesMngoBonusFactor: number; addressLookupTables: PublicKey[]; securityAdmin: PublicKey; depositLimitQuote: any; ixGate: BN; buybackFeesSwapMangoAccount: PublicKey; buybackFeesExpiryInterval: BN; fastListingIntervalStart: BN; fastListingsInInterval: number; allowedFastListingsPerInterval: number; addressLookupTablesList: AddressLookupTableAccount[]; banksMapByName: Map; banksMapByMint: Map; banksMapByTokenIndex: Map; serum3MarketsMapByExternal: Map; serum3MarketsMapByMarketIndex: Map; serum3ExternalMarketsMap: Map; perpMarketsMapByOracle: Map; perpMarketsMapByMarketIndex: Map; perpMarketsMapByName: Map; mintInfosMapByTokenIndex: Map; mintInfosMapByMint: Map; vaultAmountsMap: Map; pis: PriceImpact[]; static from(publicKey: PublicKey, obj: { creator: PublicKey; groupNum: number; admin: PublicKey; fastListingAdmin: PublicKey; mngoTokenIndex: number; insuranceMint: PublicKey; insuranceVault: PublicKey; testing: number; version: number; buybackFees: number; buybackFeesMngoBonusFactor: number; addressLookupTables: PublicKey[]; securityAdmin: PublicKey; depositLimitQuote: BN; ixGate: BN; buybackFeesSwapMangoAccount: PublicKey; buybackFeesExpiryInterval: BN; fastListingIntervalStart: BN; fastListingsInInterval: number; allowedFastListingsPerInterval: number; }): Group; constructor(publicKey: PublicKey, creator: PublicKey, groupNum: number, admin: PublicKey, fastListingAdmin: PublicKey, mngoTokenIndex: TokenIndex, insuranceMint: PublicKey, insuranceVault: PublicKey, testing: number, version: number, buybackFees: boolean, buybackFeesMngoBonusFactor: number, addressLookupTables: PublicKey[], securityAdmin: PublicKey, depositLimitQuote: any, ixGate: BN, buybackFeesSwapMangoAccount: PublicKey, buybackFeesExpiryInterval: BN, fastListingIntervalStart: BN, fastListingsInInterval: number, allowedFastListingsPerInterval: number, addressLookupTablesList: AddressLookupTableAccount[], banksMapByName: Map, banksMapByMint: Map, banksMapByTokenIndex: Map, serum3MarketsMapByExternal: Map, serum3MarketsMapByMarketIndex: Map, serum3ExternalMarketsMap: Map, perpMarketsMapByOracle: Map, perpMarketsMapByMarketIndex: Map, perpMarketsMapByName: Map, mintInfosMapByTokenIndex: Map, mintInfosMapByMint: Map, vaultAmountsMap: Map, pis: PriceImpact[]); reloadAll(client: MangoClient): Promise; reloadPriceImpactData(): Promise; reloadAlts(client: MangoClient): Promise; reloadBanks(client: MangoClient, ids?: Id): Promise; reloadMintInfos(client: MangoClient, ids?: Id): Promise; reloadSerum3Markets(client: MangoClient, ids?: Id): Promise; reloadSerum3ExternalMarkets(client: MangoClient, ids?: Id): Promise; reloadPerpMarkets(client: MangoClient, ids?: Id): Promise; reloadBankOraclePrices(client: MangoClient): Promise; reloadPerpMarketOraclePrices(client: MangoClient): Promise; decodePriceFromOracleAi(coder: BorshAccountsCoder, oracle: PublicKey, ai: AccountInfo, baseDecimals: number, client: MangoClient): Promise<{ price: I80F48; uiPrice: number; lastUpdatedSlot: number; provider: OracleProvider; deviation: I80F48; }>; reloadVaults(client: MangoClient): Promise; getMintDecimals(mintPk: PublicKey): number; getMintDecimalsByTokenIndex(tokenIndex: TokenIndex): number; getInsuranceMintDecimals(): number; getFirstBankByMint(mintPk: PublicKey): Bank; getFirstBankByTokenIndex(tokenIndex: TokenIndex): Bank; /** * Returns a price impact in percentage, between 0 to 100 for a token, * returns -1 if data is bad */ getPriceImpactByTokenIndex(tokenIndex: TokenIndex, usdcAmountUi: number): number; getFirstBankForMngo(): Bank; getFirstBankForPerpSettlement(): Bank; getTokenVaultBalanceByMint(mintPk: PublicKey): BN; /** * * @param mintPk * @returns sum of ui balances of vaults for all banks for a token */ getTokenVaultBalanceByMintUi(mintPk: PublicKey): number; getSerum3MarketByMarketIndex(marketIndex: MarketIndex): Serum3Market; getSerum3MarketByName(name: string): Serum3Market; getSerum3MarketByExternalMarket(externalMarketPk: PublicKey): Serum3Market; getSerum3ExternalMarket(externalMarketPk: PublicKey): Market; loadSerum3BidsForMarket(client: MangoClient, externalMarketPk: PublicKey): Promise; loadSerum3AsksForMarket(client: MangoClient, externalMarketPk: PublicKey): Promise; findPerpMarket(marketIndex: PerpMarketIndex): PerpMarket; getPerpMarketByOracle(oracle: PublicKey): PerpMarket; getPerpMarketByMarketIndex(marketIndex: PerpMarketIndex): PerpMarket; getPerpMarketByName(perpMarketName: string): PerpMarket; loadPerpBidsForMarket(client: MangoClient, perpMarketIndex: PerpMarketIndex): Promise; loadPerpAsksForMarket(client: MangoClient, group: Group, perpMarketIndex: PerpMarketIndex): Promise; consoleLogBanks(): void; toUiPrice(price: I80F48 | number, baseDecimals: number): number; toNativePrice(uiPrice: number, baseDecimals: number): I80F48; toNativeDecimals(uiAmount: number, mintPk: PublicKey): BN; toString(): string; } //# sourceMappingURL=group.d.ts.map