pmxtjs 2.48.6 → 2.49.1

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.
Files changed (129) hide show
  1. package/README.md +72 -10
  2. package/dist/esm/generated/src/models/Balance.d.ts +6 -0
  3. package/dist/esm/generated/src/models/Balance.js +2 -0
  4. package/dist/esm/generated/src/models/BuiltOrder.d.ts +6 -0
  5. package/dist/esm/generated/src/models/BuiltOrder.js +2 -0
  6. package/dist/esm/generated/src/models/ErrorDetail.d.ts +58 -2
  7. package/dist/esm/generated/src/models/ErrorDetail.js +37 -0
  8. package/dist/esm/generated/src/models/ExchangeOptions.d.ts +70 -0
  9. package/dist/esm/generated/src/models/ExchangeOptions.js +53 -0
  10. package/dist/esm/generated/src/models/MatchedMarketPair.d.ts +1 -1
  11. package/dist/esm/generated/src/models/Order.d.ts +18 -0
  12. package/dist/esm/generated/src/models/Order.js +6 -0
  13. package/dist/esm/generated/src/models/OrderLevel.d.ts +6 -0
  14. package/dist/esm/generated/src/models/OrderLevel.js +2 -0
  15. package/dist/esm/generated/src/models/Position.d.ts +33 -9
  16. package/dist/esm/generated/src/models/Position.js +12 -12
  17. package/dist/esm/generated/src/models/UnifiedSeries.d.ts +4 -4
  18. package/dist/esm/generated/src/models/UserTrade.d.ts +18 -0
  19. package/dist/esm/generated/src/models/UserTrade.js +6 -0
  20. package/dist/esm/generated/src/models/index.d.ts +1 -0
  21. package/dist/esm/generated/src/models/index.js +1 -0
  22. package/dist/esm/index.d.ts +2 -0
  23. package/dist/esm/index.js +1 -0
  24. package/dist/esm/pmxt/client.d.ts +106 -5
  25. package/dist/esm/pmxt/client.js +400 -6
  26. package/dist/esm/pmxt/constants.d.ts +11 -0
  27. package/dist/esm/pmxt/constants.js +13 -0
  28. package/dist/esm/pmxt/errors.d.ts +3 -0
  29. package/dist/esm/pmxt/errors.js +9 -0
  30. package/dist/esm/pmxt/escrow.d.ts +39 -0
  31. package/dist/esm/pmxt/escrow.js +78 -0
  32. package/dist/esm/pmxt/feed-client.d.ts +3 -0
  33. package/dist/esm/pmxt/feed-client.js +11 -2
  34. package/dist/esm/pmxt/hosted-errors.d.ts +84 -0
  35. package/dist/esm/pmxt/hosted-errors.js +186 -0
  36. package/dist/esm/pmxt/hosted-mappers.d.ts +45 -0
  37. package/dist/esm/pmxt/hosted-mappers.js +291 -0
  38. package/dist/esm/pmxt/hosted-routing.d.ts +69 -0
  39. package/dist/esm/pmxt/hosted-routing.js +119 -0
  40. package/dist/esm/pmxt/hosted-typed-data.d.ts +36 -0
  41. package/dist/esm/pmxt/hosted-typed-data.js +580 -0
  42. package/dist/esm/pmxt/models.d.ts +46 -8
  43. package/dist/esm/pmxt/server-manager.d.ts +4 -0
  44. package/dist/esm/pmxt/server-manager.js +6 -0
  45. package/dist/esm/pmxt/signers.d.ts +57 -0
  46. package/dist/esm/pmxt/signers.js +50 -0
  47. package/dist/esm/pmxt/ws-client.js +2 -1
  48. package/dist/generated/src/models/Balance.d.ts +6 -0
  49. package/dist/generated/src/models/Balance.js +2 -0
  50. package/dist/generated/src/models/BuiltOrder.d.ts +6 -0
  51. package/dist/generated/src/models/BuiltOrder.js +2 -0
  52. package/dist/generated/src/models/ErrorDetail.d.ts +58 -2
  53. package/dist/generated/src/models/ErrorDetail.js +38 -0
  54. package/dist/generated/src/models/ExchangeOptions.d.ts +70 -0
  55. package/dist/generated/src/models/ExchangeOptions.js +60 -0
  56. package/dist/generated/src/models/MatchedMarketPair.d.ts +1 -1
  57. package/dist/generated/src/models/Order.d.ts +18 -0
  58. package/dist/generated/src/models/Order.js +6 -0
  59. package/dist/generated/src/models/OrderLevel.d.ts +6 -0
  60. package/dist/generated/src/models/OrderLevel.js +2 -0
  61. package/dist/generated/src/models/Position.d.ts +33 -9
  62. package/dist/generated/src/models/Position.js +12 -12
  63. package/dist/generated/src/models/UnifiedSeries.d.ts +4 -4
  64. package/dist/generated/src/models/UserTrade.d.ts +18 -0
  65. package/dist/generated/src/models/UserTrade.js +6 -0
  66. package/dist/generated/src/models/index.d.ts +1 -0
  67. package/dist/generated/src/models/index.js +1 -0
  68. package/dist/index.d.ts +2 -0
  69. package/dist/index.js +1 -0
  70. package/dist/pmxt/client.d.ts +106 -5
  71. package/dist/pmxt/client.js +399 -5
  72. package/dist/pmxt/constants.d.ts +11 -0
  73. package/dist/pmxt/constants.js +14 -1
  74. package/dist/pmxt/errors.d.ts +3 -0
  75. package/dist/pmxt/errors.js +11 -1
  76. package/dist/pmxt/escrow.d.ts +39 -0
  77. package/dist/pmxt/escrow.js +82 -0
  78. package/dist/pmxt/feed-client.d.ts +3 -0
  79. package/dist/pmxt/feed-client.js +11 -2
  80. package/dist/pmxt/hosted-errors.d.ts +84 -0
  81. package/dist/pmxt/hosted-errors.js +201 -0
  82. package/dist/pmxt/hosted-mappers.d.ts +45 -0
  83. package/dist/pmxt/hosted-mappers.js +302 -0
  84. package/dist/pmxt/hosted-routing.d.ts +69 -0
  85. package/dist/pmxt/hosted-routing.js +126 -0
  86. package/dist/pmxt/hosted-typed-data.d.ts +36 -0
  87. package/dist/pmxt/hosted-typed-data.js +619 -0
  88. package/dist/pmxt/models.d.ts +46 -8
  89. package/dist/pmxt/server-manager.d.ts +4 -0
  90. package/dist/pmxt/server-manager.js +6 -0
  91. package/dist/pmxt/signers.d.ts +57 -0
  92. package/dist/pmxt/signers.js +55 -0
  93. package/dist/pmxt/ws-client.js +2 -1
  94. package/generated/.openapi-generator/FILES +2 -0
  95. package/generated/docs/Balance.md +2 -0
  96. package/generated/docs/BuiltOrder.md +2 -0
  97. package/generated/docs/ErrorDetail.md +9 -0
  98. package/generated/docs/ExchangeOptions.md +47 -0
  99. package/generated/docs/Order.md +6 -0
  100. package/generated/docs/OrderLevel.md +2 -0
  101. package/generated/docs/Position.md +9 -0
  102. package/generated/docs/UserTrade.md +6 -0
  103. package/generated/package.json +1 -1
  104. package/generated/src/models/Balance.ts +8 -0
  105. package/generated/src/models/BuiltOrder.ts +8 -0
  106. package/generated/src/models/ErrorDetail.ts +67 -2
  107. package/generated/src/models/ExchangeOptions.ts +115 -0
  108. package/generated/src/models/MatchedMarketPair.ts +1 -1
  109. package/generated/src/models/Order.ts +24 -0
  110. package/generated/src/models/OrderLevel.ts +8 -0
  111. package/generated/src/models/Position.ts +45 -17
  112. package/generated/src/models/UnifiedSeries.ts +4 -4
  113. package/generated/src/models/UserTrade.ts +24 -0
  114. package/generated/src/models/index.ts +1 -0
  115. package/index.ts +1 -0
  116. package/package.json +11 -2
  117. package/pmxt/client.ts +495 -9
  118. package/pmxt/constants.ts +15 -0
  119. package/pmxt/errors.ts +11 -0
  120. package/pmxt/escrow.ts +93 -0
  121. package/pmxt/feed-client.ts +14 -2
  122. package/pmxt/hosted-errors.ts +216 -0
  123. package/pmxt/hosted-mappers.ts +312 -0
  124. package/pmxt/hosted-routing.ts +165 -0
  125. package/pmxt/hosted-typed-data.ts +767 -0
  126. package/pmxt/models.ts +65 -8
  127. package/pmxt/server-manager.ts +7 -0
  128. package/pmxt/signers.ts +86 -0
  129. package/pmxt/ws-client.ts +2 -1
