pmxtjs 2.43.0 → 2.43.2

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.
@@ -5,7 +5,7 @@
5
5
  * OpenAPI client, matching the Python API exactly.
6
6
  */
7
7
  import { Configuration, DefaultApi, ExchangeCredentials } from "../generated/src/index.js";
8
- import { Balance, BuiltOrder, CreateOrderParams, EventFetchParams, EventFilterCriteria, EventFilterFunction, ExecutionPriceResult, MarketFetchParams, MarketFilterCriteria, MarketFilterFunction, MarketOutcome, MyTradesParams, Order, OrderBook, OrderHistoryParams, PaginatedMarketsResult, Position, PriceCandle, SubscribedAddressSnapshot, SubscriptionOption, Trade, UnifiedEvent, UnifiedMarket, UserTrade, FirehoseEvent } from "./models.js";
8
+ import { Balance, BuiltOrder, CreateOrderParams, EventFetchParams, EventFilterCriteria, EventFilterFunction, ExecutionPriceResult, FetchOrderBookParams, MarketFetchParams, MarketFilterCriteria, MarketFilterFunction, MarketOutcome, MyTradesParams, Order, OrderBook, OrderHistoryParams, PaginatedMarketsResult, Position, PriceCandle, SubscribedAddressSnapshot, SubscriptionOption, Trade, UnifiedEvent, UnifiedMarket, UserTrade, FirehoseEvent } from "./models.js";
9
9
  import { ServerManager } from "./server-manager.js";
10
10
  /**
11
11
  * Base exchange client options.
@@ -156,7 +156,7 @@ export declare abstract class Exchange {
156
156
  fetchEvents(params?: EventFetchParams): Promise<UnifiedEvent[]>;
157
157
  fetchMarket(params?: MarketFetchParams): Promise<UnifiedMarket>;
158
158
  fetchEvent(params?: EventFetchParams): Promise<UnifiedEvent>;
159
- fetchOrderBook(outcomeId: string | MarketOutcome, limit?: number, params?: Record<string, any>): Promise<OrderBook>;
159
+ fetchOrderBook(outcomeId: string | MarketOutcome, limit?: number, params?: FetchOrderBookParams): Promise<OrderBook | OrderBook[]>;
160
160
  fetchOrderBooks(outcomeIds: (string | MarketOutcome)[]): Promise<Record<string, OrderBook>>;
161
161
  submitOrder(built: BuiltOrder): Promise<Order>;
162
162
  cancelOrder(orderId: string): Promise<Order>;
@@ -637,8 +637,11 @@ export class Exchange {
637
637
  args.push(resolveOutcomeId(outcomeId));
638
638
  if (limit !== undefined)
639
639
  args.push(limit);
640
- if (params !== undefined)
640
+ if (params !== undefined) {
641
+ if (limit === undefined)
642
+ args.push(null);
641
643
  args.push(params);
644
+ }
642
645
  const response = await this.fetchWithRetry(`${this.resolveBaseUrl()}/api/${this.exchangeName}/fetchOrderBook`, {
643
646
  method: 'POST',
644
647
  headers: { 'Content-Type': 'application/json', ...this.getAuthHeaders() },
@@ -653,6 +656,9 @@ export class Exchange {
653
656
  }
654
657
  const json = await response.json();
655
658
  const data = this.handleResponse(json);
659
+ if (Array.isArray(data)) {
660
+ return data.map(convertOrderBook);
661
+ }
656
662
  return convertOrderBook(data);
657
663
  }
658
664
  catch (error) {
@@ -389,6 +389,17 @@ export interface TradesParams {
389
389
  /** Maximum number of results */
390
390
  limit?: number;
391
391
  }
392
+ /**
393
+ * Parameters for fetchOrderBook historical queries.
394
+ */
395
+ export interface FetchOrderBookParams {
396
+ /** Outcome side: 'yes' or 'no' (for exchanges like Limitless) */
397
+ side?: 'yes' | 'no';
398
+ /** Unix timestamp (ms) — historical snapshot at or before this time */
399
+ since?: number;
400
+ /** Unix timestamp (ms) — end of range. With `since`, returns OrderBook[] */
401
+ until?: number;
402
+ }
392
403
  /**
393
404
  * Parameters for fetching the authenticated user's trade history.
394
405
  */
