pmxtjs 2.9.2 → 2.9.3

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 (284) hide show
  1. package/dist/esm/generated/src/apis/DefaultApi.d.ts +242 -112
  2. package/dist/esm/generated/src/apis/DefaultApi.js +298 -108
  3. package/dist/esm/generated/src/models/BuildOrder200Response.d.ts +46 -0
  4. package/dist/esm/generated/src/models/BuildOrder200Response.js +47 -0
  5. package/dist/esm/generated/src/models/BuildOrderRequest.d.ts +40 -0
  6. package/dist/esm/generated/src/models/BuildOrderRequest.js +47 -0
  7. package/dist/esm/generated/src/models/BuiltOrder.d.ts +60 -0
  8. package/dist/esm/generated/src/models/BuiltOrder.js +51 -0
  9. package/dist/esm/generated/src/models/BuiltOrderTx.d.ts +50 -0
  10. package/dist/esm/generated/src/models/BuiltOrderTx.js +47 -0
  11. package/dist/esm/generated/src/models/CloseRequest.d.ts +39 -0
  12. package/dist/esm/generated/src/models/{WatchUserPositionsRequest.js → CloseRequest.js} +10 -8
  13. package/dist/esm/generated/src/models/EventFetchParams.d.ts +15 -0
  14. package/dist/esm/generated/src/models/EventFetchParams.js +10 -0
  15. package/dist/esm/generated/src/models/FetchAllOrdersRequest.d.ts +40 -0
  16. package/dist/esm/generated/src/models/FetchAllOrdersRequest.js +45 -0
  17. package/dist/esm/generated/src/models/FetchBalanceRequest.d.ts +39 -0
  18. package/dist/esm/generated/src/models/FetchBalanceRequest.js +44 -0
  19. package/dist/esm/generated/src/models/FetchClosedOrdersRequest.d.ts +40 -0
  20. package/dist/esm/generated/src/models/FetchClosedOrdersRequest.js +45 -0
  21. package/dist/esm/generated/src/models/FetchEventRequest.d.ts +40 -0
  22. package/dist/esm/generated/src/models/FetchEventRequest.js +45 -0
  23. package/dist/esm/generated/src/models/FetchMarketsPaginated200Response.d.ts +46 -0
  24. package/dist/esm/generated/src/models/FetchMarketsPaginated200Response.js +47 -0
  25. package/dist/esm/generated/src/models/FetchMarketsPaginatedRequest.d.ts +40 -0
  26. package/dist/esm/generated/src/models/FetchMarketsPaginatedRequest.js +45 -0
  27. package/dist/esm/generated/src/models/FetchMarketsPaginatedRequestArgsInner.d.ts +38 -0
  28. package/dist/esm/generated/src/models/FetchMarketsPaginatedRequestArgsInner.js +43 -0
  29. package/dist/esm/generated/src/models/FetchMarketsRequest.d.ts +0 -6
  30. package/dist/esm/generated/src/models/FetchMarketsRequest.js +0 -2
  31. package/dist/esm/generated/src/models/FetchMyTrades200Response.d.ts +46 -0
  32. package/dist/esm/generated/src/models/FetchMyTrades200Response.js +47 -0
  33. package/dist/esm/generated/src/models/FetchMyTradesRequest.d.ts +40 -0
  34. package/dist/esm/generated/src/models/FetchMyTradesRequest.js +45 -0
  35. package/dist/esm/generated/src/models/FetchOHLCVRequest.d.ts +1 -1
  36. package/dist/esm/generated/src/models/{WatchPricesRequest.d.ts → FetchOrderRequest.d.ts} +10 -10
  37. package/dist/esm/generated/src/models/{WatchPricesRequest.js → FetchOrderRequest.js} +8 -8
  38. package/dist/esm/generated/src/models/FetchPositionsRequest.d.ts +1 -1
  39. package/dist/esm/generated/src/models/FetchTradesRequest.d.ts +1 -1
  40. package/dist/esm/generated/src/models/FetchTradesRequestArgsInner.d.ts +2 -2
  41. package/dist/esm/generated/src/models/FetchTradesRequestArgsInner.js +5 -5
  42. package/dist/esm/generated/src/models/FetchTradesRequestArgsInnerOneOf.d.ts +24 -0
  43. package/dist/esm/generated/src/models/FetchTradesRequestArgsInnerOneOf.js +54 -0
  44. package/dist/esm/generated/src/models/FilterEventsRequest.d.ts +1 -1
  45. package/dist/esm/generated/src/models/FilterEventsRequestArgsInner.js +3 -3
  46. package/dist/esm/generated/src/models/FilterMarketsRequest.d.ts +1 -1
  47. package/dist/esm/generated/src/models/FilterMarketsRequestArgsInner.js +3 -3
  48. package/dist/esm/generated/src/models/FilterMarketsRequestArgsInnerOneOf.d.ts +2 -2
  49. package/dist/esm/generated/src/models/FilterMarketsRequestArgsInnerOneOf.js +5 -1
  50. package/dist/esm/generated/src/models/GetExecutionPriceDetailedRequest.d.ts +40 -0
  51. package/dist/esm/generated/src/models/GetExecutionPriceDetailedRequest.js +47 -0
  52. package/dist/esm/generated/src/models/GetExecutionPriceRequest.d.ts +1 -1
  53. package/dist/esm/generated/src/models/LoadMarkets200Response.d.ts +48 -0
  54. package/dist/esm/generated/src/models/LoadMarkets200Response.js +48 -0
  55. package/dist/esm/generated/src/models/LoadMarketsRequest.d.ts +39 -0
  56. package/dist/esm/generated/src/models/LoadMarketsRequest.js +44 -0
  57. package/dist/esm/generated/src/models/MyTradesParams.d.ts +62 -0
  58. package/dist/esm/generated/src/models/MyTradesParams.js +51 -0
  59. package/dist/esm/generated/src/models/OrderHistoryParams.d.ts +56 -0
  60. package/dist/esm/generated/src/models/OrderHistoryParams.js +49 -0
  61. package/dist/esm/generated/src/models/PaginatedMarketsResult.d.ts +45 -0
  62. package/dist/esm/generated/src/models/PaginatedMarketsResult.js +46 -0
  63. package/dist/esm/generated/src/models/SubmitOrderRequest.d.ts +40 -0
  64. package/dist/esm/generated/src/models/SubmitOrderRequest.js +47 -0
  65. package/dist/esm/generated/src/models/UnifiedMarket.d.ts +6 -0
  66. package/dist/esm/generated/src/models/UnifiedMarket.js +2 -0
  67. package/dist/esm/generated/src/models/UserTrade.d.ts +83 -0
  68. package/dist/esm/generated/src/models/UserTrade.js +63 -0
  69. package/dist/esm/generated/src/models/WatchOrderBookRequest.d.ts +1 -1
  70. package/dist/esm/generated/src/models/WatchTradesRequest.d.ts +1 -1
  71. package/dist/esm/generated/src/models/index.d.ts +24 -2
  72. package/dist/esm/generated/src/models/index.js +24 -2
  73. package/dist/esm/index.d.ts +6 -2
  74. package/dist/esm/index.js +6 -2
  75. package/dist/esm/pmxt/client.d.ts +107 -81
  76. package/dist/esm/pmxt/client.js +462 -227
  77. package/dist/esm/pmxt/models.d.ts +34 -0
  78. package/dist/esm/pmxt/server-manager.d.ts +2 -0
  79. package/dist/esm/pmxt/server-manager.js +15 -2
  80. package/dist/generated/src/apis/DefaultApi.d.ts +242 -112
  81. package/dist/generated/src/apis/DefaultApi.js +298 -108
  82. package/dist/generated/src/models/BuildOrder200Response.d.ts +46 -0
  83. package/dist/generated/src/models/BuildOrder200Response.js +54 -0
  84. package/dist/generated/src/models/BuildOrderRequest.d.ts +40 -0
  85. package/dist/generated/src/models/BuildOrderRequest.js +54 -0
  86. package/dist/generated/src/models/BuiltOrder.d.ts +60 -0
  87. package/dist/generated/src/models/BuiltOrder.js +58 -0
  88. package/dist/generated/src/models/BuiltOrderTx.d.ts +50 -0
  89. package/dist/generated/src/models/BuiltOrderTx.js +54 -0
  90. package/dist/generated/src/models/CloseRequest.d.ts +39 -0
  91. package/dist/generated/src/models/{WatchUserPositionsRequest.js → CloseRequest.js} +15 -13
  92. package/dist/generated/src/models/EventFetchParams.d.ts +15 -0
  93. package/dist/generated/src/models/EventFetchParams.js +11 -1
  94. package/dist/generated/src/models/FetchAllOrdersRequest.d.ts +40 -0
  95. package/dist/generated/src/models/FetchAllOrdersRequest.js +52 -0
  96. package/dist/generated/src/models/FetchBalanceRequest.d.ts +39 -0
  97. package/dist/generated/src/models/FetchBalanceRequest.js +51 -0
  98. package/dist/generated/src/models/FetchClosedOrdersRequest.d.ts +40 -0
  99. package/dist/generated/src/models/FetchClosedOrdersRequest.js +52 -0
  100. package/dist/generated/src/models/FetchEventRequest.d.ts +40 -0
  101. package/dist/generated/src/models/FetchEventRequest.js +52 -0
  102. package/dist/generated/src/models/FetchMarketsPaginated200Response.d.ts +46 -0
  103. package/dist/generated/src/models/FetchMarketsPaginated200Response.js +54 -0
  104. package/dist/generated/src/models/FetchMarketsPaginatedRequest.d.ts +40 -0
  105. package/dist/generated/src/models/FetchMarketsPaginatedRequest.js +52 -0
  106. package/dist/generated/src/models/FetchMarketsPaginatedRequestArgsInner.d.ts +38 -0
  107. package/dist/generated/src/models/FetchMarketsPaginatedRequestArgsInner.js +50 -0
  108. package/dist/generated/src/models/FetchMarketsRequest.d.ts +0 -6
  109. package/dist/generated/src/models/FetchMarketsRequest.js +0 -2
  110. package/dist/generated/src/models/FetchMyTrades200Response.d.ts +46 -0
  111. package/dist/generated/src/models/FetchMyTrades200Response.js +54 -0
  112. package/dist/generated/src/models/FetchMyTradesRequest.d.ts +40 -0
  113. package/dist/generated/src/models/FetchMyTradesRequest.js +52 -0
  114. package/dist/generated/src/models/FetchOHLCVRequest.d.ts +1 -1
  115. package/dist/generated/src/models/{WatchPricesRequest.d.ts → FetchOrderRequest.d.ts} +10 -10
  116. package/dist/generated/src/models/{WatchPricesRequest.js → FetchOrderRequest.js} +13 -13
  117. package/dist/generated/src/models/FetchPositionsRequest.d.ts +1 -1
  118. package/dist/generated/src/models/FetchTradesRequest.d.ts +1 -1
  119. package/dist/generated/src/models/FetchTradesRequestArgsInner.d.ts +2 -2
  120. package/dist/generated/src/models/FetchTradesRequestArgsInner.js +5 -5
  121. package/dist/generated/src/models/FetchTradesRequestArgsInnerOneOf.d.ts +24 -0
  122. package/dist/generated/src/models/FetchTradesRequestArgsInnerOneOf.js +61 -0
  123. package/dist/generated/src/models/FilterEventsRequest.d.ts +1 -1
  124. package/dist/generated/src/models/FilterEventsRequestArgsInner.js +3 -3
  125. package/dist/generated/src/models/FilterMarketsRequest.d.ts +1 -1
  126. package/dist/generated/src/models/FilterMarketsRequestArgsInner.js +3 -3
  127. package/dist/generated/src/models/FilterMarketsRequestArgsInnerOneOf.d.ts +2 -2
  128. package/dist/generated/src/models/FilterMarketsRequestArgsInnerOneOf.js +5 -1
  129. package/dist/generated/src/models/GetExecutionPriceDetailedRequest.d.ts +40 -0
  130. package/dist/generated/src/models/GetExecutionPriceDetailedRequest.js +54 -0
  131. package/dist/generated/src/models/GetExecutionPriceRequest.d.ts +1 -1
  132. package/dist/generated/src/models/LoadMarkets200Response.d.ts +48 -0
  133. package/dist/generated/src/models/LoadMarkets200Response.js +55 -0
  134. package/dist/generated/src/models/LoadMarketsRequest.d.ts +39 -0
  135. package/dist/generated/src/models/LoadMarketsRequest.js +51 -0
  136. package/dist/generated/src/models/MyTradesParams.d.ts +62 -0
  137. package/dist/generated/src/models/MyTradesParams.js +58 -0
  138. package/dist/generated/src/models/OrderHistoryParams.d.ts +56 -0
  139. package/dist/generated/src/models/OrderHistoryParams.js +56 -0
  140. package/dist/generated/src/models/PaginatedMarketsResult.d.ts +45 -0
  141. package/dist/generated/src/models/PaginatedMarketsResult.js +53 -0
  142. package/dist/generated/src/models/SubmitOrderRequest.d.ts +40 -0
  143. package/dist/generated/src/models/SubmitOrderRequest.js +54 -0
  144. package/dist/generated/src/models/UnifiedMarket.d.ts +6 -0
  145. package/dist/generated/src/models/UnifiedMarket.js +2 -0
  146. package/dist/generated/src/models/UserTrade.d.ts +83 -0
  147. package/dist/generated/src/models/UserTrade.js +71 -0
  148. package/dist/generated/src/models/WatchOrderBookRequest.d.ts +1 -1
  149. package/dist/generated/src/models/WatchTradesRequest.d.ts +1 -1
  150. package/dist/generated/src/models/index.d.ts +24 -2
  151. package/dist/generated/src/models/index.js +24 -2
  152. package/dist/index.d.ts +6 -2
  153. package/dist/index.js +9 -1
  154. package/dist/pmxt/client.d.ts +107 -81
  155. package/dist/pmxt/client.js +467 -228
  156. package/dist/pmxt/models.d.ts +34 -0
  157. package/dist/pmxt/server-manager.d.ts +2 -0
  158. package/dist/pmxt/server-manager.js +15 -2
  159. package/generated/.openapi-generator/FILES +48 -4
  160. package/generated/docs/BuildOrder200Response.md +38 -0
  161. package/generated/docs/BuildOrderRequest.md +36 -0
  162. package/generated/docs/BuiltOrder.md +43 -0
  163. package/generated/docs/BuiltOrderTx.md +41 -0
  164. package/generated/docs/{WatchUserPositionsRequest.md → CloseRequest.md} +6 -4
  165. package/generated/docs/DefaultApi.md +493 -185
  166. package/generated/docs/EventFetchParams.md +2 -0
  167. package/generated/docs/FetchAllOrdersRequest.md +36 -0
  168. package/generated/docs/FetchBalanceRequest.md +36 -0
  169. package/generated/docs/FetchClosedOrdersRequest.md +36 -0
  170. package/generated/docs/FetchEventRequest.md +36 -0
  171. package/generated/docs/FetchMarketsPaginated200Response.md +38 -0
  172. package/generated/docs/FetchMarketsPaginatedRequest.md +36 -0
  173. package/generated/docs/FetchMarketsPaginatedRequestArgsInner.md +36 -0
  174. package/generated/docs/FetchMarketsRequest.md +0 -2
  175. package/generated/docs/FetchMyTrades200Response.md +38 -0
  176. package/generated/docs/FetchMyTradesRequest.md +36 -0
  177. package/generated/docs/FetchOHLCVRequest.md +1 -1
  178. package/generated/docs/{WatchPricesRequest.md → FetchOrderRequest.md} +4 -4
  179. package/generated/docs/FetchTradesRequestArgsInner.md +2 -0
  180. package/generated/docs/FetchTradesRequestArgsInnerOneOf.md +40 -0
  181. package/generated/docs/FilterMarketsRequestArgsInnerOneOf.md +0 -1
  182. package/generated/docs/GetExecutionPriceDetailedRequest.md +36 -0
  183. package/generated/docs/LoadMarkets200Response.md +38 -0
  184. package/generated/docs/LoadMarketsRequest.md +36 -0
  185. package/generated/docs/MyTradesParams.md +44 -0
  186. package/generated/docs/OrderHistoryParams.md +42 -0
  187. package/generated/docs/PaginatedMarketsResult.md +38 -0
  188. package/generated/docs/SubmitOrderRequest.md +36 -0
  189. package/generated/docs/UnifiedMarket.md +2 -0
  190. package/generated/docs/UserTrade.md +48 -0
  191. package/generated/package.json +1 -1
  192. package/generated/src/apis/DefaultApi.ts +486 -185
  193. package/generated/src/models/Balance.ts +1 -1
  194. package/generated/src/models/BaseRequest.ts +1 -1
  195. package/generated/src/models/BaseResponse.ts +1 -1
  196. package/generated/src/models/BuildOrder200Response.ts +96 -0
  197. package/generated/src/models/BuildOrderRequest.ts +89 -0
  198. package/generated/src/models/BuiltOrder.ts +112 -0
  199. package/generated/src/models/BuiltOrderTx.ts +89 -0
  200. package/generated/src/models/CancelOrderRequest.ts +1 -1
  201. package/generated/src/models/{WatchUserPositionsRequest.ts → CloseRequest.ts} +20 -12
  202. package/generated/src/models/CreateOrder200Response.ts +1 -1
  203. package/generated/src/models/CreateOrderParams.ts +1 -1
  204. package/generated/src/models/CreateOrderRequest.ts +1 -1
  205. package/generated/src/models/ErrorDetail.ts +1 -1
  206. package/generated/src/models/ErrorResponse.ts +1 -1
  207. package/generated/src/models/EventFetchParams.ts +19 -1
  208. package/generated/src/models/ExchangeCredentials.ts +1 -1
  209. package/generated/src/models/ExchangeCredentialsSignatureType.ts +1 -1
  210. package/generated/src/models/ExecutionPriceResult.ts +1 -1
  211. package/generated/src/models/FetchAllOrdersRequest.ts +88 -0
  212. package/generated/src/models/FetchBalance200Response.ts +1 -1
  213. package/generated/src/models/FetchBalanceRequest.ts +81 -0
  214. package/generated/src/models/FetchClosedOrdersRequest.ts +88 -0
  215. package/generated/src/models/FetchEvent200Response.ts +1 -1
  216. package/generated/src/models/FetchEventRequest.ts +88 -0
  217. package/generated/src/models/FetchEvents200Response.ts +1 -1
  218. package/generated/src/models/FetchEventsRequest.ts +1 -1
  219. package/generated/src/models/FetchMarket200Response.ts +1 -1
  220. package/generated/src/models/FetchMarketRequest.ts +1 -1
  221. package/generated/src/models/FetchMarkets200Response.ts +1 -1
  222. package/generated/src/models/FetchMarketsPaginated200Response.ts +96 -0
  223. package/generated/src/models/FetchMarketsPaginatedRequest.ts +88 -0
  224. package/generated/src/models/FetchMarketsPaginatedRequestArgsInner.ts +73 -0
  225. package/generated/src/models/FetchMarketsRequest.ts +1 -9
  226. package/generated/src/models/FetchMyTrades200Response.ts +96 -0
  227. package/generated/src/models/FetchMyTradesRequest.ts +88 -0
  228. package/generated/src/models/FetchOHLCV200Response.ts +1 -1
  229. package/generated/src/models/FetchOHLCVRequest.ts +2 -2
  230. package/generated/src/models/FetchOHLCVRequestArgsInner.ts +1 -1
  231. package/generated/src/models/FetchOpenOrders200Response.ts +1 -1
  232. package/generated/src/models/FetchOpenOrdersRequest.ts +1 -1
  233. package/generated/src/models/FetchOrderBook200Response.ts +1 -1
  234. package/generated/src/models/FetchOrderBookRequest.ts +1 -1
  235. package/generated/src/models/{WatchPricesRequest.ts → FetchOrderRequest.ts} +13 -13
  236. package/generated/src/models/FetchPositions200Response.ts +1 -1
  237. package/generated/src/models/FetchPositionsRequest.ts +2 -2
  238. package/generated/src/models/FetchTrades200Response.ts +1 -1
  239. package/generated/src/models/FetchTradesRequest.ts +2 -2
  240. package/generated/src/models/FetchTradesRequestArgsInner.ts +12 -12
  241. package/generated/src/models/FetchTradesRequestArgsInnerOneOf.ts +80 -0
  242. package/generated/src/models/FilterEventsRequest.ts +2 -2
  243. package/generated/src/models/FilterEventsRequestArgsInner.ts +4 -4
  244. package/generated/src/models/FilterMarketsRequest.ts +2 -2
  245. package/generated/src/models/FilterMarketsRequestArgsInner.ts +4 -4
  246. package/generated/src/models/FilterMarketsRequestArgsInnerOneOf.ts +6 -4
  247. package/generated/src/models/GetExecutionPrice200Response.ts +1 -1
  248. package/generated/src/models/GetExecutionPriceDetailed200Response.ts +1 -1
  249. package/generated/src/models/GetExecutionPriceDetailedRequest.ts +89 -0
  250. package/generated/src/models/GetExecutionPriceRequest.ts +2 -2
  251. package/generated/src/models/GetExecutionPriceRequestArgsInner.ts +1 -1
  252. package/generated/src/models/HealthCheck200Response.ts +1 -1
  253. package/generated/src/models/HistoryFilterParams.ts +1 -1
  254. package/generated/src/models/LoadMarkets200Response.ts +96 -0
  255. package/generated/src/models/LoadMarketsRequest.ts +81 -0
  256. package/generated/src/models/MarketFilterParams.ts +1 -1
  257. package/generated/src/models/MarketOutcome.ts +1 -1
  258. package/generated/src/models/MyTradesParams.ts +105 -0
  259. package/generated/src/models/OHLCVParams.ts +1 -1
  260. package/generated/src/models/Order.ts +1 -1
  261. package/generated/src/models/OrderBook.ts +1 -1
  262. package/generated/src/models/OrderHistoryParams.ts +97 -0
  263. package/generated/src/models/OrderLevel.ts +1 -1
  264. package/generated/src/models/PaginatedMarketsResult.ts +89 -0
  265. package/generated/src/models/Position.ts +1 -1
  266. package/generated/src/models/PriceCandle.ts +1 -1
  267. package/generated/src/models/SubmitOrderRequest.ts +89 -0
  268. package/generated/src/models/Trade.ts +1 -1
  269. package/generated/src/models/TradesParams.ts +1 -1
  270. package/generated/src/models/UnifiedEvent.ts +1 -1
  271. package/generated/src/models/UnifiedMarket.ts +9 -1
  272. package/generated/src/models/UserTrade.ts +133 -0
  273. package/generated/src/models/WatchOrderBookRequest.ts +2 -2
  274. package/generated/src/models/WatchOrderBookRequestArgsInner.ts +1 -1
  275. package/generated/src/models/WatchTradesRequest.ts +2 -2
  276. package/generated/src/models/index.ts +24 -2
  277. package/generated/src/runtime.ts +1 -1
  278. package/index.ts +6 -2
  279. package/package.json +4 -3
  280. package/pmxt/client.ts +464 -256
  281. package/pmxt/models.ts +46 -0
  282. package/pmxt/server-manager.ts +13 -2
  283. package/dist/esm/generated/src/models/WatchUserPositionsRequest.d.ts +0 -33
  284. package/dist/generated/src/models/WatchUserPositionsRequest.d.ts +0 -33
