pmxtjs 0.4.3 → 1.0.0-b2
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 +161 -0
- package/dist/esm/generated/src/apis/DefaultApi.d.ts +268 -0
- package/dist/esm/generated/src/apis/DefaultApi.js +501 -0
- package/dist/esm/generated/src/apis/index.d.ts +1 -0
- package/dist/esm/generated/src/apis/index.js +19 -0
- package/dist/esm/generated/src/index.d.ts +3 -0
- package/dist/esm/generated/src/index.js +21 -0
- package/dist/esm/generated/src/models/Balance.d.ts +50 -0
- package/dist/esm/generated/src/models/Balance.js +54 -0
- package/dist/esm/generated/src/models/BaseResponse.d.ts +39 -0
- package/dist/esm/generated/src/models/BaseResponse.js +51 -0
- package/dist/esm/generated/src/models/CancelOrderRequest.d.ts +32 -0
- package/dist/esm/generated/src/models/CancelOrderRequest.js +50 -0
- package/dist/esm/generated/src/models/CreateOrder200Response.d.ts +46 -0
- package/dist/esm/generated/src/models/CreateOrder200Response.js +54 -0
- package/dist/esm/generated/src/models/CreateOrderParams.d.ts +78 -0
- package/dist/esm/generated/src/models/CreateOrderParams.js +83 -0
- package/dist/esm/generated/src/models/CreateOrderRequest.d.ts +33 -0
- package/dist/esm/generated/src/models/CreateOrderRequest.js +51 -0
- package/dist/esm/generated/src/models/ErrorDetail.d.ts +32 -0
- package/dist/esm/generated/src/models/ErrorDetail.js +48 -0
- package/dist/esm/generated/src/models/ErrorResponse.d.ts +39 -0
- package/dist/esm/generated/src/models/ErrorResponse.js +51 -0
- package/dist/esm/generated/src/models/FetchBalance200Response.d.ts +46 -0
- package/dist/esm/generated/src/models/FetchBalance200Response.js +54 -0
- package/dist/esm/generated/src/models/FetchMarkets200Response.d.ts +46 -0
- package/dist/esm/generated/src/models/FetchMarkets200Response.js +54 -0
- package/dist/esm/generated/src/models/FetchMarketsRequest.d.ts +33 -0
- package/dist/esm/generated/src/models/FetchMarketsRequest.js +49 -0
- package/dist/esm/generated/src/models/FetchOHLCV200Response.d.ts +46 -0
- package/dist/esm/generated/src/models/FetchOHLCV200Response.js +54 -0
- package/dist/esm/generated/src/models/FetchOHLCVRequest.d.ts +33 -0
- package/dist/esm/generated/src/models/FetchOHLCVRequest.js +51 -0
- package/dist/esm/generated/src/models/FetchOHLCVRequestArgsInner.d.ts +22 -0
- package/dist/esm/generated/src/models/FetchOHLCVRequestArgsInner.js +56 -0
- package/dist/esm/generated/src/models/FetchOpenOrders200Response.d.ts +46 -0
- package/dist/esm/generated/src/models/FetchOpenOrders200Response.js +54 -0
- package/dist/esm/generated/src/models/FetchOpenOrdersRequest.d.ts +32 -0
- package/dist/esm/generated/src/models/FetchOpenOrdersRequest.js +48 -0
- package/dist/esm/generated/src/models/FetchOrderBook200Response.d.ts +46 -0
- package/dist/esm/generated/src/models/FetchOrderBook200Response.js +54 -0
- package/dist/esm/generated/src/models/FetchOrderBookRequest.d.ts +32 -0
- package/dist/esm/generated/src/models/FetchOrderBookRequest.js +50 -0
- package/dist/esm/generated/src/models/FetchPositions200Response.d.ts +46 -0
- package/dist/esm/generated/src/models/FetchPositions200Response.js +54 -0
- package/dist/esm/generated/src/models/FetchPositionsRequest.d.ts +32 -0
- package/dist/esm/generated/src/models/FetchPositionsRequest.js +48 -0
- package/dist/esm/generated/src/models/FetchTrades200Response.d.ts +46 -0
- package/dist/esm/generated/src/models/FetchTrades200Response.js +54 -0
- package/dist/esm/generated/src/models/FetchTradesRequest.d.ts +33 -0
- package/dist/esm/generated/src/models/FetchTradesRequest.js +51 -0
- package/dist/esm/generated/src/models/GetMarketsBySlugRequest.d.ts +32 -0
- package/dist/esm/generated/src/models/GetMarketsBySlugRequest.js +50 -0
- package/dist/esm/generated/src/models/HealthCheck200Response.d.ts +38 -0
- package/dist/esm/generated/src/models/HealthCheck200Response.js +50 -0
- package/dist/esm/generated/src/models/HistoryFilterParams.d.ts +62 -0
- package/dist/esm/generated/src/models/HistoryFilterParams.js +68 -0
- package/dist/esm/generated/src/models/MarketFilterParams.d.ts +68 -0
- package/dist/esm/generated/src/models/MarketFilterParams.js +71 -0
- package/dist/esm/generated/src/models/MarketOutcome.d.ts +44 -0
- package/dist/esm/generated/src/models/MarketOutcome.js +52 -0
- package/dist/esm/generated/src/models/Order.d.ts +108 -0
- package/dist/esm/generated/src/models/Order.js +83 -0
- package/dist/esm/generated/src/models/OrderBook.d.ts +39 -0
- package/dist/esm/generated/src/models/OrderBook.js +51 -0
- package/dist/esm/generated/src/models/OrderLevel.d.ts +38 -0
- package/dist/esm/generated/src/models/OrderLevel.js +50 -0
- package/dist/esm/generated/src/models/Position.d.ts +74 -0
- package/dist/esm/generated/src/models/Position.js +62 -0
- package/dist/esm/generated/src/models/PriceCandle.d.ts +62 -0
- package/dist/esm/generated/src/models/PriceCandle.js +58 -0
- package/dist/esm/generated/src/models/SearchMarketsRequest.d.ts +33 -0
- package/dist/esm/generated/src/models/SearchMarketsRequest.js +51 -0
- package/dist/esm/generated/src/models/SearchMarketsRequestArgsInner.d.ts +22 -0
- package/dist/esm/generated/src/models/SearchMarketsRequestArgsInner.js +56 -0
- package/dist/esm/generated/src/models/Trade.d.ts +65 -0
- package/dist/esm/generated/src/models/Trade.js +65 -0
- package/dist/esm/generated/src/models/UnifiedMarket.d.ts +63 -0
- package/dist/esm/generated/src/models/UnifiedMarket.js +59 -0
- package/dist/esm/generated/src/models/index.d.ts +36 -0
- package/dist/esm/generated/src/models/index.js +54 -0
- package/dist/esm/generated/src/runtime.d.ts +184 -0
- package/dist/esm/generated/src/runtime.js +349 -0
- package/dist/esm/index.d.ts +32 -0
- package/dist/esm/index.js +33 -0
- package/dist/esm/pmxt/client.d.ts +213 -0
- package/dist/esm/pmxt/client.js +518 -0
- package/dist/esm/pmxt/models.d.ts +218 -0
- package/dist/esm/pmxt/models.js +6 -0
- package/dist/esm/pmxt/server-manager.d.ts +29 -0
- package/dist/esm/pmxt/server-manager.js +68 -0
- package/dist/generated/src/apis/DefaultApi.d.ts +268 -0
- package/dist/generated/src/apis/DefaultApi.js +501 -0
- package/dist/generated/src/apis/index.d.ts +1 -0
- package/dist/generated/src/apis/index.js +19 -0
- package/dist/generated/src/index.d.ts +3 -0
- package/dist/generated/src/index.js +21 -0
- package/dist/generated/src/models/Balance.d.ts +50 -0
- package/dist/generated/src/models/Balance.js +54 -0
- package/dist/generated/src/models/BaseResponse.d.ts +39 -0
- package/dist/generated/src/models/BaseResponse.js +51 -0
- package/dist/generated/src/models/CancelOrderRequest.d.ts +32 -0
- package/dist/generated/src/models/CancelOrderRequest.js +50 -0
- package/dist/generated/src/models/CreateOrder200Response.d.ts +46 -0
- package/dist/generated/src/models/CreateOrder200Response.js +54 -0
- package/dist/generated/src/models/CreateOrderParams.d.ts +78 -0
- package/dist/generated/src/models/CreateOrderParams.js +83 -0
- package/dist/generated/src/models/CreateOrderRequest.d.ts +33 -0
- package/dist/generated/src/models/CreateOrderRequest.js +51 -0
- package/dist/generated/src/models/ErrorDetail.d.ts +32 -0
- package/dist/generated/src/models/ErrorDetail.js +48 -0
- package/dist/generated/src/models/ErrorResponse.d.ts +39 -0
- package/dist/generated/src/models/ErrorResponse.js +51 -0
- package/dist/generated/src/models/FetchBalance200Response.d.ts +46 -0
- package/dist/generated/src/models/FetchBalance200Response.js +54 -0
- package/dist/generated/src/models/FetchMarkets200Response.d.ts +46 -0
- package/dist/generated/src/models/FetchMarkets200Response.js +54 -0
- package/dist/generated/src/models/FetchMarketsRequest.d.ts +33 -0
- package/dist/generated/src/models/FetchMarketsRequest.js +49 -0
- package/dist/generated/src/models/FetchOHLCV200Response.d.ts +46 -0
- package/dist/generated/src/models/FetchOHLCV200Response.js +54 -0
- package/dist/generated/src/models/FetchOHLCVRequest.d.ts +33 -0
- package/dist/generated/src/models/FetchOHLCVRequest.js +51 -0
- package/dist/generated/src/models/FetchOHLCVRequestArgsInner.d.ts +22 -0
- package/dist/generated/src/models/FetchOHLCVRequestArgsInner.js +56 -0
- package/dist/generated/src/models/FetchOpenOrders200Response.d.ts +46 -0
- package/dist/generated/src/models/FetchOpenOrders200Response.js +54 -0
- package/dist/generated/src/models/FetchOpenOrdersRequest.d.ts +32 -0
- package/dist/generated/src/models/FetchOpenOrdersRequest.js +48 -0
- package/dist/generated/src/models/FetchOrderBook200Response.d.ts +46 -0
- package/dist/generated/src/models/FetchOrderBook200Response.js +54 -0
- package/dist/generated/src/models/FetchOrderBookRequest.d.ts +32 -0
- package/dist/generated/src/models/FetchOrderBookRequest.js +50 -0
- package/dist/generated/src/models/FetchPositions200Response.d.ts +46 -0
- package/dist/generated/src/models/FetchPositions200Response.js +54 -0
- package/dist/generated/src/models/FetchPositionsRequest.d.ts +32 -0
- package/dist/generated/src/models/FetchPositionsRequest.js +48 -0
- package/dist/generated/src/models/FetchTrades200Response.d.ts +46 -0
- package/dist/generated/src/models/FetchTrades200Response.js +54 -0
- package/dist/generated/src/models/FetchTradesRequest.d.ts +33 -0
- package/dist/generated/src/models/FetchTradesRequest.js +51 -0
- package/dist/generated/src/models/GetMarketsBySlugRequest.d.ts +32 -0
- package/dist/generated/src/models/GetMarketsBySlugRequest.js +50 -0
- package/dist/generated/src/models/HealthCheck200Response.d.ts +38 -0
- package/dist/generated/src/models/HealthCheck200Response.js +50 -0
- package/dist/generated/src/models/HistoryFilterParams.d.ts +62 -0
- package/dist/generated/src/models/HistoryFilterParams.js +68 -0
- package/dist/generated/src/models/MarketFilterParams.d.ts +68 -0
- package/dist/generated/src/models/MarketFilterParams.js +71 -0
- package/dist/generated/src/models/MarketOutcome.d.ts +44 -0
- package/dist/generated/src/models/MarketOutcome.js +52 -0
- package/dist/generated/src/models/Order.d.ts +108 -0
- package/dist/generated/src/models/Order.js +83 -0
- package/dist/generated/src/models/OrderBook.d.ts +39 -0
- package/dist/generated/src/models/OrderBook.js +51 -0
- package/dist/generated/src/models/OrderLevel.d.ts +38 -0
- package/dist/generated/src/models/OrderLevel.js +50 -0
- package/dist/generated/src/models/Position.d.ts +74 -0
- package/dist/generated/src/models/Position.js +62 -0
- package/dist/generated/src/models/PriceCandle.d.ts +62 -0
- package/dist/generated/src/models/PriceCandle.js +58 -0
- package/dist/generated/src/models/SearchMarketsRequest.d.ts +33 -0
- package/dist/generated/src/models/SearchMarketsRequest.js +51 -0
- package/dist/generated/src/models/SearchMarketsRequestArgsInner.d.ts +22 -0
- package/dist/generated/src/models/SearchMarketsRequestArgsInner.js +56 -0
- package/dist/generated/src/models/Trade.d.ts +65 -0
- package/dist/generated/src/models/Trade.js +65 -0
- package/dist/generated/src/models/UnifiedMarket.d.ts +63 -0
- package/dist/generated/src/models/UnifiedMarket.js +59 -0
- package/dist/generated/src/models/index.d.ts +36 -0
- package/dist/generated/src/models/index.js +54 -0
- package/dist/generated/src/runtime.d.ts +184 -0
- package/dist/generated/src/runtime.js +349 -0
- package/dist/index.d.ts +29 -10
- package/dist/index.js +31 -27
- package/dist/pmxt/client.d.ts +213 -0
- package/dist/pmxt/client.js +518 -0
- package/dist/pmxt/models.d.ts +218 -0
- package/dist/pmxt/models.js +6 -0
- package/dist/pmxt/server-manager.d.ts +29 -0
- package/dist/pmxt/server-manager.js +68 -0
- package/generated/.openapi-generator/FILES +84 -0
- package/generated/.openapi-generator/VERSION +1 -0
- package/generated/.openapi-generator-ignore +23 -0
- package/generated/docs/Balance.md +40 -0
- package/generated/docs/BaseResponse.md +36 -0
- package/generated/docs/CancelOrderRequest.md +34 -0
- package/generated/docs/CreateOrder200Response.md +38 -0
- package/generated/docs/CreateOrderParams.md +44 -0
- package/generated/docs/CreateOrderRequest.md +34 -0
- package/generated/docs/DefaultApi.md +896 -0
- package/generated/docs/ErrorDetail.md +34 -0
- package/generated/docs/ErrorResponse.md +36 -0
- package/generated/docs/FetchBalance200Response.md +38 -0
- package/generated/docs/FetchMarkets200Response.md +38 -0
- package/generated/docs/FetchMarketsRequest.md +34 -0
- package/generated/docs/FetchOHLCV200Response.md +38 -0
- package/generated/docs/FetchOHLCVRequest.md +34 -0
- package/generated/docs/FetchOHLCVRequestArgsInner.md +40 -0
- package/generated/docs/FetchOpenOrders200Response.md +38 -0
- package/generated/docs/FetchOpenOrdersRequest.md +34 -0
- package/generated/docs/FetchOrderBook200Response.md +38 -0
- package/generated/docs/FetchOrderBookRequest.md +34 -0
- package/generated/docs/FetchPositions200Response.md +38 -0
- package/generated/docs/FetchPositionsRequest.md +34 -0
- package/generated/docs/FetchTrades200Response.md +38 -0
- package/generated/docs/FetchTradesRequest.md +34 -0
- package/generated/docs/GetMarketsBySlugRequest.md +34 -0
- package/generated/docs/HealthCheck200Response.md +36 -0
- package/generated/docs/HistoryFilterParams.md +40 -0
- package/generated/docs/MarketFilterParams.md +40 -0
- package/generated/docs/MarketOutcome.md +38 -0
- package/generated/docs/Order.md +54 -0
- package/generated/docs/OrderBook.md +36 -0
- package/generated/docs/OrderLevel.md +36 -0
- package/generated/docs/Position.md +48 -0
- package/generated/docs/PriceCandle.md +44 -0
- package/generated/docs/SearchMarketsRequest.md +34 -0
- package/generated/docs/SearchMarketsRequestArgsInner.md +40 -0
- package/generated/docs/Trade.md +42 -0
- package/generated/docs/UnifiedMarket.md +44 -0
- package/generated/package.json +21 -0
- package/generated/src/apis/DefaultApi.ts +752 -0
- package/generated/src/apis/index.ts +3 -0
- package/generated/src/index.ts +5 -0
- package/generated/src/models/Balance.ts +89 -0
- package/generated/src/models/BaseResponse.ts +81 -0
- package/generated/src/models/CancelOrderRequest.ts +66 -0
- package/generated/src/models/CreateOrder200Response.ts +96 -0
- package/generated/src/models/CreateOrderParams.ts +130 -0
- package/generated/src/models/CreateOrderRequest.ts +74 -0
- package/generated/src/models/ErrorDetail.ts +65 -0
- package/generated/src/models/ErrorResponse.ts +81 -0
- package/generated/src/models/FetchBalance200Response.ts +96 -0
- package/generated/src/models/FetchMarkets200Response.ts +96 -0
- package/generated/src/models/FetchMarketsRequest.ts +73 -0
- package/generated/src/models/FetchOHLCV200Response.ts +96 -0
- package/generated/src/models/FetchOHLCVRequest.ts +74 -0
- package/generated/src/models/FetchOHLCVRequestArgsInner.ts +69 -0
- package/generated/src/models/FetchOpenOrders200Response.ts +96 -0
- package/generated/src/models/FetchOpenOrdersRequest.ts +65 -0
- package/generated/src/models/FetchOrderBook200Response.ts +96 -0
- package/generated/src/models/FetchOrderBookRequest.ts +66 -0
- package/generated/src/models/FetchPositions200Response.ts +96 -0
- package/generated/src/models/FetchPositionsRequest.ts +65 -0
- package/generated/src/models/FetchTrades200Response.ts +96 -0
- package/generated/src/models/FetchTradesRequest.ts +74 -0
- package/generated/src/models/GetMarketsBySlugRequest.ts +66 -0
- package/generated/src/models/HealthCheck200Response.ts +73 -0
- package/generated/src/models/HistoryFilterParams.ts +105 -0
- package/generated/src/models/MarketFilterParams.ts +111 -0
- package/generated/src/models/MarketOutcome.ts +81 -0
- package/generated/src/models/Order.ts +165 -0
- package/generated/src/models/OrderBook.ts +81 -0
- package/generated/src/models/OrderLevel.ts +73 -0
- package/generated/src/models/Position.ts +121 -0
- package/generated/src/models/PriceCandle.ts +105 -0
- package/generated/src/models/SearchMarketsRequest.ts +74 -0
- package/generated/src/models/SearchMarketsRequestArgsInner.ts +69 -0
- package/generated/src/models/Trade.ts +109 -0
- package/generated/src/models/UnifiedMarket.ts +113 -0
- package/generated/src/models/index.ts +38 -0
- package/generated/src/runtime.ts +432 -0
- package/generated/tsconfig.esm.json +7 -0
- package/generated/tsconfig.json +16 -0
- package/index.ts +40 -0
- package/package.json +39 -27
- package/pmxt/client.ts +628 -0
- package/pmxt/models.ts +292 -0
- package/pmxt/server-manager.ts +86 -0
- package/API_REFERENCE.md +0 -483
- package/LICENSE +0 -21
- package/dist/BaseExchange.d.ts +0 -74
- package/dist/BaseExchange.js +0 -72
- package/dist/exchanges/kalshi/auth.d.ts +0 -23
- package/dist/exchanges/kalshi/auth.js +0 -99
- package/dist/exchanges/kalshi/fetchMarkets.d.ts +0 -3
- package/dist/exchanges/kalshi/fetchMarkets.js +0 -110
- package/dist/exchanges/kalshi/fetchOHLCV.d.ts +0 -3
- package/dist/exchanges/kalshi/fetchOHLCV.js +0 -78
- package/dist/exchanges/kalshi/fetchOrderBook.d.ts +0 -2
- package/dist/exchanges/kalshi/fetchOrderBook.js +0 -32
- package/dist/exchanges/kalshi/fetchTrades.d.ts +0 -3
- package/dist/exchanges/kalshi/fetchTrades.js +0 -31
- package/dist/exchanges/kalshi/getMarketsBySlug.d.ts +0 -7
- package/dist/exchanges/kalshi/getMarketsBySlug.js +0 -62
- package/dist/exchanges/kalshi/index.d.ts +0 -21
- package/dist/exchanges/kalshi/index.js +0 -273
- package/dist/exchanges/kalshi/kalshi.test.d.ts +0 -1
- package/dist/exchanges/kalshi/kalshi.test.js +0 -309
- package/dist/exchanges/kalshi/searchMarkets.d.ts +0 -3
- package/dist/exchanges/kalshi/searchMarkets.js +0 -28
- package/dist/exchanges/kalshi/utils.d.ts +0 -5
- package/dist/exchanges/kalshi/utils.js +0 -85
- package/dist/exchanges/polymarket/auth.d.ts +0 -32
- package/dist/exchanges/polymarket/auth.js +0 -98
- package/dist/exchanges/polymarket/fetchMarkets.d.ts +0 -3
- package/dist/exchanges/polymarket/fetchMarkets.js +0 -75
- package/dist/exchanges/polymarket/fetchOHLCV.d.ts +0 -7
- package/dist/exchanges/polymarket/fetchOHLCV.js +0 -73
- package/dist/exchanges/polymarket/fetchOrderBook.d.ts +0 -6
- package/dist/exchanges/polymarket/fetchOrderBook.js +0 -38
- package/dist/exchanges/polymarket/fetchPositions.d.ts +0 -2
- package/dist/exchanges/polymarket/fetchPositions.js +0 -27
- package/dist/exchanges/polymarket/fetchTrades.d.ts +0 -11
- package/dist/exchanges/polymarket/fetchTrades.js +0 -59
- package/dist/exchanges/polymarket/getMarketsBySlug.d.ts +0 -7
- package/dist/exchanges/polymarket/getMarketsBySlug.js +0 -39
- package/dist/exchanges/polymarket/index.d.ts +0 -23
- package/dist/exchanges/polymarket/index.js +0 -216
- package/dist/exchanges/polymarket/searchMarkets.d.ts +0 -3
- package/dist/exchanges/polymarket/searchMarkets.js +0 -35
- package/dist/exchanges/polymarket/utils.d.ts +0 -7
- package/dist/exchanges/polymarket/utils.js +0 -95
- package/dist/types.d.ts +0 -85
- package/dist/types.js +0 -5
- package/readme.md +0 -133
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
/**
|
|
5
|
+
* PMXT Sidecar API
|
|
6
|
+
* A unified local sidecar API for prediction markets (Polymarket, Kalshi). This API acts as a JSON-RPC-style gateway. Each endpoint corresponds to a specific method on the generic exchange implementation.
|
|
7
|
+
*
|
|
8
|
+
* The version of the OpenAPI document: 0.4.4
|
|
9
|
+
*
|
|
10
|
+
*
|
|
11
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
12
|
+
* https://openapi-generator.tech
|
|
13
|
+
* Do not edit the class manually.
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.TextApiResponse = exports.BlobApiResponse = exports.VoidApiResponse = exports.JSONApiResponse = exports.COLLECTION_FORMATS = exports.RequiredError = exports.FetchError = exports.ResponseError = exports.BaseAPI = exports.DefaultConfig = exports.Configuration = exports.BASE_PATH = void 0;
|
|
17
|
+
exports.querystring = querystring;
|
|
18
|
+
exports.exists = exists;
|
|
19
|
+
exports.mapValues = mapValues;
|
|
20
|
+
exports.canConsumeForm = canConsumeForm;
|
|
21
|
+
exports.BASE_PATH = "http://localhost:3847".replace(/\/+$/, "");
|
|
22
|
+
class Configuration {
|
|
23
|
+
configuration;
|
|
24
|
+
constructor(configuration = {}) {
|
|
25
|
+
this.configuration = configuration;
|
|
26
|
+
}
|
|
27
|
+
set config(configuration) {
|
|
28
|
+
this.configuration = configuration;
|
|
29
|
+
}
|
|
30
|
+
get basePath() {
|
|
31
|
+
return this.configuration.basePath != null ? this.configuration.basePath : exports.BASE_PATH;
|
|
32
|
+
}
|
|
33
|
+
get fetchApi() {
|
|
34
|
+
return this.configuration.fetchApi;
|
|
35
|
+
}
|
|
36
|
+
get middleware() {
|
|
37
|
+
return this.configuration.middleware || [];
|
|
38
|
+
}
|
|
39
|
+
get queryParamsStringify() {
|
|
40
|
+
return this.configuration.queryParamsStringify || querystring;
|
|
41
|
+
}
|
|
42
|
+
get username() {
|
|
43
|
+
return this.configuration.username;
|
|
44
|
+
}
|
|
45
|
+
get password() {
|
|
46
|
+
return this.configuration.password;
|
|
47
|
+
}
|
|
48
|
+
get apiKey() {
|
|
49
|
+
const apiKey = this.configuration.apiKey;
|
|
50
|
+
if (apiKey) {
|
|
51
|
+
return typeof apiKey === 'function' ? apiKey : () => apiKey;
|
|
52
|
+
}
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
get accessToken() {
|
|
56
|
+
const accessToken = this.configuration.accessToken;
|
|
57
|
+
if (accessToken) {
|
|
58
|
+
return typeof accessToken === 'function' ? accessToken : async () => accessToken;
|
|
59
|
+
}
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
get headers() {
|
|
63
|
+
return this.configuration.headers;
|
|
64
|
+
}
|
|
65
|
+
get credentials() {
|
|
66
|
+
return this.configuration.credentials;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.Configuration = Configuration;
|
|
70
|
+
exports.DefaultConfig = new Configuration();
|
|
71
|
+
/**
|
|
72
|
+
* This is the base class for all generated API classes.
|
|
73
|
+
*/
|
|
74
|
+
class BaseAPI {
|
|
75
|
+
configuration;
|
|
76
|
+
static jsonRegex = new RegExp('^(:?application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(:?;.*)?$', 'i');
|
|
77
|
+
middleware;
|
|
78
|
+
constructor(configuration = exports.DefaultConfig) {
|
|
79
|
+
this.configuration = configuration;
|
|
80
|
+
this.middleware = configuration.middleware;
|
|
81
|
+
}
|
|
82
|
+
withMiddleware(...middlewares) {
|
|
83
|
+
const next = this.clone();
|
|
84
|
+
next.middleware = next.middleware.concat(...middlewares);
|
|
85
|
+
return next;
|
|
86
|
+
}
|
|
87
|
+
withPreMiddleware(...preMiddlewares) {
|
|
88
|
+
const middlewares = preMiddlewares.map((pre) => ({ pre }));
|
|
89
|
+
return this.withMiddleware(...middlewares);
|
|
90
|
+
}
|
|
91
|
+
withPostMiddleware(...postMiddlewares) {
|
|
92
|
+
const middlewares = postMiddlewares.map((post) => ({ post }));
|
|
93
|
+
return this.withMiddleware(...middlewares);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Check if the given MIME is a JSON MIME.
|
|
97
|
+
* JSON MIME examples:
|
|
98
|
+
* application/json
|
|
99
|
+
* application/json; charset=UTF8
|
|
100
|
+
* APPLICATION/JSON
|
|
101
|
+
* application/vnd.company+json
|
|
102
|
+
* @param mime - MIME (Multipurpose Internet Mail Extensions)
|
|
103
|
+
* @return True if the given MIME is JSON, false otherwise.
|
|
104
|
+
*/
|
|
105
|
+
isJsonMime(mime) {
|
|
106
|
+
if (!mime) {
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
return BaseAPI.jsonRegex.test(mime);
|
|
110
|
+
}
|
|
111
|
+
async request(context, initOverrides) {
|
|
112
|
+
const { url, init } = await this.createFetchParams(context, initOverrides);
|
|
113
|
+
const response = await this.fetchApi(url, init);
|
|
114
|
+
if (response && (response.status >= 200 && response.status < 300)) {
|
|
115
|
+
return response;
|
|
116
|
+
}
|
|
117
|
+
throw new ResponseError(response, 'Response returned an error code');
|
|
118
|
+
}
|
|
119
|
+
async createFetchParams(context, initOverrides) {
|
|
120
|
+
let url = this.configuration.basePath + context.path;
|
|
121
|
+
if (context.query !== undefined && Object.keys(context.query).length !== 0) {
|
|
122
|
+
// only add the querystring to the URL if there are query parameters.
|
|
123
|
+
// this is done to avoid urls ending with a "?" character which buggy webservers
|
|
124
|
+
// do not handle correctly sometimes.
|
|
125
|
+
url += '?' + this.configuration.queryParamsStringify(context.query);
|
|
126
|
+
}
|
|
127
|
+
const headers = Object.assign({}, this.configuration.headers, context.headers);
|
|
128
|
+
Object.keys(headers).forEach(key => headers[key] === undefined ? delete headers[key] : {});
|
|
129
|
+
const initOverrideFn = typeof initOverrides === "function"
|
|
130
|
+
? initOverrides
|
|
131
|
+
: async () => initOverrides;
|
|
132
|
+
const initParams = {
|
|
133
|
+
method: context.method,
|
|
134
|
+
headers,
|
|
135
|
+
body: context.body,
|
|
136
|
+
credentials: this.configuration.credentials,
|
|
137
|
+
};
|
|
138
|
+
const overriddenInit = {
|
|
139
|
+
...initParams,
|
|
140
|
+
...(await initOverrideFn({
|
|
141
|
+
init: initParams,
|
|
142
|
+
context,
|
|
143
|
+
}))
|
|
144
|
+
};
|
|
145
|
+
let body;
|
|
146
|
+
if (isFormData(overriddenInit.body)
|
|
147
|
+
|| (overriddenInit.body instanceof URLSearchParams)
|
|
148
|
+
|| isBlob(overriddenInit.body)) {
|
|
149
|
+
body = overriddenInit.body;
|
|
150
|
+
}
|
|
151
|
+
else if (this.isJsonMime(headers['Content-Type'])) {
|
|
152
|
+
body = JSON.stringify(overriddenInit.body);
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
body = overriddenInit.body;
|
|
156
|
+
}
|
|
157
|
+
const init = {
|
|
158
|
+
...overriddenInit,
|
|
159
|
+
body
|
|
160
|
+
};
|
|
161
|
+
return { url, init };
|
|
162
|
+
}
|
|
163
|
+
fetchApi = async (url, init) => {
|
|
164
|
+
let fetchParams = { url, init };
|
|
165
|
+
for (const middleware of this.middleware) {
|
|
166
|
+
if (middleware.pre) {
|
|
167
|
+
fetchParams = await middleware.pre({
|
|
168
|
+
fetch: this.fetchApi,
|
|
169
|
+
...fetchParams,
|
|
170
|
+
}) || fetchParams;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
let response = undefined;
|
|
174
|
+
try {
|
|
175
|
+
response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init);
|
|
176
|
+
}
|
|
177
|
+
catch (e) {
|
|
178
|
+
for (const middleware of this.middleware) {
|
|
179
|
+
if (middleware.onError) {
|
|
180
|
+
response = await middleware.onError({
|
|
181
|
+
fetch: this.fetchApi,
|
|
182
|
+
url: fetchParams.url,
|
|
183
|
+
init: fetchParams.init,
|
|
184
|
+
error: e,
|
|
185
|
+
response: response ? response.clone() : undefined,
|
|
186
|
+
}) || response;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
if (response === undefined) {
|
|
190
|
+
if (e instanceof Error) {
|
|
191
|
+
throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response');
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
throw e;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
for (const middleware of this.middleware) {
|
|
199
|
+
if (middleware.post) {
|
|
200
|
+
response = await middleware.post({
|
|
201
|
+
fetch: this.fetchApi,
|
|
202
|
+
url: fetchParams.url,
|
|
203
|
+
init: fetchParams.init,
|
|
204
|
+
response: response.clone(),
|
|
205
|
+
}) || response;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return response;
|
|
209
|
+
};
|
|
210
|
+
/**
|
|
211
|
+
* Create a shallow clone of `this` by constructing a new instance
|
|
212
|
+
* and then shallow cloning data members.
|
|
213
|
+
*/
|
|
214
|
+
clone() {
|
|
215
|
+
const constructor = this.constructor;
|
|
216
|
+
const next = new constructor(this.configuration);
|
|
217
|
+
next.middleware = this.middleware.slice();
|
|
218
|
+
return next;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
exports.BaseAPI = BaseAPI;
|
|
222
|
+
;
|
|
223
|
+
function isBlob(value) {
|
|
224
|
+
return typeof Blob !== 'undefined' && value instanceof Blob;
|
|
225
|
+
}
|
|
226
|
+
function isFormData(value) {
|
|
227
|
+
return typeof FormData !== "undefined" && value instanceof FormData;
|
|
228
|
+
}
|
|
229
|
+
class ResponseError extends Error {
|
|
230
|
+
response;
|
|
231
|
+
name = "ResponseError";
|
|
232
|
+
constructor(response, msg) {
|
|
233
|
+
super(msg);
|
|
234
|
+
this.response = response;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
exports.ResponseError = ResponseError;
|
|
238
|
+
class FetchError extends Error {
|
|
239
|
+
cause;
|
|
240
|
+
name = "FetchError";
|
|
241
|
+
constructor(cause, msg) {
|
|
242
|
+
super(msg);
|
|
243
|
+
this.cause = cause;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
exports.FetchError = FetchError;
|
|
247
|
+
class RequiredError extends Error {
|
|
248
|
+
field;
|
|
249
|
+
name = "RequiredError";
|
|
250
|
+
constructor(field, msg) {
|
|
251
|
+
super(msg);
|
|
252
|
+
this.field = field;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
exports.RequiredError = RequiredError;
|
|
256
|
+
exports.COLLECTION_FORMATS = {
|
|
257
|
+
csv: ",",
|
|
258
|
+
ssv: " ",
|
|
259
|
+
tsv: "\t",
|
|
260
|
+
pipes: "|",
|
|
261
|
+
};
|
|
262
|
+
function querystring(params, prefix = '') {
|
|
263
|
+
return Object.keys(params)
|
|
264
|
+
.map(key => querystringSingleKey(key, params[key], prefix))
|
|
265
|
+
.filter(part => part.length > 0)
|
|
266
|
+
.join('&');
|
|
267
|
+
}
|
|
268
|
+
function querystringSingleKey(key, value, keyPrefix = '') {
|
|
269
|
+
const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key);
|
|
270
|
+
if (value instanceof Array) {
|
|
271
|
+
const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue)))
|
|
272
|
+
.join(`&${encodeURIComponent(fullKey)}=`);
|
|
273
|
+
return `${encodeURIComponent(fullKey)}=${multiValue}`;
|
|
274
|
+
}
|
|
275
|
+
if (value instanceof Set) {
|
|
276
|
+
const valueAsArray = Array.from(value);
|
|
277
|
+
return querystringSingleKey(key, valueAsArray, keyPrefix);
|
|
278
|
+
}
|
|
279
|
+
if (value instanceof Date) {
|
|
280
|
+
return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`;
|
|
281
|
+
}
|
|
282
|
+
if (value instanceof Object) {
|
|
283
|
+
return querystring(value, fullKey);
|
|
284
|
+
}
|
|
285
|
+
return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`;
|
|
286
|
+
}
|
|
287
|
+
function exists(json, key) {
|
|
288
|
+
const value = json[key];
|
|
289
|
+
return value !== null && value !== undefined;
|
|
290
|
+
}
|
|
291
|
+
function mapValues(data, fn) {
|
|
292
|
+
const result = {};
|
|
293
|
+
for (const key of Object.keys(data)) {
|
|
294
|
+
result[key] = fn(data[key]);
|
|
295
|
+
}
|
|
296
|
+
return result;
|
|
297
|
+
}
|
|
298
|
+
function canConsumeForm(consumes) {
|
|
299
|
+
for (const consume of consumes) {
|
|
300
|
+
if ('multipart/form-data' === consume.contentType) {
|
|
301
|
+
return true;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
return false;
|
|
305
|
+
}
|
|
306
|
+
class JSONApiResponse {
|
|
307
|
+
raw;
|
|
308
|
+
transformer;
|
|
309
|
+
constructor(raw, transformer = (jsonValue) => jsonValue) {
|
|
310
|
+
this.raw = raw;
|
|
311
|
+
this.transformer = transformer;
|
|
312
|
+
}
|
|
313
|
+
async value() {
|
|
314
|
+
return this.transformer(await this.raw.json());
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
exports.JSONApiResponse = JSONApiResponse;
|
|
318
|
+
class VoidApiResponse {
|
|
319
|
+
raw;
|
|
320
|
+
constructor(raw) {
|
|
321
|
+
this.raw = raw;
|
|
322
|
+
}
|
|
323
|
+
async value() {
|
|
324
|
+
return undefined;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
exports.VoidApiResponse = VoidApiResponse;
|
|
328
|
+
class BlobApiResponse {
|
|
329
|
+
raw;
|
|
330
|
+
constructor(raw) {
|
|
331
|
+
this.raw = raw;
|
|
332
|
+
}
|
|
333
|
+
async value() {
|
|
334
|
+
return await this.raw.blob();
|
|
335
|
+
}
|
|
336
|
+
;
|
|
337
|
+
}
|
|
338
|
+
exports.BlobApiResponse = BlobApiResponse;
|
|
339
|
+
class TextApiResponse {
|
|
340
|
+
raw;
|
|
341
|
+
constructor(raw) {
|
|
342
|
+
this.raw = raw;
|
|
343
|
+
}
|
|
344
|
+
async value() {
|
|
345
|
+
return await this.raw.text();
|
|
346
|
+
}
|
|
347
|
+
;
|
|
348
|
+
}
|
|
349
|
+
exports.TextApiResponse = TextApiResponse;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PMXT - Unified Prediction Market API (TypeScript SDK)
|
|
3
|
+
*
|
|
4
|
+
* A unified interface for interacting with multiple prediction market exchanges
|
|
5
|
+
* (Kalshi, Polymarket) identically.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { Polymarket, Kalshi } from "pmxtjs";
|
|
10
|
+
*
|
|
11
|
+
* // Initialize exchanges
|
|
12
|
+
* const poly = new Polymarket();
|
|
13
|
+
* const kalshi = new Kalshi();
|
|
14
|
+
*
|
|
15
|
+
* // Search for markets
|
|
16
|
+
* const markets = await poly.searchMarkets("Trump");
|
|
17
|
+
* console.log(markets[0].title);
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
import { Exchange, Polymarket, Kalshi } from "./pmxt/client.js";
|
|
21
|
+
import { ServerManager } from "./pmxt/server-manager.js";
|
|
22
|
+
export { Exchange, Polymarket, Kalshi } from "./pmxt/client.js";
|
|
23
|
+
export { ServerManager } from "./pmxt/server-manager.js";
|
|
24
|
+
export type * from "./pmxt/models.js";
|
|
25
|
+
export declare const VERSION = "0.0.1";
|
|
26
|
+
declare const pmxt: {
|
|
27
|
+
Exchange: typeof Exchange;
|
|
28
|
+
Polymarket: typeof Polymarket;
|
|
29
|
+
Kalshi: typeof Kalshi;
|
|
30
|
+
ServerManager: typeof ServerManager;
|
|
31
|
+
};
|
|
32
|
+
export default pmxt;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PMXT - Unified Prediction Market API (TypeScript SDK)
|
|
3
|
+
*
|
|
4
|
+
* A unified interface for interacting with multiple prediction market exchanges
|
|
5
|
+
* (Kalshi, Polymarket) identically.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { Polymarket, Kalshi } from "pmxtjs";
|
|
10
|
+
*
|
|
11
|
+
* // Initialize exchanges
|
|
12
|
+
* const poly = new Polymarket();
|
|
13
|
+
* const kalshi = new Kalshi();
|
|
14
|
+
*
|
|
15
|
+
* // Search for markets
|
|
16
|
+
* const markets = await poly.searchMarkets("Trump");
|
|
17
|
+
* console.log(markets[0].title);
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
import { Exchange, Polymarket, Kalshi } from "./pmxt/client.js";
|
|
21
|
+
import { ServerManager } from "./pmxt/server-manager.js";
|
|
22
|
+
import * as models from "./pmxt/models.js";
|
|
23
|
+
export { Exchange, Polymarket, Kalshi } from "./pmxt/client.js";
|
|
24
|
+
export { ServerManager } from "./pmxt/server-manager.js";
|
|
25
|
+
export const VERSION = "0.0.1";
|
|
26
|
+
const pmxt = {
|
|
27
|
+
Exchange,
|
|
28
|
+
Polymarket,
|
|
29
|
+
Kalshi,
|
|
30
|
+
ServerManager,
|
|
31
|
+
...models
|
|
32
|
+
};
|
|
33
|
+
export default pmxt;
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exchange client implementations.
|
|
3
|
+
*
|
|
4
|
+
* This module provides clean, TypeScript-friendly wrappers around the auto-generated
|
|
5
|
+
* OpenAPI client, matching the Python API exactly.
|
|
6
|
+
*/
|
|
7
|
+
import { DefaultApi } from "../generated/src/index.js";
|
|
8
|
+
import { UnifiedMarket, PriceCandle, OrderBook, Trade, Order, Position, Balance, MarketFilterParams, HistoryFilterParams, CreateOrderParams } from "./models.js";
|
|
9
|
+
import { ServerManager } from "./server-manager.js";
|
|
10
|
+
/**
|
|
11
|
+
* Base exchange client options.
|
|
12
|
+
*/
|
|
13
|
+
export interface ExchangeOptions {
|
|
14
|
+
/** API key for authentication (optional) */
|
|
15
|
+
apiKey?: string;
|
|
16
|
+
/** Private key for authentication (optional) */
|
|
17
|
+
privateKey?: string;
|
|
18
|
+
/** Base URL of the PMXT sidecar server */
|
|
19
|
+
baseUrl?: string;
|
|
20
|
+
/** Automatically start server if not running (default: true) */
|
|
21
|
+
autoStartServer?: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Base class for prediction market exchanges.
|
|
25
|
+
*
|
|
26
|
+
* This provides a unified interface for interacting with different
|
|
27
|
+
* prediction market platforms (Polymarket, Kalshi, etc.).
|
|
28
|
+
*/
|
|
29
|
+
export declare abstract class Exchange {
|
|
30
|
+
protected exchangeName: string;
|
|
31
|
+
protected apiKey?: string;
|
|
32
|
+
protected privateKey?: string;
|
|
33
|
+
protected api: DefaultApi;
|
|
34
|
+
protected serverManager: ServerManager;
|
|
35
|
+
constructor(exchangeName: string, options?: ExchangeOptions);
|
|
36
|
+
protected handleResponse(response: any): any;
|
|
37
|
+
/**
|
|
38
|
+
* Get active markets from the exchange.
|
|
39
|
+
*
|
|
40
|
+
* @param params - Optional filter parameters
|
|
41
|
+
* @returns List of unified markets
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* const markets = await exchange.fetchMarkets({ limit: 20, sort: "volume" });
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
fetchMarkets(params?: MarketFilterParams): Promise<UnifiedMarket[]>;
|
|
49
|
+
/**
|
|
50
|
+
* Search markets by keyword.
|
|
51
|
+
*
|
|
52
|
+
* @param query - Search query
|
|
53
|
+
* @param params - Optional filter parameters
|
|
54
|
+
* @returns List of matching markets
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* const markets = await exchange.searchMarkets("Trump", { limit: 10 });
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
searchMarkets(query: string, params?: MarketFilterParams): Promise<UnifiedMarket[]>;
|
|
62
|
+
/**
|
|
63
|
+
* Fetch markets by URL slug/ticker.
|
|
64
|
+
*
|
|
65
|
+
* @param slug - Market slug (Polymarket) or ticker (Kalshi)
|
|
66
|
+
* @returns List of matching markets
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```typescript
|
|
70
|
+
* // Polymarket
|
|
71
|
+
* const markets = await poly.getMarketsBySlug("who-will-trump-nominate-as-fed-chair");
|
|
72
|
+
*
|
|
73
|
+
* // Kalshi
|
|
74
|
+
* const markets = await kalshi.getMarketsBySlug("KXFEDCHAIRNOM-29");
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
getMarketsBySlug(slug: string): Promise<UnifiedMarket[]>;
|
|
78
|
+
/**
|
|
79
|
+
* Get historical price candles.
|
|
80
|
+
*
|
|
81
|
+
* **CRITICAL**: Use outcome.id, not market.id.
|
|
82
|
+
* - Polymarket: outcome.id is the CLOB Token ID
|
|
83
|
+
* - Kalshi: outcome.id is the Market Ticker
|
|
84
|
+
*
|
|
85
|
+
* @param outcomeId - Outcome ID (from market.outcomes[].id)
|
|
86
|
+
* @param params - History filter parameters
|
|
87
|
+
* @returns List of price candles
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```typescript
|
|
91
|
+
* const markets = await exchange.searchMarkets("Trump");
|
|
92
|
+
* const outcomeId = markets[0].outcomes[0].id;
|
|
93
|
+
* const candles = await exchange.fetchOHLCV(outcomeId, {
|
|
94
|
+
* resolution: "1h",
|
|
95
|
+
* limit: 100
|
|
96
|
+
* });
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
fetchOHLCV(outcomeId: string, params: HistoryFilterParams): Promise<PriceCandle[]>;
|
|
100
|
+
/**
|
|
101
|
+
* Get current order book for an outcome.
|
|
102
|
+
*
|
|
103
|
+
* @param outcomeId - Outcome ID
|
|
104
|
+
* @returns Current order book
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* ```typescript
|
|
108
|
+
* const orderBook = await exchange.fetchOrderBook(outcomeId);
|
|
109
|
+
* console.log(`Best bid: ${orderBook.bids[0].price}`);
|
|
110
|
+
* console.log(`Best ask: ${orderBook.asks[0].price}`);
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
fetchOrderBook(outcomeId: string): Promise<OrderBook>;
|
|
114
|
+
/**
|
|
115
|
+
* Get trade history for an outcome.
|
|
116
|
+
*
|
|
117
|
+
* Note: Polymarket requires API key.
|
|
118
|
+
*
|
|
119
|
+
* @param outcomeId - Outcome ID
|
|
120
|
+
* @param params - History filter parameters
|
|
121
|
+
* @returns List of trades
|
|
122
|
+
*/
|
|
123
|
+
fetchTrades(outcomeId: string, params: HistoryFilterParams): Promise<Trade[]>;
|
|
124
|
+
/**
|
|
125
|
+
* Create a new order.
|
|
126
|
+
*
|
|
127
|
+
* @param params - Order parameters
|
|
128
|
+
* @returns Created order
|
|
129
|
+
*
|
|
130
|
+
* @example
|
|
131
|
+
* ```typescript
|
|
132
|
+
* const order = await exchange.createOrder({
|
|
133
|
+
* marketId: "663583",
|
|
134
|
+
* outcomeId: "10991849...",
|
|
135
|
+
* side: "buy",
|
|
136
|
+
* type: "limit",
|
|
137
|
+
* amount: 10,
|
|
138
|
+
* price: 0.55
|
|
139
|
+
* });
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
createOrder(params: CreateOrderParams): Promise<Order>;
|
|
143
|
+
/**
|
|
144
|
+
* Cancel an open order.
|
|
145
|
+
*
|
|
146
|
+
* @param orderId - Order ID to cancel
|
|
147
|
+
* @returns Cancelled order
|
|
148
|
+
*/
|
|
149
|
+
cancelOrder(orderId: string): Promise<Order>;
|
|
150
|
+
/**
|
|
151
|
+
* Get details of a specific order.
|
|
152
|
+
*
|
|
153
|
+
* @param orderId - Order ID
|
|
154
|
+
* @returns Order details
|
|
155
|
+
*/
|
|
156
|
+
fetchOrder(orderId: string): Promise<Order>;
|
|
157
|
+
/**
|
|
158
|
+
* Get all open orders, optionally filtered by market.
|
|
159
|
+
*
|
|
160
|
+
* @param marketId - Optional market ID to filter by
|
|
161
|
+
* @returns List of open orders
|
|
162
|
+
*/
|
|
163
|
+
fetchOpenOrders(marketId?: string): Promise<Order[]>;
|
|
164
|
+
/**
|
|
165
|
+
* Get current positions across all markets.
|
|
166
|
+
*
|
|
167
|
+
* @returns List of positions
|
|
168
|
+
*/
|
|
169
|
+
fetchPositions(): Promise<Position[]>;
|
|
170
|
+
/**
|
|
171
|
+
* Get account balance.
|
|
172
|
+
*
|
|
173
|
+
* @returns List of balances (by currency)
|
|
174
|
+
*/
|
|
175
|
+
fetchBalance(): Promise<Balance[]>;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Polymarket exchange client.
|
|
179
|
+
*
|
|
180
|
+
* @example
|
|
181
|
+
* ```typescript
|
|
182
|
+
* // Public data (no auth)
|
|
183
|
+
* const poly = new Polymarket();
|
|
184
|
+
* const markets = await poly.searchMarkets("Trump");
|
|
185
|
+
*
|
|
186
|
+
* // Trading (requires auth)
|
|
187
|
+
* const poly = new Polymarket({ privateKey: process.env.POLYMARKET_PRIVATE_KEY });
|
|
188
|
+
* const balance = await poly.fetchBalance();
|
|
189
|
+
* ```
|
|
190
|
+
*/
|
|
191
|
+
export declare class Polymarket extends Exchange {
|
|
192
|
+
constructor(options?: Omit<ExchangeOptions, "apiKey">);
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Kalshi exchange client.
|
|
196
|
+
*
|
|
197
|
+
* @example
|
|
198
|
+
* ```typescript
|
|
199
|
+
* // Public data (no auth)
|
|
200
|
+
* const kalshi = new Kalshi();
|
|
201
|
+
* const markets = await kalshi.searchMarkets("Fed rates");
|
|
202
|
+
*
|
|
203
|
+
* // Trading (requires auth)
|
|
204
|
+
* const kalshi = new Kalshi({
|
|
205
|
+
* apiKey: process.env.KALSHI_API_KEY,
|
|
206
|
+
* privateKey: process.env.KALSHI_PRIVATE_KEY
|
|
207
|
+
* });
|
|
208
|
+
* const balance = await kalshi.fetchBalance();
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
211
|
+
export declare class Kalshi extends Exchange {
|
|
212
|
+
constructor(options?: ExchangeOptions);
|
|
213
|
+
}
|