@@ -5,7 +5,7 @@
5
5
  * OpenAPI client, matching the Python API exactly.
6
6
  */
7
7
  import { Configuration, DefaultApi, ExchangeCredentials } from "../generated/src/index.js";
8
- import { Balance, BuiltOrder, CreateOrderParams, EventFetchParams, EventFilterCriteria, EventFilterFunction, ExecutionPriceResult, MarketFetchParams, MarketFilterCriteria, MarketFilterFunction, MarketOutcome, MyTradesParams, Order, OrderBook, OrderHistoryParams, PaginatedMarketsResult, Position, PriceCandle, SubscribedAddressSnapshot, SubscriptionOption, Trade, UnifiedEvent, UnifiedMarket, UserTrade, FirehoseEvent } from "./models.js";
8
+ import { Balance, BuiltOrder, CreateOrderParams, EventFetchParams, EventFilterCriteria, EventFilterFunction, ExecutionPriceResult, FetchOrderBookParams, MarketFetchParams, MarketFilterCriteria, MarketFilterFunction, MarketOutcome, MyTradesParams, Order, OrderBook, OrderHistoryParams, PaginatedMarketsResult, Position, PriceCandle, SubscribedAddressSnapshot, SubscriptionOption, Trade, UnifiedEvent, UnifiedMarket, UserTrade, FirehoseEvent } from "./models.js";
9
9
  import { ServerManager } from "./server-manager.js";
10
10
  /**
11
11
  * Base exchange client options.
@@ -156,7 +156,7 @@ export declare abstract class Exchange {
156
156
  fetchEvents(params?: EventFetchParams): Promise<UnifiedEvent[]>;
157
157
  fetchMarket(params?: MarketFetchParams): Promise<UnifiedMarket>;
158
158
  fetchEvent(params?: EventFetchParams): Promise<UnifiedEvent>;
159
- fetchOrderBook(outcomeId: string | MarketOutcome, limit?: number, params?: Record<string, any>): Promise<OrderBook>;
159
+ fetchOrderBook(outcomeId: string | MarketOutcome, limit?: number, params?: FetchOrderBookParams): Promise<OrderBook | OrderBook[]>;
160
160
  fetchOrderBooks(outcomeIds: (string | MarketOutcome)[]): Promise<Record<string, OrderBook>>;
161
161
  submitOrder(built: BuiltOrder): Promise<Order>;
162
162
  cancelOrder(orderId: string): Promise<Order>;
@@ -640,8 +640,11 @@ class Exchange {
640
640
  args.push(resolveOutcomeId(outcomeId));
641
641
  if (limit !== undefined)
642
642
  args.push(limit);
643
- if (params !== undefined)
643
+ if (params !== undefined) {
644
+ if (limit === undefined)
645
+ args.push(null);
644
646
  args.push(params);
647
+ }
645
648
  const response = await this.fetchWithRetry(`${this.resolveBaseUrl()}/api/${this.exchangeName}/fetchOrderBook`, {
646
649
  method: 'POST',
647
650
  headers: { 'Content-Type': 'application/json', ...this.getAuthHeaders() },
@@ -656,6 +659,9 @@ class Exchange {
656
659
  }
657
660
  const json = await response.json();
658
661
  const data = this.handleResponse(json);
662
+ if (Array.isArray(data)) {
663
+ return data.map(convertOrderBook);
664
+ }
659
665
  return convertOrderBook(data);
660
666
  }
661
667
  catch (error) {
@@ -389,6 +389,17 @@ export interface TradesParams {
389
389
  /** Maximum number of results */
390
390
  limit?: number;
391
391
  }
