pmxtjs 1.0.4 → 1.1.0
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/dist/esm/generated/src/apis/DefaultApi.d.ts +45 -1
- package/dist/esm/generated/src/apis/DefaultApi.js +75 -1
- package/dist/esm/generated/src/models/WatchOrderBookRequest.d.ts +40 -0
- package/dist/esm/generated/src/models/WatchOrderBookRequest.js +47 -0
- package/dist/esm/generated/src/models/WatchOrderBookRequestArgsInner.d.ts +21 -0
- package/dist/esm/generated/src/models/WatchOrderBookRequestArgsInner.js +43 -0
- package/dist/esm/generated/src/models/WatchTradesRequest.d.ts +40 -0
- package/dist/esm/generated/src/models/WatchTradesRequest.js +47 -0
- package/dist/esm/generated/src/models/index.d.ts +3 -0
- package/dist/esm/generated/src/models/index.js +3 -0
- package/dist/esm/pmxt/client.d.ts +44 -0
- package/dist/esm/pmxt/client.js +90 -0
- package/dist/generated/src/apis/DefaultApi.d.ts +45 -1
- package/dist/generated/src/apis/DefaultApi.js +75 -1
- package/dist/generated/src/models/WatchOrderBookRequest.d.ts +40 -0
- package/dist/generated/src/models/WatchOrderBookRequest.js +54 -0
- package/dist/generated/src/models/WatchOrderBookRequestArgsInner.d.ts +21 -0
- package/dist/generated/src/models/WatchOrderBookRequestArgsInner.js +49 -0
- package/dist/generated/src/models/WatchTradesRequest.d.ts +40 -0
- package/dist/generated/src/models/WatchTradesRequest.js +54 -0
- package/dist/generated/src/models/index.d.ts +3 -0
- package/dist/generated/src/models/index.js +3 -0
- package/dist/pmxt/client.d.ts +44 -0
- package/dist/pmxt/client.js +90 -0
- package/generated/.openapi-generator/FILES +6 -0
- package/generated/docs/DefaultApi.md +142 -0
- package/generated/docs/WatchOrderBookRequest.md +36 -0
- package/generated/docs/WatchOrderBookRequestArgsInner.md +32 -0
- package/generated/docs/WatchTradesRequest.md +36 -0
- package/generated/package.json +1 -1
- package/generated/src/apis/DefaultApi.ts +116 -0
- package/generated/src/models/WatchOrderBookRequest.ts +89 -0
- package/generated/src/models/WatchOrderBookRequestArgsInner.ts +55 -0
- package/generated/src/models/WatchTradesRequest.ts +89 -0
- package/generated/src/models/index.ts +3 -0
- package/package.json +2 -2
- package/pmxt/client.ts +101 -0
package/pmxt/client.ts
CHANGED
|
@@ -481,6 +481,107 @@ export abstract class Exchange {
|
|
|
481
481
|
}
|
|
482
482
|
}
|
|
483
483
|
|
|
484
|
+
// WebSocket Streaming Methods
|
|
485
|
+
|
|
486
|
+
/**
|
|
487
|
+
* Watch real-time order book updates via WebSocket.
|
|
488
|
+
*
|
|
489
|
+
* Returns a promise that resolves with the next order book update.
|
|
490
|
+
* Call repeatedly in a loop to stream updates (CCXT Pro pattern).
|
|
491
|
+
*
|
|
492
|
+
* @param outcomeId - Outcome ID to watch
|
|
493
|
+
* @param limit - Optional depth limit for order book
|
|
494
|
+
* @returns Next order book update
|
|
495
|
+
*
|
|
496
|
+
* @example
|
|
497
|
+
* ```typescript
|
|
498
|
+
* // Stream order book updates
|
|
499
|
+
* while (true) {
|
|
500
|
+
* const orderBook = await exchange.watchOrderBook(outcomeId);
|
|
501
|
+
* console.log(`Best bid: ${orderBook.bids[0].price}`);
|
|
502
|
+
* console.log(`Best ask: ${orderBook.asks[0].price}`);
|
|
503
|
+
* }
|
|
504
|
+
* ```
|
|
505
|
+
*/
|
|
506
|
+
async watchOrderBook(outcomeId: string, limit?: number): Promise<OrderBook> {
|
|
507
|
+
await this.initPromise;
|
|
508
|
+
try {
|
|
509
|
+
const args: any[] = [outcomeId];
|
|
510
|
+
if (limit !== undefined) {
|
|
511
|
+
args.push(limit);
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
const requestBody: any = {
|
|
515
|
+
args,
|
|
516
|
+
credentials: this.getCredentials()
|
|
517
|
+
};
|
|
518
|
+
|
|
519
|
+
const response = await this.api.watchOrderBook({
|
|
520
|
+
exchange: this.exchangeName as any,
|
|
521
|
+
watchOrderBookRequest: requestBody,
|
|
522
|
+
});
|
|
523
|
+
|
|
524
|
+
const data = this.handleResponse(response);
|
|
525
|
+
return convertOrderBook(data);
|
|
526
|
+
} catch (error) {
|
|
527
|
+
throw new Error(`Failed to watch order book: ${error}`);
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
/**
|
|
532
|
+
* Watch real-time trade updates via WebSocket.
|
|
533
|
+
*
|
|
534
|
+
* Returns a promise that resolves with the next trade(s).
|
|
535
|
+
* Call repeatedly in a loop to stream updates (CCXT Pro pattern).
|
|
536
|
+
*
|
|
537
|
+
* @param outcomeId - Outcome ID to watch
|
|
538
|
+
* @param since - Optional timestamp to filter trades from
|
|
539
|
+
* @param limit - Optional limit for number of trades
|
|
540
|
+
* @returns Next trade update(s)
|
|
541
|
+
*
|
|
542
|
+
* @example
|
|
543
|
+
* ```typescript
|
|
544
|
+
* // Stream trade updates
|
|
545
|
+
* while (true) {
|
|
546
|
+
* const trades = await exchange.watchTrades(outcomeId);
|
|
547
|
+
* for (const trade of trades) {
|
|
548
|
+
* console.log(`Trade: ${trade.price} @ ${trade.amount}`);
|
|
549
|
+
* }
|
|
550
|
+
* }
|
|
551
|
+
* ```
|
|
552
|
+
*/
|
|
553
|
+
async watchTrades(
|
|
554
|
+
outcomeId: string,
|
|
555
|
+
since?: number,
|
|
556
|
+
limit?: number
|
|
557
|
+
): Promise<Trade[]> {
|
|
558
|
+
await this.initPromise;
|
|
559
|
+
try {
|
|
560
|
+
const args: any[] = [outcomeId];
|
|
561
|
+
if (since !== undefined) {
|
|
562
|
+
args.push(since);
|
|
563
|
+
}
|
|
564
|
+
if (limit !== undefined) {
|
|
565
|
+
args.push(limit);
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
const requestBody: any = {
|
|
569
|
+
args,
|
|
570
|
+
credentials: this.getCredentials()
|
|
571
|
+
};
|
|
572
|
+
|
|
573
|
+
const response = await this.api.watchTrades({
|
|
574
|
+
exchange: this.exchangeName as any,
|
|
575
|
+
watchTradesRequest: requestBody,
|
|
576
|
+
});
|
|
577
|
+
|
|
578
|
+
const data = this.handleResponse(response);
|
|
579
|
+
return data.map(convertTrade);
|
|
580
|
+
} catch (error) {
|
|
581
|
+
throw new Error(`Failed to watch trades: ${error}`);
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
|
|
484
585
|
// Trading Methods (require authentication)
|
|
485
586
|
|
|
486
587
|
/**
|