UNPKG

@drift-labs/sdk

Version:
28 lines (27 loc) 1.32 kB
/// <reference types="bn.js" /> import { MarketTypeStr, Order, ProtectedMakerParams } from '../types'; import { DLOBNode, DLOBNodeMap } from './DLOBNode'; import { BN } from '@coral-xyz/anchor'; export type SortDirection = 'asc' | 'desc'; export declare function getOrderSignature(orderId: number, userAccount: string): string; export interface DLOBNodeGenerator { getGenerator(): Generator<DLOBNode>; } export declare class NodeList<NodeType extends keyof DLOBNodeMap> implements DLOBNodeGenerator { private nodeType; private sortDirection; head?: DLOBNodeMap[NodeType]; length: number; nodeMap: Map<string, DLOBNodeMap[NodeType]>; constructor(nodeType: NodeType, sortDirection: SortDirection); clear(): void; insert(order: Order, marketType: MarketTypeStr, userAccount: string, isProtectedMaker: boolean, protectedMakerParamsMap?: ProtectedMakerParams, baseAssetAmount?: BN): void; prependNode(currentNode: DLOBNodeMap[NodeType], newNode: DLOBNodeMap[NodeType]): boolean; update(order: Order, userAccount: string): void; remove(order: Order, userAccount: string): void; getGenerator(): Generator<DLOBNode>; has(order: Order, userAccount: string): boolean; get(orderSignature: string): DLOBNodeMap[NodeType] | undefined; print(): void; printTop(): void; }