UNPKG

@crstrskp/graph

Version:

High-performance TypeScript graph algorithms library optimized for trading bots and arbitrage detection

47 lines 1.54 kB
import { Edge } from "./Edge"; import { Path } from "./Path"; import { ThreadSafeGraphImpl } from './ThreadSafeGraphImpl'; export interface MarketUpdate { fromAsset: string; toAsset: string; price: number; timestamp: number; maxTradeSize?: number; } export interface EdgeMetadata { lastUpdated: number; maxAge: number; maxTradeSize?: number; source: string; } export declare class RealTimeGraphImpl extends ThreadSafeGraphImpl { private edgeMetadata; private edgeIndex; private updateQueue; private batchSize; private batchTimeoutMs; private batchTimeout; private isProcessingBatch; constructor(batchSize?: number, batchTimeoutMs?: number); addMarketUpdate(update: MarketUpdate): Promise<void>; addMarketUpdates(updates: MarketUpdate[]): Promise<void>; private processBatch; private applyUpdates; private applyUpdateInternal; getArbitrageOpportunities(maxAge?: number): Promise<Path[]>; private cleanStaleEdges; private findNegativeCycles; private buildCycleFrom; private getNodeKey; getOptimalPath(from: string, to: string, maxAge?: number): Promise<Path | null>; getEdgeMetadata(edge: Edge): Promise<EdgeMetadata | undefined>; validateTradeSize(path: Path, tradeSize: number): Promise<boolean>; getStatistics(): { totalVertices: number; totalEdges: number; queueSize: number; isProcessing: boolean; }; destroy(): Promise<void>; } //# sourceMappingURL=RealTimeGraphImpl.d.ts.map