mirror of
https://github.com/mauricioabh/arbpulse.git
synced 2026-07-27 15:47:43 +00:00
2e8744ccf0
Real-time BTC cross-exchange arbitrage detection (Kraken, Bybit, OKX, Binance) with React dashboard, GitHub Actions CI, and documented Fly.io deploy workflow. Co-authored-by: Cursor <cursoragent@cursor.com>
22 lines
698 B
TypeScript
22 lines
698 B
TypeScript
import type { OrderBook } from "../../domain/entities/index.js";
|
|
import type { ArbitrageEngine } from "../../domain/services/arbitrage-engine.js";
|
|
|
|
export interface FeedRecorderPort {
|
|
record(book: OrderBook): void;
|
|
}
|
|
|
|
/** Hot path: record optional NDJSON, then drive detection on the updated book. */
|
|
export class ProcessOrderBookUpdate {
|
|
constructor(
|
|
private readonly engine: ArbitrageEngine,
|
|
private readonly recorder: FeedRecorderPort,
|
|
private readonly isExchangeActive: (exchange: OrderBook["exchange"]) => boolean,
|
|
) {}
|
|
|
|
run(book: OrderBook): void {
|
|
if (!this.isExchangeActive(book.exchange)) return;
|
|
this.recorder.record(book);
|
|
this.engine.onBook(book);
|
|
}
|
|
}
|