import { BigNumber, CallOverrides } from 'ethers'; import { Context } from '@derivation-tech/context'; import { Instrument, InstrumentIdentifier, Portfolio, TokenInfo, ByBase, ByQuote, TradeInfo, Position, TxOptions } from '../types'; import { Leverage, MarketType, Side } from '../enum'; import { BlockInfoStructOutput, PortfolioStructOutput } from '../typechain/Observer'; export declare function quickRetry(fn: () => Promise, times?: number, interval?: number): Promise; export declare function getLeverageFromImr(imr: number): Leverage; export declare function alignExpiry(): number; export declare function alignTick(tick: number, tickSpacing: number): number; export declare function getMinTick(tickSpacing: number): number; export declare function getMaxTick(tickSpacing: number): number; export declare function getMaxLiquidityPerTick(tickSpacing: number): BigNumber; export declare function rangeKey(tickLower: number, tickUpper: number): number; export declare function orderKey(tick: number, nonce: number): number; export declare function parseTicks(key: number): { tickLower: number; tickUpper: number; }; export declare function parseOrderTickNonce(key: number): { tick: number; nonce: number; }; export declare function normalizeTick(originTick: number, tickSpacing: number): number; export declare function solidityRequire(condition: boolean, message?: string): void; export declare function tickDeltaToAlphaWad(tickDelta: number): BigNumber; export declare function alphaWadToTickDelta(alphaWad: BigNumber): number; export declare function decomposePbitmap(pbitmap: BigNumber): number[]; export declare function trimObj(obj: T & { length: number; }): T; export declare function formatExpiry(expiry: number): string; export declare function dateExpiry2Ts(expiry: string): number; export declare function getTokenSymbol(base: string | TokenInfo, quote: string | TokenInfo): { baseSymbol: string; quoteSymbol: string; }; export declare function getTokenInfo(instrumentIdentifier: InstrumentIdentifier, ctx: Context): Promise<{ baseTokenInfo: TokenInfo; quoteTokenInfo: TokenInfo; }>; export declare function isEmptyPortfolio(portfolio: Portfolio): boolean; export declare function isCexMarket(marketType: MarketType): boolean; export declare function sizeToSide(size: BigNumber): Side; export declare function signOfSide(side: Side): number; export declare function isByBase(size: ByBase | ByQuote): size is ByBase; export declare function isPosition(info: TradeInfo | Position): info is Position; export declare function isPortfolio(info: TradeInfo | Portfolio): info is Portfolio; export declare function isInstrument(instrument: Instrument | InstrumentIdentifier): instrument is Instrument; export declare function toPopulatedTxOverrides(txOptions?: TxOptions): CallOverrides; export declare function toPortfolio(instrumentAddr: string, expiry: number, traderAddr: string, resp: { portfolio: PortfolioStructOutput; blockInfo: BlockInfoStructOutput; }): Portfolio; //# sourceMappingURL=utils.d.ts.map