@@ -0,0 +1,115 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * PMXT Sidecar API
5
+ * A unified local sidecar API for prediction markets (Polymarket, Kalshi, Limitless). This API acts as a JSON-RPC-style gateway. Each endpoint corresponds to a specific method on the generic exchange implementation.
6
+ *
7
+ * The version of the OpenAPI document: 0.4.4
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ * Constructor-level options for venue clients (Polymarket, Kalshi, Opinion, etc.).
18
+ * Hosted mode is the default when pmxtApiKey is set; otherwise the SDK runs against
19
+ * a local sidecar with venue credentials.
20
+ * @export
21
+ * @interface ExchangeOptions
22
+ */
23
+ export interface ExchangeOptions {
24
+ /**
25
+ * PMXT customer API key. When set, the SDK routes to api.pmxt.dev (catalog) and trade.pmxt.dev (trading). Get one at pmxt.dev/dashboard.
26
+ * @type {string}
27
+ * @memberof ExchangeOptions
28
+ */
29
+ pmxtApiKey?: string;
30
+ /**
31
+ * EVM wallet address for hosted reads/writes. Required for endpoints that operate on a wallet (balances, positions, trades, open orders).
32
+ * @type {string}
33
+ * @memberof ExchangeOptions
34
+ */
35
+ walletAddress?: string | null;
36
+ /**
37
+ * Optional pre-built signer for hosted writes. If absent and privateKey is set, the SDK auto-wraps privateKey into a signer.
38
+ * @type {object}
39
+ * @memberof ExchangeOptions
40
+ */
41
+ signer?: object | null;
42
+ /**
43
+ * Private key. In hosted mode, used to derive an EIP-712 signer for writes (wraps into EthAccountSigner/EthersSigner). In self-hosted mode, used as the venue credential directly.
44
+ * @type {string}
45
+ * @memberof ExchangeOptions
46
+ */
47
+ privateKey?: string | null;
48
+ /**
49
+ * Explicit base URL override. When unset, the SDK uses api.pmxt.dev when pmxtApiKey is set, or the local sidecar otherwise.
50
+ * @type {string}
51
+ * @memberof ExchangeOptions
52
+ */
53
+ baseUrl?: string | null;
54
+ /**
55
+ * Venue-side API key (e.g. Polymarket CLOB key). Only relevant for self-hosted mode.
56
+ * @type {string}
57
+ * @memberof ExchangeOptions
58
+ */
59
+ apiKey?: string | null;
60
+ /**
61
+ * Auto-start the local sidecar when running self-hosted. Defaults to true when no pmxtApiKey is set, false when hosted.
62
+ * @type {boolean}
63
+ * @memberof ExchangeOptions
64
+ */
65
+ autoStartServer?: boolean | null;
66
+ }
67
+
68
+ /**
69
+ * Check if a given object implements the ExchangeOptions interface.
70
+ */
71
+ export function instanceOfExchangeOptions(value: object): value is ExchangeOptions {
72
+ return true;
73
+ }
74
+
75
+ export function ExchangeOptionsFromJSON(json: any): ExchangeOptions {
76
+ return ExchangeOptionsFromJSONTyped(json, false);
77
+ }
78
+
79
+ export function ExchangeOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): ExchangeOptions {
80
+ if (json == null) {
81
+ return json;
82
+ }
83
+ return {
84
+
85
+ 'pmxtApiKey': json['pmxtApiKey'] == null ? undefined : json['pmxtApiKey'],
86
+ 'walletAddress': json['walletAddress'] == null ? undefined : json['walletAddress'],
87
+ 'signer': json['signer'] == null ? undefined : json['signer'],
88
+ 'privateKey': json['privateKey'] == null ? undefined : json['privateKey'],
89
+ 'baseUrl': json['baseUrl'] == null ? undefined : json['baseUrl'],
90
+ 'apiKey': json['apiKey'] == null ? undefined : json['apiKey'],
91
+ 'autoStartServer': json['autoStartServer'] == null ? undefined : json['autoStartServer'],
92
+ };
93
+ }
94
+
95
+ export function ExchangeOptionsToJSON(json: any): ExchangeOptions {
96
+ return ExchangeOptionsToJSONTyped(json, false);
97
+ }
98
+
99
+ export function ExchangeOptionsToJSONTyped(value?: ExchangeOptions | null, ignoreDiscriminator: boolean = false): any {
100
+ if (value == null) {
101
+ return value;
102
+ }
103
+
104
+ return {
105
+
106
+ 'pmxtApiKey': value['pmxtApiKey'],
107
+ 'walletAddress': value['walletAddress'],
108
+ 'signer': value['signer'],
109
+ 'privateKey': value['privateKey'],
110
+ 'baseUrl': value['baseUrl'],
111
+ 'apiKey': value['apiKey'],
112
+ 'autoStartServer': value['autoStartServer'],
113
+ };
114
+ }
115
+
@@ -82,7 +82,7 @@ export interface MatchedMarketPair {
82
82
  */
83
83
  confidence?: number;
84
84
  /**
85
- *
85
+ * Why the two markets were matched.
86
86
  * @type {string}
87
87
  * @memberof MatchedMarketPair
88
88
  */
@@ -103,6 +103,24 @@ export interface Order {
103
103
  * @memberof Order
104
104
  */
105
105
  feeRateBps?: number;
106
+ /**
107
+ * Populated in hosted mode after on-chain settlement; null for local-mode and for non-on-chain venues.
108
+ * @type {string}
109
+ * @memberof Order
110
+ */
111
+ txHash?: string | null;
112
+ /**
113
+ * Populated in hosted mode after on-chain settlement; null for local-mode and for non-on-chain venues.
114
+ * @type {string}
115
+ * @memberof Order
116
+ */
117
+ chain?: string | null;
118
+ /**
119
+ * Populated in hosted mode after on-chain settlement; null for local-mode and for non-on-chain venues.
120
+ * @type {number}
121
+ * @memberof Order
122
+ */
123
+ blockNumber?: number | null;
106
124
  }
107
125
 
108
126
 
@@ -178,6 +196,9 @@ export function OrderFromJSONTyped(json: any, ignoreDiscriminator: boolean): Ord
178
196
  'timestamp': json['timestamp'],
179
197
  'fee': json['fee'] == null ? undefined : json['fee'],
180
198
  'feeRateBps': json['feeRateBps'] == null ? undefined : json['feeRateBps'],
199
+ 'txHash': json['txHash'] == null ? undefined : json['txHash'],
200
+ 'chain': json['chain'] == null ? undefined : json['chain'],
201
+ 'blockNumber': json['blockNumber'] == null ? undefined : json['blockNumber'],
181
202
  };
