UNPKG

@dainprotocol/drift-sdk

Version:

SDK for Drift Protocol

26 lines (25 loc) 1.23 kB
import { MarketTypeStr, Order, ProtectedMakerParams } from '..'; import { DLOBNode, DLOBNodeMap } from './DLOBNode'; 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): 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; }