@drift-labs/sdk
Version:
SDK for Drift Protocol
28 lines (27 loc) • 1.32 kB
TypeScript
/// <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;
}