182
203
  }
183
204
 
@@ -206,6 +227,9 @@ export function OrderToJSONTyped(value?: Order | null, ignoreDiscriminator: bool
206
227
  'timestamp': value['timestamp'],
207
228
  'fee': value['fee'],
208
229
  'feeRateBps': value['feeRateBps'],
230
+ 'txHash': value['txHash'],
231
+ 'chain': value['chain'],
232
+ 'blockNumber': value['blockNumber'],
209
233
  };
210
234
  }
211
235
 
@@ -31,6 +31,12 @@ export interface OrderLevel {
31
31
  * @memberof OrderLevel
32
32
  */
33
33
  size: number;
34
+ /**
35
+ *
36
+ * @type {number}
37
+ * @memberof OrderLevel
38
+ */
39
+ orderCount?: number;
34
40
  }
35
41
 
36
42
  /**
@@ -54,6 +60,7 @@ export function OrderLevelFromJSONTyped(json: any, ignoreDiscriminator: boolean)
54
60
 
55
61
  'price': json['price'],
56
62
  'size': json['size'],
63
+ 'orderCount': json['orderCount'] == null ? undefined : json['orderCount'],
57
64
  };
58
65
  }
59
66
 
@@ -70,6 +77,7 @@ export function OrderLevelToJSONTyped(value?: OrderLevel | null, ignoreDiscrimin
70
77
 
71
78
  'price': value['price'],
72
79
  'size': value['size'],
80
+ 'orderCount': value['orderCount'],
73
81
  };
74
82
  }
75
83
 
@@ -14,7 +14,7 @@
14
14
 
15
15
  import { mapValues } from '../runtime';
16
16
  /**
17
- *
17
+ * A current position in a market. In hosted mode, `outcomeLabel`, `entryPrice`, `currentPrice` and `unrealizedPnL` may be null when the server cannot derive them (e.g. `with_mtm=false` or no fill history). Venue-direct callers continue to populate every field.
18
18
  * @export
19
19
  * @interface Position
20
20
  */
