/// import { Orderbook, Market as SerumMarket } from "./serum/market"; import { AccountInfo, ConfirmOptions, PublicKey } from "@solana/web3.js"; import * as types from "./types"; import { EventType } from "./events"; import { Asset } from "./constants"; export declare class ZetaGroupMarkets { /** * The underlying asset this set of markets belong to. */ get asset(): Asset; private _asset; /** * The list of markets in the same ordering as the zeta group account * They are in sorted order by market address. */ get market(): Market; private _market; set pollInterval(interval: number); get pollInterval(): number; private _pollInterval; private _lastPollTimestamp; private constructor(); /** * Will load a new instance of ZetaGroupMarkets * Should not be called outside of SubExchange. */ static load(asset: Asset, opts: ConfirmOptions, decodedSrmMarket: any, bidAccInfo: AccountInfo | undefined, askAccInfo: AccountInfo | undefined, clockData: types.ClockData): Promise; /** * Returns the market object for a given index. */ getMarket(): Market; /** * Returns the market index for a given market address. */ getMarketIndex(market: PublicKey): number; } /** * Wrapper class for a zeta market on serum. */ export declare class Market { /** * The underlying asset this set of markets belong to. */ get asset(): Asset; private _asset; /** * The serum market address. */ get address(): PublicKey; private _address; /** * The zeta group this market belongs to. * TODO currently there exists only one zeta group. */ get zetaGroup(): PublicKey; private _zetaGroup; /** * The zeta vault for the quote mint. */ get quoteVault(): PublicKey; private _quoteVault; /** * The zeta vault for the base mint. */ get baseVault(): PublicKey; private _baseVault; /** * The serum Market object from @project-serum/ts */ get serumMarket(): SerumMarket; private _serumMarket; set bids(bids: Orderbook); private _bids; set asks(asks: Orderbook); private _asks; get bidsSlot(): number; private _bidsSlot; get asksSlot(): number; private _asksSlot; private _bidsSubscriptionId; private _asksSubscriptionId; /** * Returns the best N levels for bids and asks */ get orderbook(): types.DepthOrderbook; private _orderbook; /** * The strike of this option, modified on new expiry. */ get strike(): number; private _strike; set TIFBufferSeconds(buffer: number); get TIFBufferSeconds(): number; private _TIFBufferSeconds; constructor(asset: Asset, address: PublicKey, zetaGroup: PublicKey, quoteVault: PublicKey, baseVault: PublicKey, serumMarket: SerumMarket); updateStrike(): void; subscribeOrderbook(callback?: (asset: Asset, type: EventType, slot: number, data: any) => void): void; unsubscribeOrderbook(wipeState?: boolean): Promise; forceFetchOrderbook(): Promise; updateOrderbook(): void; getTopLevel(): types.TopLevel; static convertOrder(market: Market, order: any): types.Order; getOrdersForAccount(openOrdersAddress: PublicKey): types.Order[]; getMarketOrders(): types.Order[]; getBidOrders(): types.Order[]; getAskOrders(): types.Order[]; cancelAllOrdersHalted(): Promise; }