@catalyst-team/poly-sdk 0.4.6 → 0.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -9
- package/README.zh-CN.md +18 -9
- package/dist/src/clients/data-api.d.ts +25 -0
- package/dist/src/clients/data-api.d.ts.map +1 -1
- package/dist/src/clients/data-api.js +57 -0
- package/dist/src/clients/data-api.js.map +1 -1
- package/dist/src/core/types.d.ts +55 -0
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/index.d.ts +6 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/realtime/index.d.ts +18 -0
- package/dist/src/realtime/index.d.ts.map +1 -0
- package/dist/src/realtime/index.js +14 -0
- package/dist/src/realtime/index.js.map +1 -0
- package/dist/src/realtime/realtime-data-client.d.ts +274 -0
- package/dist/src/realtime/realtime-data-client.d.ts.map +1 -0
- package/dist/src/realtime/realtime-data-client.js +771 -0
- package/dist/src/realtime/realtime-data-client.js.map +1 -0
- package/dist/src/realtime/types.d.ts +485 -0
- package/dist/src/realtime/types.d.ts.map +1 -0
- package/dist/src/realtime/types.js +36 -0
- package/dist/src/realtime/types.js.map +1 -0
- package/dist/src/services/arbitrage-service.d.ts.map +1 -1
- package/dist/src/services/arbitrage-service.js +2 -1
- package/dist/src/services/arbitrage-service.js.map +1 -1
- package/dist/src/services/dip-arb-service.d.ts.map +1 -1
- package/dist/src/services/dip-arb-service.js +3 -19
- package/dist/src/services/dip-arb-service.js.map +1 -1
- package/dist/src/services/market-service.d.ts +93 -11
- package/dist/src/services/market-service.d.ts.map +1 -1
- package/dist/src/services/market-service.js +189 -22
- package/dist/src/services/market-service.js.map +1 -1
- package/dist/src/services/order-handle.test.d.ts +15 -0
- package/dist/src/services/order-handle.test.d.ts.map +1 -0
- package/dist/src/services/order-handle.test.js +333 -0
- package/dist/src/services/order-handle.test.js.map +1 -0
- package/dist/src/services/order-manager.d.ts +162 -6
- package/dist/src/services/order-manager.d.ts.map +1 -1
- package/dist/src/services/order-manager.js +419 -30
- package/dist/src/services/order-manager.js.map +1 -1
- package/dist/src/services/realtime-service-v2.d.ts +122 -6
- package/dist/src/services/realtime-service-v2.d.ts.map +1 -1
- package/dist/src/services/realtime-service-v2.js +475 -70
- package/dist/src/services/realtime-service-v2.js.map +1 -1
- package/dist/src/services/trading-service.d.ts +129 -1
- package/dist/src/services/trading-service.d.ts.map +1 -1
- package/dist/src/services/trading-service.js +198 -5
- package/dist/src/services/trading-service.js.map +1 -1
- package/package.json +1 -2
- package/dist/src/services/ctf-detector.d.ts +0 -215
- package/dist/src/services/ctf-detector.d.ts.map +0 -1
- package/dist/src/services/ctf-detector.js +0 -420
- package/dist/src/services/ctf-detector.js.map +0 -1
|
@@ -183,7 +183,7 @@ import { EventEmitter } from 'events';
|
|
|
183
183
|
import { type LimitOrderParams, type MarketOrderParams, type Order, type OrderResult } from './trading-service.js';
|
|
184
184
|
import { RateLimiter } from '../core/rate-limiter.js';
|
|
185
185
|
import type { UnifiedCache } from '../core/unified-cache.js';
|
|
186
|
-
import { OrderStatus } from '../core/types.js';
|
|
186
|
+
import { OrderStatus, type Side } from '../core/types.js';
|
|
187
187
|
export interface OrderManagerConfig {
|
|
188
188
|
/** Private key for signing transactions */
|
|
189
189
|
privateKey: string;
|
|
@@ -294,6 +294,101 @@ export interface RejectEvent {
|
|
|
294
294
|
reason: string;
|
|
295
295
|
timestamp: number;
|
|
296
296
|
}
|
|
297
|
+
/**
|
|
298
|
+
* Status of an order as seen through the OrderHandle.
|
|
299
|
+
* Maps to OrderStatus enum values but as a string union for ergonomic usage.
|
|
300
|
+
*/
|
|
301
|
+
export type OrderHandleStatus = 'created' | 'open' | 'partially_filled' | 'filled' | 'cancelled' | 'rejected' | 'expired';
|
|
302
|
+
/**
|
|
303
|
+
* Terminal result returned when awaiting an OrderHandle.
|
|
304
|
+
*/
|
|
305
|
+
export interface OrderFinalResult {
|
|
306
|
+
status: 'filled' | 'cancelled' | 'rejected' | 'expired';
|
|
307
|
+
order: Order | null;
|
|
308
|
+
fills: FillEvent[];
|
|
309
|
+
reason?: string;
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Fluent, chainable handle for an order's lifecycle.
|
|
313
|
+
*
|
|
314
|
+
* Implements PromiseLike so callers can `await` for terminal state.
|
|
315
|
+
* Provides chainable lifecycle callbacks and cancel() for control.
|
|
316
|
+
*
|
|
317
|
+
* @example
|
|
318
|
+
* ```typescript
|
|
319
|
+
* const handle = orderManager.placeOrder({ tokenId, side: 'BUY', price: 0.52, size: 100 });
|
|
320
|
+
*
|
|
321
|
+
* handle
|
|
322
|
+
* .onAccepted((order) => console.log('Live:', order.id))
|
|
323
|
+
* .onPartialFill((fill) => console.log('Partial:', fill.fill.size))
|
|
324
|
+
* .onFilled((fill) => console.log('Done!'));
|
|
325
|
+
*
|
|
326
|
+
* const result = await handle;
|
|
327
|
+
* console.log(result.status, result.fills.length);
|
|
328
|
+
* ```
|
|
329
|
+
*/
|
|
330
|
+
export interface OrderHandle extends PromiseLike<OrderFinalResult> {
|
|
331
|
+
/** Called when the order is accepted and open in the orderbook */
|
|
332
|
+
onAccepted(handler: (order: Order) => void): this;
|
|
333
|
+
/** Called on each partial fill */
|
|
334
|
+
onPartialFill(handler: (fill: FillEvent) => void): this;
|
|
335
|
+
/** Called when the order is fully filled */
|
|
336
|
+
onFilled(handler: (fill: FillEvent) => void): this;
|
|
337
|
+
/** Called if the order is rejected (validation/API failure) */
|
|
338
|
+
onRejected(handler: (reason: string) => void): this;
|
|
339
|
+
/** Called if the order is cancelled */
|
|
340
|
+
onCancelled(handler: (order: Order) => void): this;
|
|
341
|
+
/** Called if the order expires (GTD) */
|
|
342
|
+
onExpired(handler: (order: Order) => void): this;
|
|
343
|
+
/** Cancel the order. Returns true if cancellation succeeded. */
|
|
344
|
+
cancel(): Promise<boolean>;
|
|
345
|
+
/** The order ID (available after API acceptance, undefined before) */
|
|
346
|
+
readonly orderId: string | undefined;
|
|
347
|
+
/** Current status of the order */
|
|
348
|
+
readonly status: OrderHandleStatus;
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Internal implementation of OrderHandle.
|
|
352
|
+
*
|
|
353
|
+
* Lifecycle:
|
|
354
|
+
* 1. Constructor receives orderManager ref and an executor function
|
|
355
|
+
* 2. Status starts at 'created'
|
|
356
|
+
* 3. Executor is invoked immediately (fire-and-forget)
|
|
357
|
+
* 4. On success: stores orderId, subscribes to OrderManager events
|
|
358
|
+
* 5. On rejection: transitions to 'rejected', resolves promise
|
|
359
|
+
* 6. On terminal events: resolves promise, removes listeners
|
|
360
|
+
*/
|
|
361
|
+
export declare class OrderHandleImpl implements OrderHandle {
|
|
362
|
+
private orderManager;
|
|
363
|
+
private executor;
|
|
364
|
+
private _orderId;
|
|
365
|
+
private _status;
|
|
366
|
+
private _fills;
|
|
367
|
+
private _order;
|
|
368
|
+
private _reason;
|
|
369
|
+
private _resolve;
|
|
370
|
+
private _promise;
|
|
371
|
+
private _handlers;
|
|
372
|
+
private _eventCleanup;
|
|
373
|
+
constructor(orderManager: OrderManager, executor: () => Promise<OrderResult>);
|
|
374
|
+
then<TResult1 = OrderFinalResult, TResult2 = never>(onfulfilled?: ((value: OrderFinalResult) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): PromiseLike<TResult1 | TResult2>;
|
|
375
|
+
onAccepted(handler: (order: Order) => void): this;
|
|
376
|
+
onPartialFill(handler: (fill: FillEvent) => void): this;
|
|
377
|
+
onFilled(handler: (fill: FillEvent) => void): this;
|
|
378
|
+
onRejected(handler: (reason: string) => void): this;
|
|
379
|
+
onCancelled(handler: (order: Order) => void): this;
|
|
380
|
+
onExpired(handler: (order: Order) => void): this;
|
|
381
|
+
cancel(): Promise<boolean>;
|
|
382
|
+
get orderId(): string | undefined;
|
|
383
|
+
get status(): OrderHandleStatus;
|
|
384
|
+
private execute;
|
|
385
|
+
private subscribeToEvents;
|
|
386
|
+
private resolveTerminal;
|
|
387
|
+
private cleanup;
|
|
388
|
+
private isTerminal;
|
|
389
|
+
private addHandler;
|
|
390
|
+
private invokeHandlers;
|
|
391
|
+
}
|
|
297
392
|
export declare class OrderManager extends EventEmitter {
|
|
298
393
|
private tradingService;
|
|
299
394
|
private realtimeService;
|
|
@@ -360,6 +455,11 @@ export declare class OrderManager extends EventEmitter {
|
|
|
360
455
|
* Auto-unwatches after cancellation
|
|
361
456
|
*/
|
|
362
457
|
cancelOrder(orderId: string): Promise<OrderResult>;
|
|
458
|
+
/**
|
|
459
|
+
* Cancel all open orders for this wallet.
|
|
460
|
+
* Useful for cleanup on strategy shutdown.
|
|
461
|
+
*/
|
|
462
|
+
cancelAllOrders(): Promise<OrderResult>;
|
|
363
463
|
/**
|
|
364
464
|
* Get order details
|
|
365
465
|
* Fetches from TradingService (CLOB API)
|
|
@@ -371,13 +471,65 @@ export declare class OrderManager extends EventEmitter {
|
|
|
371
471
|
*/
|
|
372
472
|
createBatchOrders(orders: LimitOrderParams[], metadata?: OrderMetadata): Promise<OrderResult>;
|
|
373
473
|
/**
|
|
374
|
-
*
|
|
375
|
-
*
|
|
474
|
+
* Place a limit order and return a fluent OrderHandle.
|
|
475
|
+
*
|
|
476
|
+
* The handle is PromiseLike - await it for the terminal result.
|
|
477
|
+
* Chain lifecycle callbacks for real-time updates.
|
|
478
|
+
*
|
|
479
|
+
* @param params Limit order parameters
|
|
480
|
+
* @param metadata Optional metadata for tracking
|
|
481
|
+
* @returns OrderHandle - chainable, awaitable order lifecycle
|
|
482
|
+
*
|
|
483
|
+
* @example
|
|
484
|
+
* ```typescript
|
|
485
|
+
* const handle = orderManager.placeOrder({
|
|
486
|
+
* tokenId: '0x...',
|
|
487
|
+
* side: 'BUY',
|
|
488
|
+
* price: 0.52,
|
|
489
|
+
* size: 100,
|
|
490
|
+
* });
|
|
491
|
+
*
|
|
492
|
+
* handle
|
|
493
|
+
* .onAccepted((order) => console.log('Live:', order.id))
|
|
494
|
+
* .onFilled((fill) => console.log('Done!'));
|
|
495
|
+
*
|
|
496
|
+
* const result = await handle;
|
|
497
|
+
* ```
|
|
498
|
+
*/
|
|
499
|
+
placeOrder(params: LimitOrderParams, metadata?: OrderMetadata): OrderHandle;
|
|
500
|
+
/**
|
|
501
|
+
* Place a market order (FOK/FAK) and return a fluent OrderHandle.
|
|
502
|
+
*
|
|
503
|
+
* @param params Market order parameters
|
|
504
|
+
* @param metadata Optional metadata for tracking
|
|
505
|
+
* @returns OrderHandle - chainable, awaitable order lifecycle
|
|
376
506
|
*
|
|
377
|
-
* @
|
|
378
|
-
*
|
|
507
|
+
* @example
|
|
508
|
+
* ```typescript
|
|
509
|
+
* const result = await orderManager.placeMarketOrder({
|
|
510
|
+
* tokenId: '0x...',
|
|
511
|
+
* side: 'BUY',
|
|
512
|
+
* amount: 50,
|
|
513
|
+
* orderType: 'FOK',
|
|
514
|
+
* });
|
|
515
|
+
* console.log(result.status); // 'filled' or 'cancelled'
|
|
516
|
+
* ```
|
|
379
517
|
*/
|
|
380
|
-
|
|
518
|
+
placeMarketOrder(params: MarketOrderParams, metadata?: OrderMetadata): OrderHandle;
|
|
519
|
+
/**
|
|
520
|
+
* Watch an order by ID
|
|
521
|
+
*
|
|
522
|
+
* @param orderId - Order ID to watch
|
|
523
|
+
* @param metadata - Optional metadata for strategy context
|
|
524
|
+
* @param initialOrderInfo - Optional initial order info (tokenId, side, price, size)
|
|
525
|
+
* to avoid relying on polling for accurate token type
|
|
526
|
+
*/
|
|
527
|
+
watchOrder(orderId: string, metadata?: OrderMetadata, initialOrderInfo?: {
|
|
528
|
+
tokenId?: string;
|
|
529
|
+
side?: Side;
|
|
530
|
+
price?: number;
|
|
531
|
+
size?: number;
|
|
532
|
+
}): void;
|
|
381
533
|
/**
|
|
382
534
|
* Stop watching an order
|
|
383
535
|
*/
|
|
@@ -413,6 +565,10 @@ export declare class OrderManager extends EventEmitter {
|
|
|
413
565
|
/**
|
|
414
566
|
* Handle USER_TRADE WebSocket event (Polymarket-specific)
|
|
415
567
|
* Triggered when: MATCHED, MINED, CONFIRMED
|
|
568
|
+
*
|
|
569
|
+
* Order lookup priority:
|
|
570
|
+
* 1. takerOrderId - if we placed a market order (FOK/FAK) or taker limit order
|
|
571
|
+
* 2. makerOrders[].orderId - if our limit order was matched as maker
|
|
416
572
|
*/
|
|
417
573
|
private handleUserTrade;
|
|
418
574
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order-manager.d.ts","sourceRoot":"","sources":["../../../src/services/order-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoLG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAkB,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,KAAK,KAAK,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnI,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"order-manager.d.ts","sourceRoot":"","sources":["../../../src/services/order-manager.ts"],"names":[],"mappings":"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"}
|