@@ -32,11 +32,11 @@ export interface Position {
32
32
  */
33
33
  outcomeId: string;
34
34
  /**
35
- * Human-readable label for the outcome held.
35
+ * Human-readable label for the outcome held. Optional in hosted mode.
36
36
  * @type {string}
37
37
  * @memberof Position
38
38
  */
39
- outcomeLabel: string;
39
+ outcomeLabel?: string | null;
40
40
  /**
41
41
  * Positive for long, negative for short
42
42
  * @type {number}
@@ -44,29 +44,53 @@ export interface Position {
44
44
  */
45
45
  size: number;
46
46
  /**
47
- * Average entry price for the position (probability between 0.0 and 1.0).
47
+ * Average entry price for the position (probability between 0.0 and 1.0). Optional in hosted mode when no fill history is available.
48
+ * @type {number}
49
+ * @memberof Position
50
+ */
51
+ entryPrice?: number | null;
52
+ /**
53
+ * Current mark price for the position (probability between 0.0 and 1.0). Optional in hosted mode when mark-to-market data is unavailable.
48
54
  * @type {number}
49
55
  * @memberof Position
50
56
  */
51
- entryPrice: number;
57
+ currentPrice?: number | null;
52
58
  /**
53
- * Current mark price for the position (probability between 0.0 and 1.0).
59
+ * Current market value of the position (size * currentPrice). Null when currentPrice is unavailable.
54
60
  * @type {number}
55
61
  * @memberof Position
56
62
  */
57
- currentPrice: number;
63
+ currentValue?: number | null;
58
64
  /**
59
- * Unrealized profit or loss at the current price (USD).
65
+ * Unrealized profit or loss at the current price (USD). Optional in hosted mode when mark-to-market data is unavailable.
60
66
  * @type {number}
61
67
  * @memberof Position
62
68
  */
63
- unrealizedPnL: number;
69
+ unrealizedPnL?: number | null;
64
70
  /**
65
71
  * Realized profit or loss booked so far (USD).
66
72
  * @type {number}
67
73
  * @memberof Position
68
74
  */
69
75
  realizedPnL?: number;
76
+ /**
77
+ * Populated in hosted mode after on-chain settlement (from the last fill); null for local-mode and for non-on-chain venues.
78
+ * @type {string}
79
+ * @memberof Position
80
+ */
81
+ txHash?: string | null;
82
+ /**
83
+ * Populated in hosted mode after on-chain settlement (from the last fill); null for local-mode and for non-on-chain venues.
84
+ * @type {string}
85
+ * @memberof Position
86
+ */
87
+ chain?: string | null;
88
+ /**
89
+ * Populated in hosted mode after on-chain settlement (from the last fill); null for local-mode and for non-on-chain venues.
90
+ * @type {number}
91
+ * @memberof Position
92
+ */
93
+ blockNumber?: number | null;
70
94
  }