392
+ /**
393
+ * Parameters for fetchOrderBook historical queries.
394
+ */
395
+ export interface FetchOrderBookParams {
396
+ /** Outcome side: 'yes' or 'no' (for exchanges like Limitless) */
397
+ side?: 'yes' | 'no';
398
+ /** Unix timestamp (ms) — historical snapshot at or before this time */
399
+ since?: number;
400
+ /** Unix timestamp (ms) — end of range. With `since`, returns OrderBook[] */
401
+ until?: number;
402
+ }
392
403
  /**
393
404
  * Parameters for fetching the authenticated user's trade history.
394
405
  */
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmxtjs",
3
- "version": "2.43.0",
3
+ "version": "2.43.2",
4
4
  "description": "OpenAPI client for pmxtjs",
5
5
  "author": "OpenAPI-Generator",
6
6
  "repository": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmxtjs",
3
- "version": "2.43.0",
3
+ "version": "2.43.2",
4
4
  "description": "Unified prediction market data API - The ccxt for prediction markets",
5
5
  "author": "PMXT Contributors",
6
6
  "repository": {
@@ -43,7 +43,7 @@
43
43
  "unified"
44
44
  ],
45
45
  "dependencies": {
46
- "pmxt-core": "2.43.0",
46
+ "pmxt-core": "2.43.2",
47
47
  "ws": "^8.18.0"
48
48
  },
49
49
  "devDependencies": {
package/pmxt/client.ts CHANGED
@@ -22,6 +22,7 @@ import {
22
22
  EventFilterCriteria,
23
23
  EventFilterFunction,
24
24
  ExecutionPriceResult,
25
+ FetchOrderBookParams,
25
26
  MarketFetchParams,
26
27
  MarketFilterCriteria,
27
28
  MarketFilterFunction,
@@ -766,13 +767,16 @@ export abstract class Exchange {
766
767
  }
767
768
  }
768
769
 
769
- async fetchOrderBook(outcomeId: string | MarketOutcome, limit?: number, params?: Record<string, any>): Promise<OrderBook> {
770
+ async fetchOrderBook(outcomeId: string | MarketOutcome, limit?: number, params?: FetchOrderBookParams): Promise<OrderBook | OrderBook[]> {
770
771
  await this.initPromise;
771
772
  try {
772
773
  const args: any[] = [];
773
774
  args.push(resolveOutcomeId(outcomeId));
774
775
  if (limit !== undefined) args.push(limit);
775
- if (params !== undefined) args.push(params);
776
+ if (params !== undefined) {
777
+ if (limit === undefined) args.push(null);
778
+ args.push(params);
779
+ }
776
780
  const response = await this.fetchWithRetry(`${this.resolveBaseUrl()}/api/${this.exchangeName}/fetchOrderBook`, {
777
781
  method: 'POST',
778
782
  headers: { 'Content-Type': 'application/json', ...this.getAuthHeaders() },
@@ -787,6 +791,9 @@ export abstract class Exchange {
787
791
  }
788
792
  const json = await response.json();
789
793
  const data = this.handleResponse(json);
794
+ if (Array.isArray(data)) {
795
+ return data.map(convertOrderBook);
796
+ }
790
797
  return convertOrderBook(data);
791
798
  } catch (error) {
792
799
  if (error instanceof PmxtError) throw error;
package/pmxt/models.ts CHANGED
@@ -522,6 +522,18 @@ export interface TradesParams {
522
522
  limit?: number;
523
523
  }
524
524
 
525
+ /**
526
+ * Parameters for fetchOrderBook historical queries.
527
+ */
528
+ export interface FetchOrderBookParams {
529
+ /** Outcome side: 'yes' or 'no' (for exchanges like Limitless) */
530
+ side?: 'yes' | 'no';
531
+ /** Unix timestamp (ms) — historical snapshot at or before this time */
532
+ since?: number;
533
+ /** Unix timestamp (ms) — end of range. With `since`, returns OrderBook[] */
534
+ until?: number;
535
+ }
536
+
525
537
  /**
526
538
  * Parameters for fetching the authenticated user's trade history.
527
539
  */