UNPKG

@thespidercode/openbook-swap

Version:
76 lines (75 loc) 2.34 kB
import { Connection, PublicKey } from "@solana/web3.js"; import { TokenDetails } from "./token"; import { Swap } from "./swap"; import { Market } from "./serum/market"; export declare const getMarketOrdersOnChain: (marketAddress: PublicKey, connection: Connection, market?: Market) => Promise<{ market: MarketOrders | undefined; } | undefined>; export declare const getMarketInfo: (connection: Connection, market: Market) => Promise<MarketOrders | undefined>; export declare const getMarket: (marketAddress: string) => Promise<{ data: { market: MarketOrders; tokenPrices: { [key: string]: number; }; }; } | null>; export declare const getMarketOrders: (marketAddress: PublicKey) => Promise<{ market: MarketOrders; tokenPrices: { [key: string]: number; }; } | null>; export declare const getMarketData: (marketAddress: PublicKey, connection: Connection, onchain: boolean) => Promise<{ marketOrdersResponse: any; isOnChainData: boolean; }>; export declare const computeQuotes: (marketOrders: MarketOrders, swap: Swap) => Promise<{ amounts: { quote: number; base: number; }; inputAmounts: { base: string; quote: string; }; slotConsumed: number; sell: boolean; market: MarketDetails; } | undefined>; export declare const updateMarketOrders: (marketOrders: MarketOrders, marketOrdersResponse: any, setMarketOrders: (value: MarketOrders) => void, base: string, price: number) => Promise<void>; export declare const marketOrdersInit: MarketOrders; export interface Markets { [key: string]: MarketDetails; } export interface MarketDetails { address: PublicKey; base: TokenDetails; quote: TokenDetails; minBase: number; swapMargin: number; } export interface MarketOrders { bids: number[][]; asks: number[][]; totalBaseQuantity: number; totalQuoteQuantity: number; highestBid: number; lowestAsk: number; highestBidVQuantity: number; lowestAskQuantity: number; updatedAt: string; } export interface SwapMarket { address: PublicKey; base: SwapMarketToken; quote: SwapMarketToken; minBase: number; swapMargin: number; } export interface SwapMarketToken { name: string; logo: string; mint: PublicKey; vault: PublicKey; }