71
95
 
72
96
  /**
@@ -75,11 +99,7 @@ export interface Position {
75
99
  export function instanceOfPosition(value: object): value is Position {
76
100
  if (!('marketId' in value) || value['marketId'] === undefined) return false;
77
101
  if (!('outcomeId' in value) || value['outcomeId'] === undefined) return false;
78
- if (!('outcomeLabel' in value) || value['outcomeLabel'] === undefined) return false;
79
102
  if (!('size' in value) || value['size'] === undefined) return false;
80
- if (!('entryPrice' in value) || value['entryPrice'] === undefined) return false;
81
- if (!('currentPrice' in value) || value['currentPrice'] === undefined) return false;
82
- if (!('unrealizedPnL' in value) || value['unrealizedPnL'] === undefined) return false;
83
103
  return true;
84
104
  }
85
105
 
@@ -95,12 +115,16 @@ export function PositionFromJSONTyped(json: any, ignoreDiscriminator: boolean):
95
115
 
96
116
  'marketId': json['marketId'],
97
117
  'outcomeId': json['outcomeId'],
98
- 'outcomeLabel': json['outcomeLabel'],
118
+ 'outcomeLabel': json['outcomeLabel'] == null ? undefined : json['outcomeLabel'],
99
119
  'size': json['size'],
100
- 'entryPrice': json['entryPrice'],
101
- 'currentPrice': json['currentPrice'],
102
- 'unrealizedPnL': json['unrealizedPnL'],
120
+ 'entryPrice': json['entryPrice'] == null ? undefined : json['entryPrice'],
121
+ 'currentPrice': json['currentPrice'] == null ? undefined : json['currentPrice'],
122
+ 'currentValue': json['currentValue'] == null ? undefined : json['currentValue'],
123
+ 'unrealizedPnL': json['unrealizedPnL'] == null ? undefined : json['unrealizedPnL'],
103
124
  'realizedPnL': json['realizedPnL'] == null ? undefined : json['realizedPnL'],
125
+ 'txHash': json['txHash'] == null ? undefined : json['txHash'],
126
+ 'chain': json['chain'] == null ? undefined : json['chain'],
127
+ 'blockNumber': json['blockNumber'] == null ? undefined : json['blockNumber'],
104
128
  };
105
129
  }
106
130
 
@@ -121,8 +145,12 @@ export function PositionToJSONTyped(value?: Position | null, ignoreDiscriminator
121
145
  'size': value['size'],
122
146
  'entryPrice': value['entryPrice'],
123
147
  'currentPrice': value['currentPrice'],
148
+ 'currentValue': value['currentValue'],
124
149
  'unrealizedPnL': value['unrealizedPnL'],
125
150
  'realizedPnL': value['realizedPnL'],
151
+ 'txHash': value['txHash'],
152
+ 'chain': value['chain'],
153
+ 'blockNumber': value['blockNumber'],
126
154
  };
127
155
  }
128
156
 
@@ -52,13 +52,13 @@ export interface UnifiedSeries {
52
52
  */