@@ -6,7 +6,7 @@
6
6
  * OpenAPI client, matching the Python API exactly.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.Limitless = exports.Kalshi = exports.Polymarket = exports.Exchange = void 0;
9
+ exports.Baozi = exports.Probable = exports.Myriad = exports.KalshiDemo = exports.Limitless = exports.Kalshi = exports.Polymarket = exports.Exchange = void 0;
10
10
  const index_js_1 = require("../generated/src/index.js");
11
11
  const models_js_1 = require("./models.js");
12
12
  const server_manager_js_1 = require("./server-manager.js");
@@ -42,6 +42,7 @@ function convertMarket(raw) {
42
42
  image: raw.image,
43
43
  category: raw.category,
44
44
  tags: raw.tags,
45
+ eventId: raw.eventId,
45
46
  yes: convertOutcome(raw.yes),
46
47
  no: convertOutcome(raw.no),
47
48
  up: convertOutcome(raw.up),
@@ -118,9 +119,21 @@ function convertBalance(raw) {
118
119
  locked: raw.locked,
119
120
  };
120
121
  }
122
+ function convertUserTrade(raw) {
123
+ return {
124
+ id: raw.id,
125
+ price: raw.price,
126
+ amount: raw.amount,
127
+ side: raw.side || "unknown",
128
+ timestamp: raw.timestamp,
129
+ orderId: raw.orderId,
130
+ outcomeId: raw.outcomeId,
131
+ marketId: raw.marketId,
132
+ };
133
+ }
121
134
  function convertEvent(raw) {
122
135
  const markets = models_js_1.MarketList.from((raw.markets || []).map(convertMarket));
123
- return {
136
+ const event = {
124
137
  id: raw.id,
125
138
  title: raw.title,
126
139
  description: raw.description,
@@ -131,6 +144,7 @@ function convertEvent(raw) {
131
144
  category: raw.category,
132
145
  tags: raw.tags,
133
146
  };
147
+ return event;
134
148
  }
135
149
  /**
136
150
  * Base class for prediction market exchanges.
@@ -209,74 +223,159 @@ class Exchange {
209
223
  signatureType: this.signatureType,
210
224
  };
211
225
  }
212
- // Market Data Methods
226
+ // Low-Level API Access
213
227
  /**
214
- * Get active markets from the exchange.
228
+ * Call an exchange-specific REST endpoint by its operationId.
229
+ * This provides direct access to all implicit API methods defined in
230
+ * the exchange's OpenAPI spec (e.g., Polymarket CLOB, Kalshi trading API).
215
231
  *
216
- * @param params - Optional filter parameters
217
- * @returns List of unified markets
232
+ * @param operationId - The operationId (or auto-generated name) of the endpoint
233
+ * @param params - Optional parameters to pass to the endpoint
234
+ * @returns The raw response data from the exchange
218
235
  *
219
236
  * @example
220
237
  * ```typescript
221
- * const markets = await exchange.fetchMarkets({ limit: 20, sort: "volume" });
238
+ * // Call a Polymarket CLOB endpoint directly
239
+ * const result = await poly.callApi('getMarket', { condition_id: '0x...' });
222
240
  * ```
223
241
  */
224
- async fetchMarkets(params) {
242
+ async callApi(operationId, params) {
225
243
  await this.initPromise;
226
244
  try {
227
- const args = [];
228
- if (params) {
229
- args.push(params);
230
- }
245
+ const url = `${this.config.basePath}/api/${this.exchangeName}/callApi`;
231
246
  const requestBody = {
232
- args,
247
+ args: [operationId, params],
233
248
  credentials: this.getCredentials()
234
249
  };
235
- const response = await this.api.fetchMarkets({
236
- exchange: this.exchangeName,
237
- fetchMarketsRequest: requestBody,
250
+ const response = await fetch(url, {
251
+ method: 'POST',
252
+ headers: {
253
+ 'Content-Type': 'application/json',
254
+ ...this.config.headers
255
+ },
256
+ body: JSON.stringify(requestBody)
238
257
  });
239
- const data = this.handleResponse(response);
258
+ if (!response.ok) {
259
+ const error = await response.json().catch(() => ({}));
260
+ throw new Error(error.error?.message || response.statusText);
261
+ }
262
+ const json = await response.json();
263
+ return this.handleResponse(json);
264
+ }
265
+ catch (error) {
266
+ throw new Error(`Failed to call API '${operationId}': ${error}`);
267
+ }
268
+ }
269
+ // BEGIN GENERATED METHODS
270
+ async loadMarkets(reload = false) {
271
+ await this.initPromise;
272
+ try {
273
+ const args = [];
274
+ args.push(reload);
275
+ const response = await fetch(`${this.config.basePath}/api/${this.exchangeName}/loadMarkets`, {
276
+ method: 'POST',
277
+ headers: { 'Content-Type': 'application/json', ...this.config.headers },
278
+ body: JSON.stringify({ args, credentials: this.getCredentials() }),
279
+ });
280
+ if (!response.ok) {
281
+ const error = await response.json().catch(() => ({}));
282
+ throw new Error(error.error?.message || response.statusText);
283
+ }
284
+ const json = await response.json();
285
+ const data = this.handleResponse(json);
286
+ const result = {};
287
+ for (const [key, value] of Object.entries(data)) {
288
+ result[key] = convertMarket(value);
289
+ }
290
+ return result;
291
+ }
292
+ catch (error) {
293
+ throw new Error(`Failed to loadMarkets: ${error}`);
294
+ }
295
+ }
296
+ async fetchMarkets(params) {
297
+ await this.initPromise;
298
+ try {
299
+ const args = [];
300
+ if (params !== undefined)
301
+ args.push(params);
302
+ const response = await fetch(`${this.config.basePath}/api/${this.exchangeName}/fetchMarkets`, {
303
+ method: 'POST',
304
+ headers: { 'Content-Type': 'application/json', ...this.config.headers },
305
+ body: JSON.stringify({ args, credentials: this.getCredentials() }),
306
+ });
307
+ if (!response.ok) {
308
+ const error = await response.json().catch(() => ({}));
309
+ throw new Error(error.error?.message || response.statusText);
310
+ }
311
+ const json = await response.json();
312
+ const data = this.handleResponse(json);
240
313
  return data.map(convertMarket);
241
314
  }
242
315
  catch (error) {
243
- throw new Error(`Failed to fetch markets: ${error}`);
316
+ throw new Error(`Failed to fetchMarkets: ${error}`);
244
317
  }
245
318
  }
246
- /**
247
- * Fetch a single market by lookup parameters.
248
- * Returns the first matching market or throws if not found.
249
- *
250
- * @param params - Lookup parameters (marketId, outcomeId, slug, eventId, query)
251
- * @returns A single unified market
252
- * @throws Error if no market matches
253
- *
254
- * @example
255
- * ```typescript
256
- * const market = await exchange.fetchMarket({ marketId: '663583' });
257
- * const market = await exchange.fetchMarket({ outcomeId: '10991849...' });
258
- * const market = await exchange.fetchMarket({ slug: 'will-trump-win' });
259
- * ```
260
- */
261
- async fetchMarket(params) {
319
+ async fetchMarketsPaginated(params) {
262
320
  await this.initPromise;
263
321
  try {
264
322
  const args = [];
265
- if (params) {
323
+ if (params !== undefined)
266
324
  args.push(params);
325
+ const response = await fetch(`${this.config.basePath}/api/${this.exchangeName}/fetchMarketsPaginated`, {
326
+ method: 'POST',
327
+ headers: { 'Content-Type': 'application/json', ...this.config.headers },
328
+ body: JSON.stringify({ args, credentials: this.getCredentials() }),
329
+ });
330
+ if (!response.ok) {
331
+ const error = await response.json().catch(() => ({}));
332
+ throw new Error(error.error?.message || response.statusText);
267
333
  }
268
- const requestBody = {
269
- args,
270
- credentials: this.getCredentials()
334
+ const json = await response.json();
335
+ const data = this.handleResponse(json);
336
+ return {
337
+ data: (data.data || []).map(convertMarket),
338
+ total: data.total,
339
+ nextCursor: data.nextCursor,
271
340
  };
272
- const url = `${this.config.basePath}/api/${this.exchangeName}/fetchMarket`;
273
- const response = await fetch(url, {
341
+ }
342
+ catch (error) {
343
+ throw new Error(`Failed to fetchMarketsPaginated: ${error}`);
344
+ }
345
+ }
346
+ async fetchEvents(params) {
347
+ await this.initPromise;
348
+ try {
349
+ const args = [];
350
+ if (params !== undefined)
351
+ args.push(params);
352
+ const response = await fetch(`${this.config.basePath}/api/${this.exchangeName}/fetchEvents`, {
274
353
  method: 'POST',
275
- headers: {
276
- 'Content-Type': 'application/json',
277
- ...this.config.headers
278
- },
279
- body: JSON.stringify(requestBody)
354
+ headers: { 'Content-Type': 'application/json', ...this.config.headers },
355
+ body: JSON.stringify({ args, credentials: this.getCredentials() }),
356
+ });
357
+ if (!response.ok) {
358
+ const error = await response.json().catch(() => ({}));
359
+ throw new Error(error.error?.message || response.statusText);
360
+ }
361
+ const json = await response.json();
362
+ const data = this.handleResponse(json);
363
+ return data.map(convertEvent);
364
+ }
365
+ catch (error) {
366
+ throw new Error(`Failed to fetchEvents: ${error}`);
367
+ }
368
+ }
369
+ async fetchMarket(params) {
370
+ await this.initPromise;
371
+ try {
372
+ const args = [];
373
+ if (params !== undefined)
374
+ args.push(params);
375
+ const response = await fetch(`${this.config.basePath}/api/${this.exchangeName}/fetchMarket`, {
376
+ method: 'POST',
377
+ headers: { 'Content-Type': 'application/json', ...this.config.headers },
378
+ body: JSON.stringify({ args, credentials: this.getCredentials() }),
280
379
  });
281
380
  if (!response.ok) {
282
381
  const error = await response.json().catch(() => ({}));
@@ -287,42 +386,19 @@ class Exchange {
287
386
  return convertMarket(data);
288
387
  }
289
388
  catch (error) {
290
- throw new Error(`Failed to fetch market: ${error}`);
389
+ throw new Error(`Failed to fetchMarket: ${error}`);
291
390
  }
292
391
  }
293
- /**
294
- * Fetch a single event by lookup parameters.
295
- * Returns the first matching event or throws if not found.
296
- *
297
- * @param params - Lookup parameters (eventId, slug, query)
298
- * @returns A single unified event
299
- * @throws Error if no event matches
300
- *
301
- * @example
302
- * ```typescript
303
- * const event = await exchange.fetchEvent({ eventId: 'TRUMP25DEC' });
304
- * const event = await exchange.fetchEvent({ slug: 'us-election' });
305
- * ```
306
- */
307
392
  async fetchEvent(params) {
308
393
  await this.initPromise;
309
394
  try {
310
395
  const args = [];
311
- if (params) {
396
+ if (params !== undefined)
312
397
  args.push(params);
313
- }
314
- const requestBody = {
315
- args,
316
- credentials: this.getCredentials()
317
- };
318
- const url = `${this.config.basePath}/api/${this.exchangeName}/fetchEvent`;
319
- const response = await fetch(url, {
398
+ const response = await fetch(`${this.config.basePath}/api/${this.exchangeName}/fetchEvent`, {
320
399
  method: 'POST',
321
- headers: {
322
- 'Content-Type': 'application/json',
323
- ...this.config.headers
324
- },
325
- body: JSON.stringify(requestBody)
400
+ headers: { 'Content-Type': 'application/json', ...this.config.headers },
401
+ body: JSON.stringify({ args, credentials: this.getCredentials() }),
326
402
  });
327
403
  if (!response.ok) {
328
404
  const error = await response.json().catch(() => ({}));
@@ -333,9 +409,230 @@ class Exchange {
333
409
  return convertEvent(data);
334
410
  }
335
411
  catch (error) {
336
- throw new Error(`Failed to fetch event: ${error}`);
412
+ throw new Error(`Failed to fetchEvent: ${error}`);
413
+ }
414
+ }
415
+ async fetchOrderBook(id) {
416
+ await this.initPromise;
417
+ try {
418
+ const args = [];
419
+ args.push(id);
420
+ const response = await fetch(`${this.config.basePath}/api/${this.exchangeName}/fetchOrderBook`, {
421
+ method: 'POST',
422
+ headers: { 'Content-Type': 'application/json', ...this.config.headers },
423
+ body: JSON.stringify({ args, credentials: this.getCredentials() }),
424
+ });
425
+ if (!response.ok) {
426
+ const error = await response.json().catch(() => ({}));
427
+ throw new Error(error.error?.message || response.statusText);
428
+ }
429
+ const json = await response.json();
430
+ const data = this.handleResponse(json);
431
+ return convertOrderBook(data);
432
+ }
433
+ catch (error) {
434
+ throw new Error(`Failed to fetchOrderBook: ${error}`);
435
+ }
436
+ }
437
+ async cancelOrder(orderId) {
438
+ await this.initPromise;
439
+ try {
440
+ const args = [];
441
+ args.push(orderId);
442
+ const response = await fetch(`${this.config.basePath}/api/${this.exchangeName}/cancelOrder`, {
443
+ method: 'POST',
444
+ headers: { 'Content-Type': 'application/json', ...this.config.headers },
445
+ body: JSON.stringify({ args, credentials: this.getCredentials() }),
446
+ });
447
+ if (!response.ok) {
448
+ const error = await response.json().catch(() => ({}));
449
+ throw new Error(error.error?.message || response.statusText);
450
+ }
451
+ const json = await response.json();
452
+ const data = this.handleResponse(json);
453
+ return convertOrder(data);
454
+ }
455
+ catch (error) {
456
+ throw new Error(`Failed to cancelOrder: ${error}`);
457
+ }
458
+ }
459
+ async fetchOrder(orderId) {
460
+ await this.initPromise;
461
+ try {
462
+ const args = [];
463
+ args.push(orderId);
464
+ const response = await fetch(`${this.config.basePath}/api/${this.exchangeName}/fetchOrder`, {
465
+ method: 'POST',
466
+ headers: { 'Content-Type': 'application/json', ...this.config.headers },
467
+ body: JSON.stringify({ args, credentials: this.getCredentials() }),
468
+ });
469
+ if (!response.ok) {
470
+ const error = await response.json().catch(() => ({}));
471
+ throw new Error(error.error?.message || response.statusText);
472
+ }
473
+ const json = await response.json();
474
+ const data = this.handleResponse(json);
475
+ return convertOrder(data);
476
+ }
477
+ catch (error) {
478
+ throw new Error(`Failed to fetchOrder: ${error}`);
479
+ }
480
+ }
481
+ async fetchOpenOrders(marketId) {
482
+ await this.initPromise;
483
+ try {
484
+ const args = [];
485
+ if (marketId !== undefined)
486
+ args.push(marketId);
487
+ const response = await fetch(`${this.config.basePath}/api/${this.exchangeName}/fetchOpenOrders`, {
488
+ method: 'POST',
489
+ headers: { 'Content-Type': 'application/json', ...this.config.headers },
490
+ body: JSON.stringify({ args, credentials: this.getCredentials() }),
491
+ });
492
+ if (!response.ok) {
493
+ const error = await response.json().catch(() => ({}));
494
+ throw new Error(error.error?.message || response.statusText);
495
+ }
496
+ const json = await response.json();
497
+ const data = this.handleResponse(json);
498
+ return data.map(convertOrder);
499
+ }
500
+ catch (error) {
501
+ throw new Error(`Failed to fetchOpenOrders: ${error}`);
502
+ }
503
+ }
504
+ async fetchMyTrades(params) {
505
+ await this.initPromise;
506
+ try {
507
+ const args = [];
508
+ if (params !== undefined)
509
+ args.push(params);
510
+ const response = await fetch(`${this.config.basePath}/api/${this.exchangeName}/fetchMyTrades`, {
511
+ method: 'POST',
512
+ headers: { 'Content-Type': 'application/json', ...this.config.headers },
513
+ body: JSON.stringify({ args, credentials: this.getCredentials() }),
514
+ });
515
+ if (!response.ok) {
516
+ const error = await response.json().catch(() => ({}));
517
+ throw new Error(error.error?.message || response.statusText);
518
+ }
519
+ const json = await response.json();
520
+ const data = this.handleResponse(json);
521
+ return data.map(convertUserTrade);
522
+ }
523
+ catch (error) {
524
+ throw new Error(`Failed to fetchMyTrades: ${error}`);
525
+ }
526
+ }
527
+ async fetchClosedOrders(params) {
528
+ await this.initPromise;
529
+ try {
530
+ const args = [];
531
+ if (params !== undefined)
532
+ args.push(params);
533
+ const response = await fetch(`${this.config.basePath}/api/${this.exchangeName}/fetchClosedOrders`, {
534
+ method: 'POST',
535
+ headers: { 'Content-Type': 'application/json', ...this.config.headers },
536
+ body: JSON.stringify({ args, credentials: this.getCredentials() }),
537
+ });
538
+ if (!response.ok) {
539
+ const error = await response.json().catch(() => ({}));
540
+ throw new Error(error.error?.message || response.statusText);
541
+ }
542
+ const json = await response.json();
543
+ const data = this.handleResponse(json);
544
+ return data.map(convertOrder);
545
+ }
546
+ catch (error) {
547
+ throw new Error(`Failed to fetchClosedOrders: ${error}`);
548
+ }
549
+ }
550
+ async fetchAllOrders(params) {
551
+ await this.initPromise;
552
+ try {
553
+ const args = [];
554
+ if (params !== undefined)
555
+ args.push(params);
556
+ const response = await fetch(`${this.config.basePath}/api/${this.exchangeName}/fetchAllOrders`, {
557
+ method: 'POST',
558
+ headers: { 'Content-Type': 'application/json', ...this.config.headers },
559
+ body: JSON.stringify({ args, credentials: this.getCredentials() }),
560
+ });
561
+ if (!response.ok) {
562
+ const error = await response.json().catch(() => ({}));
563
+ throw new Error(error.error?.message || response.statusText);
564
+ }
565
+ const json = await response.json();
566
+ const data = this.handleResponse(json);
567
+ return data.map(convertOrder);
568
+ }
569
+ catch (error) {
570
+ throw new Error(`Failed to fetchAllOrders: ${error}`);
571
+ }
572
+ }
573
+ async fetchPositions() {
574
+ await this.initPromise;
575
+ try {
576
+ const args = [];
577
+ const response = await fetch(`${this.config.basePath}/api/${this.exchangeName}/fetchPositions`, {
578
+ method: 'POST',
579
+ headers: { 'Content-Type': 'application/json', ...this.config.headers },
580
+ body: JSON.stringify({ args, credentials: this.getCredentials() }),
581
+ });
582
+ if (!response.ok) {
583
+ const error = await response.json().catch(() => ({}));
584
+ throw new Error(error.error?.message || response.statusText);
585
+ }
586
+ const json = await response.json();
587
+ const data = this.handleResponse(json);
588
+ return data.map(convertPosition);
589
+ }
590
+ catch (error) {
591
+ throw new Error(`Failed to fetchPositions: ${error}`);
337
592
  }
338
593
  }
594
+ async fetchBalance() {
595
+ await this.initPromise;
596
+ try {
597
+ const args = [];
598
+ const response = await fetch(`${this.config.basePath}/api/${this.exchangeName}/fetchBalance`, {
599
+ method: 'POST',
600
+ headers: { 'Content-Type': 'application/json', ...this.config.headers },
601
+ body: JSON.stringify({ args, credentials: this.getCredentials() }),
602
+ });
603
+ if (!response.ok) {
604
+ const error = await response.json().catch(() => ({}));
605
+ throw new Error(error.error?.message || response.statusText);
606
+ }
607
+ const json = await response.json();
608
+ const data = this.handleResponse(json);
609
+ return data.map(convertBalance);
610
+ }
611
+ catch (error) {
612
+ throw new Error(`Failed to fetchBalance: ${error}`);
613
+ }
614
+ }
615
+ async close() {
616
+ await this.initPromise;
617
+ try {
618
+ const args = [];
619
+ const response = await fetch(`${this.config.basePath}/api/${this.exchangeName}/close`, {
620
+ method: 'POST',
621
+ headers: { 'Content-Type': 'application/json', ...this.config.headers },
622
+ body: JSON.stringify({ args, credentials: this.getCredentials() }),
623
+ });
624
+ if (!response.ok) {
625
+ const error = await response.json().catch(() => ({}));
626
+ throw new Error(error.error?.message || response.statusText);
627
+ }
628
+ const json = await response.json();
629
+ this.handleResponse(json);
630
+ }
631
+ catch (error) {
632
+ throw new Error(`Failed to close: ${error}`);
633
+ }
634
+ }
635
+ // END GENERATED METHODS
339
636
  /**
340
637
  * Get historical price candles.
341
638
  *
@@ -381,37 +678,6 @@ class Exchange {
381
678
  throw new Error(`Failed to fetch OHLCV: ${error}`);
382
679
  }
383
680
  }
384
- /**
385
- * Get current order book for an outcome.
386
- *
387
- * @param outcomeId - Outcome ID
388
- * @returns Current order book
389
- *
390
- * @example
391
- * ```typescript
392
- * const orderBook = await exchange.fetchOrderBook(outcomeId);
393
- * console.log(`Best bid: ${orderBook.bids[0].price}`);
394
- * console.log(`Best ask: ${orderBook.asks[0].price}`);
395
- * ```
396
- */
397
- async fetchOrderBook(outcomeId) {
398
- await this.initPromise;
399
- try {
400
- const requestBody = {
401
- args: [outcomeId],
402
- credentials: this.getCredentials()
403
- };
404
- const response = await this.api.fetchOrderBook({
405
- exchange: this.exchangeName,
406
- fetchOrderBookRequest: requestBody,
407
- });
408
- const data = this.handleResponse(response);
409
- return convertOrderBook(data);
410
- }
411
- catch (error) {
412
- throw new Error(`Failed to fetch order book: ${error}`);
413
- }
414
- }
415
681
  /**
416
682
  * Get trade history for an outcome.
417
683
  *
@@ -597,129 +863,6 @@ class Exchange {
597
863
  throw new Error(`Failed to create order: ${error}`);
598
864
  }
599
865
  }
600
- /**
601
- * Cancel an open order.
602
- *
603
- * @param orderId - Order ID to cancel
604
- * @returns Cancelled order
605
- */
606
- async cancelOrder(orderId) {
607
- await this.initPromise;
608
- try {
609
- const requestBody = {
610
- args: [orderId],
611
- credentials: this.getCredentials()
612
- };
613
- const response = await this.api.cancelOrder({
614
- exchange: this.exchangeName,
615
- cancelOrderRequest: requestBody,
616
- });
617
- const data = this.handleResponse(response);
618
- return convertOrder(data);
619
- }
620
- catch (error) {
621
- throw new Error(`Failed to cancel order: ${error}`);
622
- }
623
- }
624
- /**
625
- * Get details of a specific order.
626
- *
627
- * @param orderId - Order ID
628
- * @returns Order details
629
- */
630
- async fetchOrder(orderId) {
631
- await this.initPromise;
632
- try {
633
- const requestBody = {
634
- args: [orderId],
635
- credentials: this.getCredentials()
636
- };
637
- const response = await this.api.fetchOrder({
638
- exchange: this.exchangeName,
639
- cancelOrderRequest: requestBody,
640
- });
641
- const data = this.handleResponse(response);
642
- return convertOrder(data);
643
- }
644
- catch (error) {
645
- throw new Error(`Failed to fetch order: ${error}`);
646
- }
647
- }
648
- /**
649
- * Get all open orders, optionally filtered by market.
650
- *
651
- * @param marketId - Optional market ID to filter by
652
- * @returns List of open orders
653
- */
654
- async fetchOpenOrders(marketId) {
655
- await this.initPromise;
656
- try {
657
- const args = [];
658
- if (marketId) {
659
- args.push(marketId);
660
- }
661
- const requestBody = {
662
- args,
663
- credentials: this.getCredentials()
664
- };
665
- const response = await this.api.fetchOpenOrders({
666
- exchange: this.exchangeName,
667
- fetchOpenOrdersRequest: requestBody,
668
- });
669
- const data = this.handleResponse(response);
670
- return data.map(convertOrder);
671
- }
672
- catch (error) {
673
- throw new Error(`Failed to fetch open orders: ${error}`);
674
- }
675
- }
676
- // Account Methods
677
- /**
678
- * Get current positions across all markets.
679
- *
680
- * @returns List of positions
681
- */
682
- async fetchPositions() {
683
- await this.initPromise;
684
- try {
685
- const requestBody = {
686
- args: [],
687
- credentials: this.getCredentials()
688
- };
689
- const response = await this.api.fetchPositions({
690
- exchange: this.exchangeName,
691
- fetchPositionsRequest: requestBody,
692
- });
693
- const data = this.handleResponse(response);
694
- return data.map(convertPosition);
695
- }
696
- catch (error) {
697
- throw new Error(`Failed to fetch positions: ${error}`);
698
- }
699
- }
700
- /**
701
- * Get account balance.
702
- *
703
- * @returns List of balances (by currency)
704
- */
705
- async fetchBalance() {
706
- await this.initPromise;
707
- try {
708
- const requestBody = {
709
- args: [],
710
- credentials: this.getCredentials()
711
- };
712
- const response = await this.api.fetchBalance({
713
- exchange: this.exchangeName,
714
- fetchPositionsRequest: requestBody,
715
- });
716
- const data = this.handleResponse(response);
717
- return data.map(convertBalance);
718
- }
719
- catch (error) {
720
- throw new Error(`Failed to fetch balance: ${error}`);
721
- }
722
- }
723
866
  /**
724
867
  * Calculate the average execution price for a given amount by walking the order book.
725
868
  * Uses the sidecar server for calculation to ensure consistency.
@@ -1073,3 +1216,99 @@ class Limitless extends Exchange {
1073
1216
  }
1074
1217
  }
1075
1218
  exports.Limitless = Limitless;
1219
+ /**
1220
+ * Kalshi Demo exchange client (paper trading / sandbox environment).
1221
+ *
1222
+ * Uses Kalshi's demo environment — same API as Kalshi but against test accounts.
1223
+ * Credentials are separate from production Kalshi credentials.
1224
+ *
1225
+ * @example
1226
+ * ```typescript
1227
+ * const kalshiDemo = new KalshiDemo({
1228
+ * apiKey: process.env.KALSHI_DEMO_API_KEY,
1229
+ * privateKey: process.env.KALSHI_DEMO_PRIVATE_KEY
1230
+ * });
1231
+ * const balance = await kalshiDemo.fetchBalance();
1232
+ * ```
1233
+ */
1234
+ class KalshiDemo extends Exchange {
1235
+ constructor(options = {}) {
1236
+ super("kalshi-demo", options);
1237
+ }
1238
+ }
1239
+ exports.KalshiDemo = KalshiDemo;
1240
+ /**
1241
+ * Myriad exchange client.
1242
+ *
1243
+ * AMM-based prediction market exchange. Requires an API key for trading.
1244
+ * The `privateKey` field is used as the wallet address.
1245
+ *
1246
+ * @example
1247
+ * ```typescript
1248
+ * // Public data (no auth)
1249
+ * const myriad = new Myriad();
1250
+ * const markets = await myriad.fetchMarkets();
1251
+ *
1252
+ * // Trading (requires auth)
1253
+ * const myriad = new Myriad({
1254
+ * apiKey: process.env.MYRIAD_API_KEY,
1255
+ * privateKey: process.env.MYRIAD_WALLET_ADDRESS
1256
+ * });
1257
+ * ```
1258
+ */
1259
+ class Myriad extends Exchange {
1260
+ constructor(options = {}) {
1261
+ super("myriad", options);
1262
+ }
1263
+ }
1264
+ exports.Myriad = Myriad;
1265
+ /**
1266
+ * Probable exchange client.
1267
+ *
1268
+ * BSC-based CLOB exchange. Requires all four credential fields for trading.
1269
+ *
1270
+ * @example
1271
+ * ```typescript
1272
+ * // Public data (no auth)
1273
+ * const probable = new Probable();
1274
+ * const markets = await probable.fetchMarkets();
1275
+ *
1276
+ * // Trading (requires auth)
1277
+ * const probable = new Probable({
1278
+ * privateKey: process.env.PROBABLE_PRIVATE_KEY,
1279
+ * apiKey: process.env.PROBABLE_API_KEY,
1280
+ * apiSecret: process.env.PROBABLE_API_SECRET,
1281
+ * passphrase: process.env.PROBABLE_PASSPHRASE
1282
+ * });
1283
+ * ```
1284
+ */
1285
+ class Probable extends Exchange {
1286
+ constructor(options = {}) {
1287
+ super("probable", options);
1288
+ }
1289
+ }
1290
+ exports.Probable = Probable;
1291
+ /**
1292
+ * Baozi exchange client.
1293
+ *
1294
+ * Solana-based on-chain pari-mutuel betting exchange.
1295
+ * Requires a Solana private key for trading.
1296
+ *
1297
+ * @example
1298
+ * ```typescript
1299
+ * // Public data (no auth)
1300
+ * const baozi = new Baozi();
1301
+ * const markets = await baozi.fetchMarkets();
1302
+ *
1303
+ * // Trading (requires auth)
1304
+ * const baozi = new Baozi({
1305
+ * privateKey: process.env.BAOZI_PRIVATE_KEY
1306
+ * });
1307
+ * ```
1308
+ */
1309
+ class Baozi extends Exchange {
1310
+ constructor(options = {}) {
1311
+ super("baozi", options);
1312
+ }
1313
+ }
1314
+ exports.Baozi = Baozi;