@dainprotocol/drift-sdk
Version:
SDK for Drift Protocol
26 lines (25 loc) • 1.23 kB
TypeScript
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;
}