53
53
  title: string;
54
54
  /**
55
- *
55
+ * Long-form series description.
56
56
  * @type {string}
57
57
  * @memberof UnifiedSeries
58
58
  */
59
59
  description?: string | null;
60
60
  /**
61
- *
61
+ * Recurrence cadence the venue reports ('daily', 'weekly', 'annual', ...).
62
62
  * @type {string}
63
63
  * @memberof UnifiedSeries
64
64
  */
@@ -70,13 +70,13 @@ export interface UnifiedSeries {
70
70
  */
71
71
  events?: Array<UnifiedEvent>;
72
72
  /**
73
- *
73
+ * Canonical venue URL for the series.
74
74
  * @type {string}
75
75
  * @memberof UnifiedSeries
76
76
  */
77
77
  url?: string | null;
78
78
  /**
79
- *
79
+ * Venue-hosted image.
80
80
  * @type {string}
81
81
  * @memberof UnifiedSeries
82
82
  */
@@ -61,6 +61,24 @@ export interface UserTrade {
61
61
  * @memberof UserTrade
62
62
  */
63
63
  orderId?: string;
64
+ /**
65
+ * Populated in hosted mode after on-chain settlement; null for local-mode and for non-on-chain venues.
66
+ * @type {string}
67
+ * @memberof UserTrade
68
+ */
69
+ txHash?: string | null;
70
+ /**
71
+ * Populated in hosted mode after on-chain settlement; null for local-mode and for non-on-chain venues.
72
+ * @type {string}
73
+ * @memberof UserTrade
74
+ */
75
+ chain?: string | null;
76
+ /**
77
+ * Populated in hosted mode after on-chain settlement; null for local-mode and for non-on-chain venues.
78
+ * @type {number}
79
+ * @memberof UserTrade
80
+ */
81
+ blockNumber?: number | null;
64
82
  }
65
83
 
66
84
 
@@ -104,6 +122,9 @@ export function UserTradeFromJSONTyped(json: any, ignoreDiscriminator: boolean):
104
122
  'side': json['side'],
105
123
  'outcomeId': json['outcomeId'] == null ? undefined : json['outcomeId'],
106
124
  'orderId': json['orderId'] == null ? undefined : json['orderId'],
125
+ 'txHash': json['txHash'] == null ? undefined : json['txHash'],
126
+ 'chain': json['chain'] == null ? undefined : json['chain'],
127
+ 'blockNumber': json['blockNumber'] == null ? undefined : json['blockNumber'],
107
128
  };
