pmxtjs 2.51.2 → 2.51.4
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 +15 -6
- package/dist/esm/generated/src/apis/DefaultApi.d.ts +6 -0
- package/dist/esm/generated/src/apis/DefaultApi.js +6 -0
- package/dist/esm/generated/src/models/CreateOrderParams.d.ts +20 -0
- package/dist/esm/generated/src/models/CreateOrderParams.js +11 -0
- package/dist/esm/pmxt/client.d.ts +40 -9
- package/dist/esm/pmxt/client.js +78 -3
- package/dist/esm/pmxt/hosted-typed-data.d.ts +1 -1
- package/dist/esm/pmxt/hosted-typed-data.js +14 -0
- package/dist/esm/pmxt/models.d.ts +17 -0
- package/dist/generated/src/apis/DefaultApi.d.ts +6 -0
- package/dist/generated/src/apis/DefaultApi.js +6 -0
- package/dist/generated/src/models/CreateOrderParams.d.ts +20 -0
- package/dist/generated/src/models/CreateOrderParams.js +12 -1
- package/dist/pmxt/client.d.ts +40 -9
- package/dist/pmxt/client.js +78 -3
- package/dist/pmxt/hosted-typed-data.d.ts +1 -1
- package/dist/pmxt/hosted-typed-data.js +14 -0
- package/dist/pmxt/models.d.ts +17 -0
- package/generated/docs/ArbitrageOpportunity.md +0 -29
- package/generated/docs/Balance.md +0 -25
- package/generated/docs/BaseRequest.md +0 -21
- package/generated/docs/BaseResponse.md +0 -22
- package/generated/docs/BuildOrder200Response.md +0 -23
- package/generated/docs/BuildOrderRequest.md +0 -22
- package/generated/docs/BuiltOrder.md +0 -26
- package/generated/docs/BuiltOrderTx.md +0 -24
- package/generated/docs/CancelOrderRequest.md +0 -22
- package/generated/docs/CloseRequest.md +0 -22
- package/generated/docs/CompareMarketPrices200Response.md +0 -23
- package/generated/docs/CompareMarketPricesRequest.md +0 -22
- package/generated/docs/CreateOrder200Response.md +0 -23
- package/generated/docs/CreateOrderParams.md +2 -30
- package/generated/docs/CreateOrderRequest.md +0 -22
- package/generated/docs/DataFeedsApi.md +0 -329
- package/generated/docs/DefaultApi.md +3 -1438
- package/generated/docs/ErrorDetail.md +0 -25
- package/generated/docs/ErrorResponse.md +0 -22
- package/generated/docs/EventFetchParams.md +0 -35
- package/generated/docs/EventFilterCriteria.md +0 -26
- package/generated/docs/EventFilterCriteriaTotalVolume.md +0 -22
- package/generated/docs/EventMatchResult.md +0 -22
- package/generated/docs/ExchangeCredentials.md +0 -29
- package/generated/docs/ExchangeCredentialsSignatureType.md +0 -20
- package/generated/docs/ExchangeOptions.md +0 -27
- package/generated/docs/ExecutionPriceResult.md +0 -23
- package/generated/docs/FeedFetchHistoricalPrices200Response.md +0 -22
- package/generated/docs/FeedFetchOHLCV200Response.md +0 -22
- package/generated/docs/FeedFetchOracleHistory200Response.md +0 -22
- package/generated/docs/FeedFetchOracleRound200Response.md +0 -22
- package/generated/docs/FeedFetchOrderBook200Response.md +0 -22
- package/generated/docs/FeedFetchOrderBook200ResponseData.md +0 -25
- package/generated/docs/FeedFetchTicker200Response.md +0 -22
- package/generated/docs/FeedFetchTickers200Response.md +0 -22
- package/generated/docs/FeedList200Response.md +0 -22
- package/generated/docs/FeedLoadMarkets200Response.md +0 -22
- package/generated/docs/FeedMarket.md +0 -27
- package/generated/docs/FeedOracleRound.md +0 -28
- package/generated/docs/FeedTicker.md +0 -42
- package/generated/docs/FetchArbitrage200Response.md +0 -23
- package/generated/docs/FetchArbitrageParams.md +0 -24
- package/generated/docs/FetchBalance200Response.md +0 -23
- package/generated/docs/FetchEvent200Response.md +0 -23
- package/generated/docs/FetchEventMatches200Response.md +0 -23
- package/generated/docs/FetchEventMatchesParams.md +0 -29
- package/generated/docs/FetchEvents200Response.md +0 -23
- package/generated/docs/FetchEventsPaginated200Response.md +0 -23
- package/generated/docs/FetchMarket200Response.md +0 -23
- package/generated/docs/FetchMarketMatches200Response.md +0 -23
- package/generated/docs/FetchMarketMatchesParams.md +0 -32
- package/generated/docs/FetchMarkets200Response.md +0 -23
- package/generated/docs/FetchMarketsPaginated200Response.md +0 -23
- package/generated/docs/FetchMatchedMarkets200Response.md +0 -23
- package/generated/docs/FetchMatchedMarketsParams.md +0 -24
- package/generated/docs/FetchMyTrades200Response.md +0 -23
- package/generated/docs/FetchOHLCV200Response.md +0 -23
- package/generated/docs/FetchOpenOrders200Response.md +0 -23
- package/generated/docs/FetchOrderBook200Response.md +0 -23
- package/generated/docs/FetchOrderBookParams.md +0 -24
- package/generated/docs/FetchOrderBooks200Response.md +0 -23
- package/generated/docs/FetchOrderBooksRequest.md +0 -22
- package/generated/docs/FetchPositions200Response.md +0 -23
- package/generated/docs/FetchSeries200Response.md +0 -23
- package/generated/docs/FetchTrades200Response.md +0 -23
- package/generated/docs/FilterEventsRequest.md +0 -22
- package/generated/docs/FilterEventsRequestArgsInner.md +0 -26
- package/generated/docs/FilterMarketsRequest.md +0 -22
- package/generated/docs/FilterMarketsRequestArgsInner.md +0 -31
- package/generated/docs/GetExecutionPrice200Response.md +0 -23
- package/generated/docs/GetExecutionPriceDetailed200Response.md +0 -23
- package/generated/docs/GetExecutionPriceDetailedRequest.md +0 -22
- package/generated/docs/GetExecutionPriceRequest.md +0 -22
- package/generated/docs/GetExecutionPriceRequestArgsInner.md +0 -27
- package/generated/docs/HealthCheck200Response.md +0 -22
- package/generated/docs/HistoryFilterParams.md +0 -24
- package/generated/docs/LoadMarkets200Response.md +0 -23
- package/generated/docs/LoadMarketsRequest.md +0 -22
- package/generated/docs/MarketFilterCriteria.md +0 -31
- package/generated/docs/MarketFilterCriteriaLiquidity.md +0 -22
- package/generated/docs/MarketFilterCriteriaOpenInterest.md +0 -22
- package/generated/docs/MarketFilterCriteriaPrice.md +0 -23
- package/generated/docs/MarketFilterCriteriaResolutionDate.md +0 -22
- package/generated/docs/MarketFilterCriteriaVolume.md +0 -22
- package/generated/docs/MarketFilterCriteriaVolume24h.md +0 -22
- package/generated/docs/MarketFilterParams.md +0 -34
- package/generated/docs/MarketOutcome.md +0 -26
- package/generated/docs/MatchResult.md +0 -27
- package/generated/docs/MatchedMarketPair.md +0 -30
- package/generated/docs/MyTradesParams.md +0 -26
- package/generated/docs/OHLCVParams.md +0 -24
- package/generated/docs/Order.md +0 -37
- package/generated/docs/OrderBook.md +0 -27
- package/generated/docs/OrderHistoryParams.md +0 -25
- package/generated/docs/OrderLevel.md +0 -23
- package/generated/docs/PaginatedEventsResult.md +0 -23
- package/generated/docs/PaginatedMarketsResult.md +0 -23
- package/generated/docs/Position.md +0 -32
- package/generated/docs/PriceCandle.md +0 -26
- package/generated/docs/PriceComparison.md +0 -27
- package/generated/docs/SubmitOrderRequest.md +0 -22
- package/generated/docs/Trade.md +0 -26
- package/generated/docs/TradesParams.md +0 -23
- package/generated/docs/UnifiedEvent.md +0 -33
- package/generated/docs/UnifiedMarket.md +0 -44
- package/generated/docs/UnifiedSeries.md +0 -31
- package/generated/docs/UserTrade.md +0 -32
- package/generated/package.json +1 -1
- package/generated/src/apis/DefaultApi.ts +6 -0
- package/generated/src/models/CreateOrderParams.ts +25 -0
- package/package.json +2 -2
- package/pmxt/client.ts +92 -11
- package/pmxt/hosted-typed-data.ts +17 -1
- package/pmxt/models.ts +20 -0
package/generated/docs/Trade.md
CHANGED
|
@@ -13,32 +13,6 @@ Name | Type
|
|
|
13
13
|
`side` | string
|
|
14
14
|
`outcomeId` | string
|
|
15
15
|
|
|
16
|
-
## Example
|
|
17
|
-
|
|
18
|
-
```typescript
|
|
19
|
-
import type { Trade } from 'pmxtjs'
|
|
20
|
-
|
|
21
|
-
// TODO: Update the object below with actual values
|
|
22
|
-
const example = {
|
|
23
|
-
"id": null,
|
|
24
|
-
"timestamp": null,
|
|
25
|
-
"price": null,
|
|
26
|
-
"amount": null,
|
|
27
|
-
"side": null,
|
|
28
|
-
"outcomeId": null,
|
|
29
|
-
} satisfies Trade
|
|
30
|
-
|
|
31
|
-
console.log(example)
|
|
32
|
-
|
|
33
|
-
// Convert the instance to a JSON string
|
|
34
|
-
const exampleJSON: string = JSON.stringify(example)
|
|
35
|
-
console.log(exampleJSON)
|
|
36
|
-
|
|
37
|
-
// Parse the JSON string back to an object
|
|
38
|
-
const exampleParsed = JSON.parse(exampleJSON) as Trade
|
|
39
|
-
console.log(exampleParsed)
|
|
40
|
-
```
|
|
41
|
-
|
|
42
16
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
43
17
|
|
|
44
18
|
|
|
@@ -10,29 +10,6 @@ Name | Type
|
|
|
10
10
|
`end` | Date
|
|
11
11
|
`limit` | number
|
|
12
12
|
|
|
13
|
-
## Example
|
|
14
|
-
|
|
15
|
-
```typescript
|
|
16
|
-
import type { TradesParams } from 'pmxtjs'
|
|
17
|
-
|
|
18
|
-
// TODO: Update the object below with actual values
|
|
19
|
-
const example = {
|
|
20
|
-
"start": null,
|
|
21
|
-
"end": null,
|
|
22
|
-
"limit": null,
|
|
23
|
-
} satisfies TradesParams
|
|
24
|
-
|
|
25
|
-
console.log(example)
|
|
26
|
-
|
|
27
|
-
// Convert the instance to a JSON string
|
|
28
|
-
const exampleJSON: string = JSON.stringify(example)
|
|
29
|
-
console.log(exampleJSON)
|
|
30
|
-
|
|
31
|
-
// Parse the JSON string back to an object
|
|
32
|
-
const exampleParsed = JSON.parse(exampleJSON) as TradesParams
|
|
33
|
-
console.log(exampleParsed)
|
|
34
|
-
```
|
|
35
|
-
|
|
36
13
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
37
14
|
|
|
38
15
|
|
|
@@ -21,39 +21,6 @@ Name | Type
|
|
|
21
21
|
`sourceMetadata` | { [key: string]: any; }
|
|
22
22
|
`sourceExchange` | string
|
|
23
23
|
|
|
24
|
-
## Example
|
|
25
|
-
|
|
26
|
-
```typescript
|
|
27
|
-
import type { UnifiedEvent } from 'pmxtjs'
|
|
28
|
-
|
|
29
|
-
// TODO: Update the object below with actual values
|
|
30
|
-
const example = {
|
|
31
|
-
"id": null,
|
|
32
|
-
"title": null,
|
|
33
|
-
"description": null,
|
|
34
|
-
"slug": null,
|
|
35
|
-
"markets": null,
|
|
36
|
-
"volume24h": null,
|
|
37
|
-
"volume": null,
|
|
38
|
-
"url": null,
|
|
39
|
-
"image": null,
|
|
40
|
-
"category": null,
|
|
41
|
-
"tags": null,
|
|
42
|
-
"sourceMetadata": null,
|
|
43
|
-
"sourceExchange": null,
|
|
44
|
-
} satisfies UnifiedEvent
|
|
45
|
-
|
|
46
|
-
console.log(example)
|
|
47
|
-
|
|
48
|
-
// Convert the instance to a JSON string
|
|
49
|
-
const exampleJSON: string = JSON.stringify(example)
|
|
50
|
-
console.log(exampleJSON)
|
|
51
|
-
|
|
52
|
-
// Parse the JSON string back to an object
|
|
53
|
-
const exampleParsed = JSON.parse(exampleJSON) as UnifiedEvent
|
|
54
|
-
console.log(exampleParsed)
|
|
55
|
-
```
|
|
56
|
-
|
|
57
24
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
58
25
|
|
|
59
26
|
|
|
@@ -31,50 +31,6 @@ Name | Type
|
|
|
31
31
|
`up` | [MarketOutcome](MarketOutcome.md)
|
|
32
32
|
`down` | [MarketOutcome](MarketOutcome.md)
|
|
33
33
|
|
|
34
|
-
## Example
|
|
35
|
-
|
|
36
|
-
```typescript
|
|
37
|
-
import type { UnifiedMarket } from 'pmxtjs'
|
|
38
|
-
|
|
39
|
-
// TODO: Update the object below with actual values
|
|
40
|
-
const example = {
|
|
41
|
-
"marketId": null,
|
|
42
|
-
"eventId": null,
|
|
43
|
-
"title": null,
|
|
44
|
-
"description": null,
|
|
45
|
-
"slug": null,
|
|
46
|
-
"outcomes": null,
|
|
47
|
-
"resolutionDate": null,
|
|
48
|
-
"volume24h": null,
|
|
49
|
-
"volume": null,
|
|
50
|
-
"liquidity": null,
|
|
51
|
-
"openInterest": null,
|
|
52
|
-
"url": null,
|
|
53
|
-
"image": null,
|
|
54
|
-
"category": null,
|
|
55
|
-
"tags": null,
|
|
56
|
-
"tickSize": null,
|
|
57
|
-
"status": null,
|
|
58
|
-
"contractAddress": null,
|
|
59
|
-
"sourceMetadata": null,
|
|
60
|
-
"sourceExchange": null,
|
|
61
|
-
"yes": null,
|
|
62
|
-
"no": null,
|
|
63
|
-
"up": null,
|
|
64
|
-
"down": null,
|
|
65
|
-
} satisfies UnifiedMarket
|
|
66
|
-
|
|
67
|
-
console.log(example)
|
|
68
|
-
|
|
69
|
-
// Convert the instance to a JSON string
|
|
70
|
-
const exampleJSON: string = JSON.stringify(example)
|
|
71
|
-
console.log(exampleJSON)
|
|
72
|
-
|
|
73
|
-
// Parse the JSON string back to an object
|
|
74
|
-
const exampleParsed = JSON.parse(exampleJSON) as UnifiedMarket
|
|
75
|
-
console.log(exampleParsed)
|
|
76
|
-
```
|
|
77
|
-
|
|
78
34
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
79
35
|
|
|
80
36
|
|
|
@@ -19,37 +19,6 @@ Name | Type
|
|
|
19
19
|
`sourceExchange` | string
|
|
20
20
|
`sourceMetadata` | { [key: string]: any; }
|
|
21
21
|
|
|
22
|
-
## Example
|
|
23
|
-
|
|
24
|
-
```typescript
|
|
25
|
-
import type { UnifiedSeries } from 'pmxtjs'
|
|
26
|
-
|
|
27
|
-
// TODO: Update the object below with actual values
|
|
28
|
-
const example = {
|
|
29
|
-
"id": null,
|
|
30
|
-
"ticker": null,
|
|
31
|
-
"slug": null,
|
|
32
|
-
"title": null,
|
|
33
|
-
"description": null,
|
|
34
|
-
"recurrence": null,
|
|
35
|
-
"events": null,
|
|
36
|
-
"url": null,
|
|
37
|
-
"image": null,
|
|
38
|
-
"sourceExchange": null,
|
|
39
|
-
"sourceMetadata": null,
|
|
40
|
-
} satisfies UnifiedSeries
|
|
41
|
-
|
|
42
|
-
console.log(example)
|
|
43
|
-
|
|
44
|
-
// Convert the instance to a JSON string
|
|
45
|
-
const exampleJSON: string = JSON.stringify(example)
|
|
46
|
-
console.log(exampleJSON)
|
|
47
|
-
|
|
48
|
-
// Parse the JSON string back to an object
|
|
49
|
-
const exampleParsed = JSON.parse(exampleJSON) as UnifiedSeries
|
|
50
|
-
console.log(exampleParsed)
|
|
51
|
-
```
|
|
52
|
-
|
|
53
22
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
54
23
|
|
|
55
24
|
|
|
@@ -19,38 +19,6 @@ Name | Type
|
|
|
19
19
|
`chain` | string
|
|
20
20
|
`blockNumber` | number
|
|
21
21
|
|
|
22
|
-
## Example
|
|
23
|
-
|
|
24
|
-
```typescript
|
|
25
|
-
import type { UserTrade } from 'pmxtjs'
|
|
26
|
-
|
|
27
|
-
// TODO: Update the object below with actual values
|
|
28
|
-
const example = {
|
|
29
|
-
"id": null,
|
|
30
|
-
"timestamp": null,
|
|
31
|
-
"price": null,
|
|
32
|
-
"amount": null,
|
|
33
|
-
"side": null,
|
|
34
|
-
"outcomeId": null,
|
|
35
|
-
"orderId": null,
|
|
36
|
-
"marketId": null,
|
|
37
|
-
"fee": null,
|
|
38
|
-
"txHash": null,
|
|
39
|
-
"chain": null,
|
|
40
|
-
"blockNumber": null,
|
|
41
|
-
} satisfies UserTrade
|
|
42
|
-
|
|
43
|
-
console.log(example)
|
|
44
|
-
|
|
45
|
-
// Convert the instance to a JSON string
|
|
46
|
-
const exampleJSON: string = JSON.stringify(example)
|
|
47
|
-
console.log(exampleJSON)
|
|
48
|
-
|
|
49
|
-
// Parse the JSON string back to an object
|
|
50
|
-
const exampleParsed = JSON.parse(exampleJSON) as UserTrade
|
|
51
|
-
console.log(exampleParsed)
|
|
52
|
-
```
|
|
53
|
-
|
|
54
22
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
55
23
|
|
|
56
24
|
|
package/generated/package.json
CHANGED
|
@@ -676,6 +676,7 @@ export class DefaultApi extends runtime.BaseAPI {
|
|
|
676
676
|
}
|
|
677
677
|
|
|
678
678
|
/**
|
|
679
|
+
* Fetch authenticated order history across open and closed orders.
|
|
679
680
|
* Fetch All Orders
|
|
680
681
|
*/
|
|
681
682
|
async fetchAllOrdersRaw(requestParameters: FetchAllOrdersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FetchOpenOrders200Response>> {
|
|
@@ -725,6 +726,7 @@ export class DefaultApi extends runtime.BaseAPI {
|
|
|
725
726
|
}
|
|
726
727
|
|
|
727
728
|
/**
|
|
729
|
+
* Fetch authenticated order history across open and closed orders.
|
|
728
730
|
* Fetch All Orders
|
|
729
731
|
*/
|
|
730
732
|
async fetchAllOrders(requestParameters: FetchAllOrdersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FetchOpenOrders200Response> {
|
|
@@ -831,6 +833,7 @@ export class DefaultApi extends runtime.BaseAPI {
|
|
|
831
833
|
}
|
|
832
834
|
|
|
833
835
|
/**
|
|
836
|
+
* Fetch authenticated closed orders.
|
|
834
837
|
* Fetch Closed Orders
|
|
835
838
|
*/
|
|
836
839
|
async fetchClosedOrdersRaw(requestParameters: FetchClosedOrdersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FetchOpenOrders200Response>> {
|
|
@@ -880,6 +883,7 @@ export class DefaultApi extends runtime.BaseAPI {
|
|
|
880
883
|
}
|
|
881
884
|
|
|
882
885
|
/**
|
|
886
|
+
* Fetch authenticated closed orders.
|
|
883
887
|
* Fetch Closed Orders
|
|
884
888
|
*/
|
|
885
889
|
async fetchClosedOrders(requestParameters: FetchClosedOrdersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FetchOpenOrders200Response> {
|
|
@@ -1737,6 +1741,7 @@ export class DefaultApi extends runtime.BaseAPI {
|
|
|
1737
1741
|
}
|
|
1738
1742
|
|
|
1739
1743
|
/**
|
|
1744
|
+
* Fetch authenticated user trade history.
|
|
1740
1745
|
* Fetch My Trades
|
|
1741
1746
|
*/
|
|
1742
1747
|
async fetchMyTradesRaw(requestParameters: FetchMyTradesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FetchMyTrades200Response>> {
|
|
@@ -1790,6 +1795,7 @@ export class DefaultApi extends runtime.BaseAPI {
|
|
|
1790
1795
|
}
|
|
1791
1796
|
|
|
1792
1797
|
/**
|
|
1798
|
+
* Fetch authenticated user trade history.
|
|
1793
1799
|
* Fetch My Trades
|
|
1794
1800
|
*/
|
|
1795
1801
|
async fetchMyTrades(requestParameters: FetchMyTradesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FetchMyTrades200Response> {
|
|
@@ -55,6 +55,18 @@ export interface CreateOrderParams {
|
|
|
55
55
|
* @memberof CreateOrderParams
|
|
56
56
|
*/
|
|
57
57
|
price?: number;
|
|
58
|
+
/**
|
|
59
|
+
* Hosted mode: amount unit.
|
|
60
|
+
* @type {string}
|
|
61
|
+
* @memberof CreateOrderParams
|
|
62
|
+
*/
|
|
63
|
+
denom?: CreateOrderParamsDenomEnum;
|
|
64
|
+
/**
|
|
65
|
+
* Hosted mode: maximum market-order slippage percentage.
|
|
66
|
+
* @type {number}
|
|
67
|
+
* @memberof CreateOrderParams
|
|
68
|
+
*/
|
|
69
|
+
slippagePct?: number;
|
|
58
70
|
/**
|
|
59
71
|
* Optional fee rate (e.g., 1000 for 0.1%)
|
|
60
72
|
* @type {number}
|
|
@@ -100,6 +112,15 @@ export const CreateOrderParamsTypeEnum = {
|
|
|
100
112
|
} as const;
|
|
101
113
|
export type CreateOrderParamsTypeEnum = typeof CreateOrderParamsTypeEnum[keyof typeof CreateOrderParamsTypeEnum];
|
|
102
114
|
|
|
115
|
+
/**
|
|
116
|
+
* @export
|
|
117
|
+
*/
|
|
118
|
+
export const CreateOrderParamsDenomEnum = {
|
|
119
|
+
Usdc: 'usdc',
|
|
120
|
+
Shares: 'shares'
|
|
121
|
+
} as const;
|
|
122
|
+
export type CreateOrderParamsDenomEnum = typeof CreateOrderParamsDenomEnum[keyof typeof CreateOrderParamsDenomEnum];
|
|
123
|
+
|
|
103
124
|
|
|
104
125
|
/**
|
|
105
126
|
* Check if a given object implements the CreateOrderParams interface.
|
|
@@ -129,6 +150,8 @@ export function CreateOrderParamsFromJSONTyped(json: any, ignoreDiscriminator: b
|
|
|
129
150
|
'type': json['type'],
|
|
130
151
|
'amount': json['amount'],
|
|
131
152
|
'price': json['price'] == null ? undefined : json['price'],
|
|
153
|
+
'denom': json['denom'] == null ? undefined : json['denom'],
|
|
154
|
+
'slippagePct': json['slippage_pct'] == null ? undefined : json['slippage_pct'],
|
|
132
155
|
'fee': json['fee'] == null ? undefined : json['fee'],
|
|
133
156
|
'tickSize': json['tickSize'] == null ? undefined : json['tickSize'],
|
|
134
157
|
'negRisk': json['negRisk'] == null ? undefined : json['negRisk'],
|
|
@@ -153,6 +176,8 @@ export function CreateOrderParamsToJSONTyped(value?: CreateOrderParams | null, i
|
|
|
153
176
|
'type': value['type'],
|
|
154
177
|
'amount': value['amount'],
|
|
155
178
|
'price': value['price'],
|
|
179
|
+
'denom': value['denom'],
|
|
180
|
+
'slippage_pct': value['slippagePct'],
|
|
156
181
|
'fee': value['fee'],
|
|
157
182
|
'tickSize': value['tickSize'],
|
|
158
183
|
'negRisk': value['negRisk'],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pmxtjs",
|
|
3
|
-
"version": "2.51.
|
|
3
|
+
"version": "2.51.4",
|
|
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.51.
|
|
46
|
+
"pmxt-core": "2.51.4",
|
|
47
47
|
"ws": "^8.18.0"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
package/pmxt/client.ts
CHANGED
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
import {
|
|
18
18
|
Balance,
|
|
19
19
|
BuiltOrder,
|
|
20
|
-
|
|
20
|
+
CreateOrderInput,
|
|
21
21
|
EventFetchParams,
|
|
22
22
|
EventFilterCriteria,
|
|
23
23
|
EventFilterFunction,
|
|
@@ -82,6 +82,7 @@ import {
|
|
|
82
82
|
validateEconomics,
|
|
83
83
|
verifySignature,
|
|
84
84
|
} from "./hosted-typed-data.js";
|
|
85
|
+
import type { HostedRoute } from "./hosted-typed-data.js";
|
|
85
86
|
import type { Signer, TypedData } from "./signers.js";
|
|
86
87
|
import { signerFromPrivateKey, EthersSigner } from "./signers.js";
|
|
87
88
|
import { Escrow } from "./escrow.js";
|
|
@@ -2011,7 +2012,13 @@ export abstract class Exchange {
|
|
|
2011
2012
|
throw this.wsTransportUnavailableError("watchAllOrderBooks");
|
|
2012
2013
|
}
|
|
2013
2014
|
|
|
2014
|
-
/**
|
|
2015
|
+
/**
|
|
2016
|
+
* Stream all orderbook updates across venues.
|
|
2017
|
+
*
|
|
2018
|
+
* @deprecated Use {@link watchAllOrderBooks} instead.
|
|
2019
|
+
* @param venues - Optional venue filter
|
|
2020
|
+
* @returns Next event with source, symbol, and orderbook
|
|
2021
|
+
*/
|
|
2015
2022
|
async firehose(venues?: string[]): Promise<FirehoseEvent> {
|
|
2016
2023
|
return this.watchAllOrderBooks(venues);
|
|
2017
2024
|
}
|
|
@@ -2148,15 +2155,18 @@ export abstract class Exchange {
|
|
|
2148
2155
|
* const order = await exchange.submitOrder(built);
|
|
2149
2156
|
*
|
|
2150
2157
|
* // Using outcome shorthand:
|
|
2158
|
+
* const yes = market.yes;
|
|
2159
|
+
* if (!yes) throw new Error("Market has no YES outcome");
|
|
2160
|
+
*
|
|
2151
2161
|
* const built2 = await exchange.buildOrder({
|
|
2152
|
-
* outcome:
|
|
2162
|
+
* outcome: yes,
|
|
2153
2163
|
* side: "buy",
|
|
2154
2164
|
* type: "market",
|
|
2155
2165
|
* amount: 10
|
|
2156
2166
|
* });
|
|
2157
2167
|
* ```
|
|
2158
2168
|
*/
|
|
2159
|
-
async buildOrder(params:
|
|
2169
|
+
async buildOrder(params: CreateOrderInput): Promise<BuiltOrder> {
|
|
2160
2170
|
if (this.isHostedTradingMode()) {
|
|
2161
2171
|
return this._hostedBuildOrder(params);
|
|
2162
2172
|
}
|
|
@@ -2310,7 +2320,7 @@ export abstract class Exchange {
|
|
|
2310
2320
|
* at submit time.
|
|
2311
2321
|
*/
|
|
2312
2322
|
private async _hostedBuildOrder(
|
|
2313
|
-
params:
|
|
2323
|
+
params: CreateOrderInput,
|
|
2314
2324
|
): Promise<BuiltOrder> {
|
|
2315
2325
|
const body = this._hostedBuildOrderBody(params);
|
|
2316
2326
|
const route = HOSTED_METHOD_ROUTES.get("buildOrder")!;
|
|
@@ -2328,7 +2338,7 @@ export abstract class Exchange {
|
|
|
2328
2338
|
/**
|
|
2329
2339
|
* Hosted-mode createOrder: build → sign → submit single-call wrapper.
|
|
2330
2340
|
*/
|
|
2331
|
-
private async _hostedCreateOrder(params:
|
|
2341
|
+
private async _hostedCreateOrder(params: CreateOrderInput): Promise<Order> {
|
|
2332
2342
|
const built = await this._hostedBuildOrder(params);
|
|
2333
2343
|
return this._hostedSubmitOrder(built);
|
|
2334
2344
|
}
|
|
@@ -2392,7 +2402,7 @@ export abstract class Exchange {
|
|
|
2392
2402
|
* `validateTypedData` / `validateEconomics`. Returns the cross-chain
|
|
2393
2403
|
* pull-leg route name for Opinion sells and Limitless cross-chain orders.
|
|
2394
2404
|
*/
|
|
2395
|
-
private _hostedTypedDataRoute(side: string, isPull: boolean):
|
|
2405
|
+
private _hostedTypedDataRoute(side: string, isPull: boolean): HostedRoute {
|
|
2396
2406
|
const venue = this.exchangeName;
|
|
2397
2407
|
const sideLower = side.toLowerCase();
|
|
2398
2408
|
if (venue === "polymarket") {
|
|
@@ -2457,10 +2467,12 @@ export abstract class Exchange {
|
|
|
2457
2467
|
return orderFromV0(data as Record<string, unknown>);
|
|
2458
2468
|
}
|
|
2459
2469
|
|
|
2460
|
-
private _hostedCancelTypedDataRoute(isPull: boolean):
|
|
2470
|
+
private _hostedCancelTypedDataRoute(isPull: boolean): HostedRoute {
|
|
2461
2471
|
const venue = this.exchangeName;
|
|
2462
2472
|
if (venue === "polymarket") return "cancel_polymarket";
|
|
2463
|
-
if (venue === "limitless")
|
|
2473
|
+
if (venue === "limitless") {
|
|
2474
|
+
return isPull ? "cancel_limitless_base_pull" : "cancel_limitless_polygon";
|
|
2475
|
+
}
|
|
2464
2476
|
return isPull ? "cancel_opinion_bsc_pull" : "cancel_opinion_polygon";
|
|
2465
2477
|
}
|
|
2466
2478
|
|
|
@@ -2470,7 +2482,7 @@ export abstract class Exchange {
|
|
|
2470
2482
|
* precision rejected via {@link to6dec}).
|
|
2471
2483
|
*/
|
|
2472
2484
|
private _hostedBuildOrderBody(
|
|
2473
|
-
params:
|
|
2485
|
+
params: CreateOrderInput,
|
|
2474
2486
|
): Record<string, unknown> {
|
|
2475
2487
|
let marketId: string | undefined = params.marketId;
|
|
2476
2488
|
let outcomeId: string | undefined = params.outcomeId;
|
|
@@ -2592,7 +2604,7 @@ export abstract class Exchange {
|
|
|
2592
2604
|
* });
|
|
2593
2605
|
* ```
|
|
2594
2606
|
*/
|
|
2595
|
-
async createOrder(params:
|
|
2607
|
+
async createOrder(params: CreateOrderInput): Promise<Order> {
|
|
2596
2608
|
// SOR escape path (preserved): legacy hosted SOR flow uses a venue-side
|
|
2597
2609
|
// SDK to execute the legs, only when a privateKey is present.
|
|
2598
2610
|
if (this.isHosted && this.exchangeName === 'sor' && this.privateKey) {
|
|
@@ -3153,6 +3165,75 @@ export class Limitless extends Exchange {
|
|
|
3153
3165
|
constructor(options: ExchangeOptions = {}) {
|
|
3154
3166
|
super("limitless", options);
|
|
3155
3167
|
}
|
|
3168
|
+
|
|
3169
|
+
/**
|
|
3170
|
+
* Watch real-time AMM price updates via WebSocket.
|
|
3171
|
+
*
|
|
3172
|
+
* @param marketAddress - Limitless market contract address
|
|
3173
|
+
* @param callback - Optional callback invoked with the returned update
|
|
3174
|
+
* @returns Next price update
|
|
3175
|
+
*/
|
|
3176
|
+
async watchPrices(
|
|
3177
|
+
marketAddress: string,
|
|
3178
|
+
callback?: (data: Record<string, any>) => void,
|
|
3179
|
+
): Promise<Record<string, any>> {
|
|
3180
|
+
await this.initPromise;
|
|
3181
|
+
try {
|
|
3182
|
+
const json = await this.sidecarPostRequest("watchPrices", [marketAddress]);
|
|
3183
|
+
const data = this.handleResponse(json);
|
|
3184
|
+
callback?.(data);
|
|
3185
|
+
return data;
|
|
3186
|
+
} catch (error) {
|
|
3187
|
+
if (error instanceof PmxtError) throw error;
|
|
3188
|
+
throw new PmxtError(`Failed to watch prices: ${error}`);
|
|
3189
|
+
}
|
|
3190
|
+
}
|
|
3191
|
+
|
|
3192
|
+
/**
|
|
3193
|
+
* Watch real-time Limitless user position updates.
|
|
3194
|
+
*
|
|
3195
|
+
* Requires API key authentication.
|
|
3196
|
+
*
|
|
3197
|
+
* @param callback - Optional callback invoked with the returned positions
|
|
3198
|
+
* @returns Next position update payload
|
|
3199
|
+
*/
|
|
3200
|
+
async watchUserPositions(
|
|
3201
|
+
callback?: (data: Position[]) => void,
|
|
3202
|
+
): Promise<Position[]> {
|
|
3203
|
+
await this.initPromise;
|
|
3204
|
+
try {
|
|
3205
|
+
const json = await this.sidecarPostRequest("watchUserPositions", []);
|
|
3206
|
+
const data = this.handleResponse(json).map(convertPosition);
|
|
3207
|
+
callback?.(data);
|
|
3208
|
+
return data;
|
|
3209
|
+
} catch (error) {
|
|
3210
|
+
if (error instanceof PmxtError) throw error;
|
|
3211
|
+
throw new PmxtError(`Failed to watch user positions: ${error}`);
|
|
3212
|
+
}
|
|
3213
|
+
}
|
|
3214
|
+
|
|
3215
|
+
/**
|
|
3216
|
+
* Watch real-time Limitless user transaction updates.
|
|
3217
|
+
*
|
|
3218
|
+
* Requires API key authentication.
|
|
3219
|
+
*
|
|
3220
|
+
* @param callback - Optional callback invoked with the returned update
|
|
3221
|
+
* @returns Next transaction update
|
|
3222
|
+
*/
|
|
3223
|
+
async watchUserTransactions(
|
|
3224
|
+
callback?: (data: Record<string, any>) => void,
|
|
3225
|
+
): Promise<Record<string, any>> {
|
|
3226
|
+
await this.initPromise;
|
|
3227
|
+
try {
|
|
3228
|
+
const json = await this.sidecarPostRequest("watchUserTransactions", []);
|
|
3229
|
+
const data = this.handleResponse(json);
|
|
3230
|
+
callback?.(data);
|
|
3231
|
+
return data;
|
|
3232
|
+
} catch (error) {
|
|
3233
|
+
if (error instanceof PmxtError) throw error;
|
|
3234
|
+
throw new PmxtError(`Failed to watch user transactions: ${error}`);
|
|
3235
|
+
}
|
|
3236
|
+
}
|
|
3156
3237
|
}
|
|
3157
3238
|
|
|
3158
3239
|
/**
|
|
@@ -141,7 +141,9 @@ export type HostedRoute =
|
|
|
141
141
|
| "opinion_sell_bsc_pull"
|
|
142
142
|
| "cancel_polymarket"
|
|
143
143
|
| "cancel_opinion_polygon"
|
|
144
|
-
| "cancel_opinion_bsc_pull"
|
|
144
|
+
| "cancel_opinion_bsc_pull"
|
|
145
|
+
| "cancel_limitless_polygon"
|
|
146
|
+
| "cancel_limitless_base_pull";
|
|
145
147
|
|
|
146
148
|
const SCHEMAS: Readonly<Record<HostedRoute, TypedDataSchema>> = {
|
|
147
149
|
polymarket_buy: {
|
|
@@ -221,6 +223,20 @@ const SCHEMAS: Readonly<Record<HostedRoute, TypedDataSchema>> = {
|
|
|
221
223
|
messageKeys: messageKeysFromFields(CANCEL_PULL_FIELDS),
|
|
222
224
|
walletField: "user",
|
|
223
225
|
},
|
|
226
|
+
cancel_limitless_polygon: {
|
|
227
|
+
primaryType: "CancelOrder",
|
|
228
|
+
domain: PREFUNDED_DOMAIN,
|
|
229
|
+
fields: CANCEL_ORDER_FIELDS,
|
|
230
|
+
messageKeys: messageKeysFromFields(CANCEL_ORDER_FIELDS),
|
|
231
|
+
walletField: "user",
|
|
232
|
+
},
|
|
233
|
+
cancel_limitless_base_pull: {
|
|
234
|
+
primaryType: "CancelPull",
|
|
235
|
+
domain: LIMITLESS_VENUE_DOMAIN,
|
|
236
|
+
fields: CANCEL_PULL_FIELDS,
|
|
237
|
+
messageKeys: messageKeysFromFields(CANCEL_PULL_FIELDS),
|
|
238
|
+
walletField: "user",
|
|
239
|
+
},
|
|
224
240
|
};
|
|
225
241
|
|
|
226
242
|
// secp256k1 group order / 2, for canonical low-s check.
|
package/pmxt/models.ts
CHANGED
|
@@ -549,6 +549,12 @@ export interface CreateOrderParams {
|
|
|
549
549
|
/** Limit price (required for limit orders, 0.0-1.0) */
|
|
550
550
|
price?: number;
|
|
551
551
|
|
|
552
|
+
/** Hosted mode: unit that amount is denominated in. Market buys use usdc; market sells and limit orders use shares. */
|
|
553
|
+
denom?: "usdc" | "shares";
|
|
554
|
+
|
|
555
|
+
/** Hosted mode: maximum slippage percentage for market orders. */
|
|
556
|
+
slippage_pct?: number;
|
|
557
|
+
|
|
552
558
|
/** Optional fee rate (e.g., 1000 for 0.1%) */
|
|
553
559
|
fee?: number;
|
|
554
560
|
|
|
@@ -562,6 +568,20 @@ export interface CreateOrderParams {
|
|
|
562
568
|
onBehalfOf?: number;
|
|
563
569
|
}
|
|
564
570
|
|
|
571
|
+
/**
|
|
572
|
+
* Public order input accepted by createOrder/buildOrder.
|
|
573
|
+
*
|
|
574
|
+
* Callers can either pass explicit marketId/outcomeId fields, or pass an
|
|
575
|
+
* outcome object returned by fetchMarkets and let the SDK infer those ids.
|
|
576
|
+
*/
|
|
577
|
+
export type CreateOrderInput =
|
|
578
|
+
| (CreateOrderParams & { outcome?: never })
|
|
579
|
+
| (Omit<CreateOrderParams, 'marketId' | 'outcomeId'> & {
|
|
580
|
+
outcome: MarketOutcome;
|
|
581
|
+
marketId?: never;
|
|
582
|
+
outcomeId?: never;
|
|
583
|
+
});
|
|
584
|
+
|
|
565
585
|
/** Alias matching the core MarketFetchParams name. */
|
|
566
586
|
export type MarketFetchParams = MarketFilterParams;
|
|
567
587
|
|