108
129
  }
109
130
 
@@ -125,6 +146,9 @@ export function UserTradeToJSONTyped(value?: UserTrade | null, ignoreDiscriminat
125
146
  'side': value['side'],
126
147
  'outcomeId': value['outcomeId'],
127
148
  'orderId': value['orderId'],
149
+ 'txHash': value['txHash'],
150
+ 'chain': value['chain'],
151
+ 'blockNumber': value['blockNumber'],
128
152
  };
129
153
  }
130
154
 
@@ -23,6 +23,7 @@ export * from './EventFilterCriteriaTotalVolume';
23
23
  export * from './EventMatchResult';
24
24
  export * from './ExchangeCredentials';
25
25
  export * from './ExchangeCredentialsSignatureType';
26
+ export * from './ExchangeOptions';
26
27
  export * from './ExecutionPriceResult';
27
28
  export * from './FeedFetchHistoricalPrices200Response';
28
29
  export * from './FeedFetchOHLCV200Response';
package/index.ts CHANGED
@@ -36,6 +36,7 @@ export { MarketList } from "./pmxt/models.js";
36
36
  export type { UnifiedSeries } from "./pmxt/models.js";
37
37
  export type * from "./pmxt/models.js";
38
38
  export * from "./pmxt/errors.js";
39
+ export * from "./pmxt/hosted-errors.js";
39
40
 
40
41
 
41
42
  const defaultManager = new ServerManager();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmxtjs",
3
- "version": "2.48.6",
3
+ "version": "2.49.1",
4
4
  "description": "Unified prediction market data API - The ccxt for prediction markets",
5
5
  "author": "PMXT Contributors",
6
6
  "repository": {
@@ -43,12 +43,21 @@
43
43
  "unified"
44
44
  ],
45
45
  "dependencies": {
46
- "pmxt-core": "2.48.6",
46
+ "pmxt-core": "2.49.1",
47
47
  "ws": "^8.18.0"
48
48
  },
49
+ "peerDependencies": {
50
+ "ethers": ">=6.0.0 <7.0.0"
51
+ },
52
+ "peerDependenciesMeta": {
53
+ "ethers": {
54
+ "optional": true
55
+ }
56
+ },
49
57
  "devDependencies": {
50
58
  "@types/jest": "^30.0.0",
51
59
  "@types/node": "^20.0.0",
60
+ "ethers": "^6.16.0",
52
61
  "jest": "^30.4.2",
53
62
  "ts-jest": "^29.4.11",
54
63
  "typescript": "^5.0.0"