pmxt 2.40.2__tar.gz → 2.40.4__tar.gz

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 (133) hide show
  1. {pmxt-2.40.2 → pmxt-2.40.4}/PKG-INFO +1 -1
  2. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/__init__.py +1 -1
  3. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/api_client.py +1 -1
  4. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/configuration.py +1 -1
  5. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/order.py +7 -3
  6. {pmxt-2.40.2 → pmxt-2.40.4}/pmxt/__init__.py +1 -1
  7. {pmxt-2.40.2 → pmxt-2.40.4}/pmxt/_server/server/bundled.js +66 -24
  8. {pmxt-2.40.2 → pmxt-2.40.4}/pmxt.egg-info/PKG-INFO +1 -1
  9. {pmxt-2.40.2 → pmxt-2.40.4}/pyproject.toml +1 -1
  10. {pmxt-2.40.2 → pmxt-2.40.4}/README.md +0 -0
  11. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/api/__init__.py +0 -0
  12. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/api/default_api.py +0 -0
  13. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/api_response.py +0 -0
  14. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/exceptions.py +0 -0
  15. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/__init__.py +0 -0
  16. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/arbitrage_opportunity.py +0 -0
  17. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/balance.py +0 -0
  18. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/base_request.py +0 -0
  19. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/base_response.py +0 -0
  20. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/build_order200_response.py +0 -0
  21. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/build_order_request.py +0 -0
  22. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/built_order.py +0 -0
  23. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/built_order_tx.py +0 -0
  24. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/cancel_order_request.py +0 -0
  25. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/close_request.py +0 -0
  26. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/compare_market_prices200_response.py +0 -0
  27. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/compare_market_prices_request.py +0 -0
  28. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/create_order200_response.py +0 -0
  29. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/create_order_params.py +0 -0
  30. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/create_order_request.py +0 -0
  31. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/error_detail.py +0 -0
  32. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/error_response.py +0 -0
  33. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/event_fetch_params.py +0 -0
  34. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/event_filter_criteria.py +0 -0
  35. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/event_filter_criteria_total_volume.py +0 -0
  36. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/event_match_result.py +0 -0
  37. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/exchange_credentials.py +0 -0
  38. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/exchange_credentials_signature_type.py +0 -0
  39. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/execution_price_result.py +0 -0
  40. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/fetch_arbitrage200_response.py +0 -0
  41. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/fetch_arbitrage_params.py +0 -0
  42. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/fetch_balance200_response.py +0 -0
  43. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/fetch_event200_response.py +0 -0
  44. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/fetch_event_matches200_response.py +0 -0
  45. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/fetch_event_matches_params.py +0 -0
  46. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/fetch_events200_response.py +0 -0
  47. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/fetch_events_paginated200_response.py +0 -0
  48. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/fetch_market200_response.py +0 -0
  49. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/fetch_market_matches200_response.py +0 -0
  50. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/fetch_market_matches_params.py +0 -0
  51. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/fetch_markets200_response.py +0 -0
  52. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/fetch_markets_paginated200_response.py +0 -0
  53. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/fetch_matched_markets200_response.py +0 -0
  54. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/fetch_matched_markets_params.py +0 -0
  55. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/fetch_my_trades200_response.py +0 -0
  56. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/fetch_ohlcv200_response.py +0 -0
  57. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/fetch_open_orders200_response.py +0 -0
  58. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/fetch_order_book200_response.py +0 -0
  59. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/fetch_positions200_response.py +0 -0
  60. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/fetch_trades200_response.py +0 -0
  61. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/filter_events_request.py +0 -0
  62. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/filter_events_request_args_inner.py +0 -0
  63. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/filter_markets_request.py +0 -0
  64. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/filter_markets_request_args_inner.py +0 -0
  65. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/get_execution_price200_response.py +0 -0
  66. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/get_execution_price_detailed200_response.py +0 -0
  67. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/get_execution_price_detailed_request.py +0 -0
  68. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/get_execution_price_request.py +0 -0
  69. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/get_execution_price_request_args_inner.py +0 -0
  70. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/health_check200_response.py +0 -0
  71. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/history_filter_params.py +0 -0
  72. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/load_markets200_response.py +0 -0
  73. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/load_markets_request.py +0 -0
  74. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/market_filter_criteria.py +0 -0
  75. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/market_filter_criteria_liquidity.py +0 -0
  76. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/market_filter_criteria_open_interest.py +0 -0
  77. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/market_filter_criteria_price.py +0 -0
  78. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/market_filter_criteria_resolution_date.py +0 -0
  79. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/market_filter_criteria_volume.py +0 -0
  80. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/market_filter_criteria_volume24h.py +0 -0
  81. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/market_filter_params.py +0 -0
  82. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/market_outcome.py +0 -0
  83. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/match_result.py +0 -0
  84. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/matched_market_pair.py +0 -0
  85. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/my_trades_params.py +0 -0
  86. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/ohlcv_params.py +0 -0
  87. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/order_book.py +0 -0
  88. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/order_history_params.py +0 -0
  89. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/order_level.py +0 -0
  90. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/paginated_events_result.py +0 -0
  91. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/paginated_markets_result.py +0 -0
  92. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/position.py +0 -0
  93. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/price_candle.py +0 -0
  94. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/price_comparison.py +0 -0
  95. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/submit_order_request.py +0 -0
  96. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/test_dummy_method200_response.py +0 -0
  97. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/test_dummy_method_request.py +0 -0
  98. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/trade.py +0 -0
  99. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/trades_params.py +0 -0
  100. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/unified_event.py +0 -0
  101. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/unified_market.py +0 -0
  102. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/unwatch_address_request.py +0 -0
  103. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/unwatch_order_book_request.py +0 -0
  104. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/user_trade.py +0 -0
  105. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/watch_address200_response.py +0 -0
  106. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/watch_address_request.py +0 -0
  107. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/watch_address_request_args_inner.py +0 -0
  108. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/watch_order_book_request.py +0 -0
  109. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/watch_order_book_request_args_inner.py +0 -0
  110. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/watch_order_books200_response.py +0 -0
  111. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/watch_order_books_request.py +0 -0
  112. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/watch_order_books_request_args_inner.py +0 -0
  113. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/models/watch_trades_request.py +0 -0
  114. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/py.typed +0 -0
  115. {pmxt-2.40.2 → pmxt-2.40.4}/generated/pmxt_internal/rest.py +0 -0
  116. {pmxt-2.40.2 → pmxt-2.40.4}/pmxt/_exchanges.py +0 -0
  117. {pmxt-2.40.2 → pmxt-2.40.4}/pmxt/_server/__init__.py +0 -0
  118. {pmxt-2.40.2 → pmxt-2.40.4}/pmxt/_server/bin/pmxt-ensure-server +0 -0
  119. {pmxt-2.40.2 → pmxt-2.40.4}/pmxt/_server/bin/pmxt-ensure-server.js +0 -0
  120. {pmxt-2.40.2 → pmxt-2.40.4}/pmxt/client.py +0 -0
  121. {pmxt-2.40.2 → pmxt-2.40.4}/pmxt/constants.py +0 -0
  122. {pmxt-2.40.2 → pmxt-2.40.4}/pmxt/errors.py +0 -0
  123. {pmxt-2.40.2 → pmxt-2.40.4}/pmxt/models.py +0 -0
  124. {pmxt-2.40.2 → pmxt-2.40.4}/pmxt/router.py +0 -0
  125. {pmxt-2.40.2 → pmxt-2.40.4}/pmxt/server_manager.py +0 -0
  126. {pmxt-2.40.2 → pmxt-2.40.4}/pmxt/ws_client.py +0 -0
  127. {pmxt-2.40.2 → pmxt-2.40.4}/pmxt.egg-info/SOURCES.txt +0 -0
  128. {pmxt-2.40.2 → pmxt-2.40.4}/pmxt.egg-info/dependency_links.txt +0 -0
  129. {pmxt-2.40.2 → pmxt-2.40.4}/pmxt.egg-info/requires.txt +0 -0
  130. {pmxt-2.40.2 → pmxt-2.40.4}/pmxt.egg-info/top_level.txt +0 -0
  131. {pmxt-2.40.2 → pmxt-2.40.4}/setup.cfg +0 -0
  132. {pmxt-2.40.2 → pmxt-2.40.4}/tests/test_converters.py +0 -0
  133. {pmxt-2.40.2 → pmxt-2.40.4}/tests/test_sdk_integration.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pmxt
3
- Version: 2.40.2
3
+ Version: 2.40.4
4
4
  Summary: Unified prediction market data API - The ccxt for prediction markets
5
5
  Author: PMXT Contributors
6
6
  License: MIT
@@ -14,7 +14,7 @@
14
14
  """ # noqa: E501
15
15
 
16
16
 
17
- __version__ = "2.40.2"
17
+ __version__ = "2.40.4"
18
18
 
19
19
  # Define package exports
20
20
  __all__ = [
@@ -91,7 +91,7 @@ class ApiClient:
91
91
  self.default_headers[header_name] = header_value
92
92
  self.cookie = cookie
93
93
  # Set default User-Agent.
94
- self.user_agent = 'OpenAPI-Generator/2.40.2/python'
94
+ self.user_agent = 'OpenAPI-Generator/2.40.4/python'
95
95
  self.client_side_validation = configuration.client_side_validation
96
96
 
97
97
  def __enter__(self):
@@ -506,7 +506,7 @@ class Configuration:
506
506
  "OS: {env}\n"\
507
507
  "Python Version: {pyversion}\n"\
508
508
  "Version of the API: 0.4.4\n"\
509
- "SDK Package Version: 2.40.2".\
509
+ "SDK Package Version: 2.40.4".\
510
510
  format(env=sys.platform, pyversion=sys.version)
511
511
 
512
512
  def get_host_settings(self) -> List[HostSetting]:
@@ -34,11 +34,13 @@ class Order(BaseModel):
34
34
  price: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="For limit orders")
35
35
  amount: Union[StrictFloat, StrictInt] = Field(description="Size in contracts/shares")
36
36
  status: StrictStr = Field(description="Lifecycle status of the order.")
37
- filled: Union[StrictFloat, StrictInt] = Field(description="Amount filled")
37
+ filled: Union[StrictFloat, StrictInt] = Field(description="Amount filled (USDC cost for buys, shares for sells)")
38
+ filled_shares: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Amount filled in shares/contracts (if different from USDC-denominated `filled`).", alias="filledShares")
38
39
  remaining: Union[StrictFloat, StrictInt] = Field(description="Amount remaining")
39
40
  timestamp: Union[StrictFloat, StrictInt] = Field(description="Unix timestamp in milliseconds when the order was created.")
40
41
  fee: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Fee paid for this order, if known.")
41
- __properties: ClassVar[List[str]] = ["id", "marketId", "outcomeId", "side", "type", "price", "amount", "status", "filled", "remaining", "timestamp", "fee"]
42
+ fee_rate_bps: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Fee rate in basis points applied to this order (e.g. 100 = 1%).", alias="feeRateBps")
43
+ __properties: ClassVar[List[str]] = ["id", "marketId", "outcomeId", "side", "type", "price", "amount", "status", "filled", "filledShares", "remaining", "timestamp", "fee", "feeRateBps"]
42
44
 
43
45
  @field_validator('side')
44
46
  def side_validate_enum(cls, value):
@@ -121,9 +123,11 @@ class Order(BaseModel):
121
123
  "amount": obj.get("amount"),
122
124
  "status": obj.get("status"),
123
125
  "filled": obj.get("filled"),
126
+ "filledShares": obj.get("filledShares"),
124
127
  "remaining": obj.get("remaining"),
125
128
  "timestamp": obj.get("timestamp"),
126
- "fee": obj.get("fee")
129
+ "fee": obj.get("fee"),
130
+ "feeRateBps": obj.get("feeRateBps")
127
131
  })
128
132
  return _obj
129
133
 
@@ -130,7 +130,7 @@ def restart_server():
130
130
  )
131
131
  _default_manager.restart()
132
132
 
133
- __version__ = "2.40.2"
133
+ __version__ = "2.40.4"
134
134
  __all__ = [
135
135
  # Exchanges
136
136
  "Polymarket",
@@ -133337,6 +133337,17 @@ var require_polymarket = __commonJS({
133337
133337
  }
133338
133338
  const side = built.params.side.toUpperCase() === "BUY" ? clob_client_v2_1.Side.BUY : clob_client_v2_1.Side.SELL;
133339
133339
  const price = built.params.price || (side === clob_client_v2_1.Side.BUY ? 0.99 : 0.01);
133340
+ const USDC_DECIMALS = 6;
133341
+ const responseStatus = (response.status || "").toUpperCase();
133342
+ const isImmediatelyFilled = responseStatus === "MATCHED" || responseStatus === "CONFIRMED";
133343
+ let filled = 0;
133344
+ if (isImmediatelyFilled) {
133345
+ const takingRaw = typeof response.takingAmount === "string" ? parseFloat(response.takingAmount) : response.takingAmount ?? 0;
133346
+ const makingRaw = typeof response.makingAmount === "string" ? parseFloat(response.makingAmount) : response.makingAmount ?? 0;
133347
+ filled = side === clob_client_v2_1.Side.BUY ? takingRaw / Math.pow(10, USDC_DECIMALS) : makingRaw / Math.pow(10, USDC_DECIMALS);
133348
+ }
133349
+ const remaining = Math.max(0, built.params.amount - filled);
133350
+ const orderStatus = filled >= built.params.amount ? "filled" : "open";
133340
133351
  return {
133341
133352
  id: response.orderID,
133342
133353
  marketId: built.params.marketId,
@@ -133345,9 +133356,9 @@ var require_polymarket = __commonJS({
133345
133356
  type: built.params.type,
133346
133357
  price,
133347
133358
  amount: built.params.amount,
133348
- status: "open",
133349
- filled: 0,
133350
- remaining: built.params.amount,
133359
+ status: orderStatus,
133360
+ filled,
133361
+ remaining,
133351
133362
  fee: built.params.fee,
133352
133363
  timestamp: Date.now()
133353
133364
  };
@@ -178491,18 +178502,29 @@ var require_limitless = __commonJS({
178491
178502
  type: params.type,
178492
178503
  onBehalfOf: params.onBehalfOf
178493
178504
  });
178505
+ const USDC_DECIMALS = 6;
178506
+ const raw = response;
178507
+ const matches = raw.makerMatches ?? raw.order?.makerMatches ?? [];
178508
+ const filledRaw = matches.reduce((sum, m) => {
178509
+ const size = typeof m.matchedSize === "string" ? parseFloat(m.matchedSize) : m.matchedSize ?? 0;
178510
+ return sum + size;
178511
+ }, 0);
178512
+ const filled = filledRaw / Math.pow(10, USDC_DECIMALS);
178513
+ const remaining = Math.max(0, params.amount - filled);
178514
+ const orderFeeRateBps = raw.order?.feeRateBps ?? raw.feeRateBps ?? void 0;
178494
178515
  return {
178495
- id: response.order.id || "unknown",
178516
+ id: raw.order?.id || raw.id || "unknown",
178496
178517
  marketId: params.marketId,
178497
178518
  outcomeId: params.outcomeId,
178498
178519
  side: params.side,
178499
178520
  type: params.type,
178500
178521
  price: params.price,
178501
178522
  amount: params.amount,
178502
- status: "open",
178503
- filled: 0,
178504
- remaining: params.amount,
178505
- timestamp: Date.now()
178523
+ status: filled >= params.amount ? "filled" : "open",
178524
+ filled,
178525
+ remaining,
178526
+ timestamp: Date.now(),
178527
+ ...orderFeeRateBps != null ? { feeRateBps: orderFeeRateBps } : {}
178506
178528
  };
178507
178529
  } catch (error) {
178508
178530
  throw errors_2.limitlessErrorMapper.mapError(error);
@@ -269681,19 +269703,17 @@ var require_fetcher6 = __commonJS({
269681
269703
  return this.fetchRawQuestionById(params.slug);
269682
269704
  }
269683
269705
  const limit = params.limit || 100;
269684
- const queryParams = {
269685
- page: 1,
269686
- limit: Math.min(limit, 100)
269687
- };
269688
- if (params.query) {
269689
- queryParams.keyword = params.query;
269690
- }
269691
- const response = await this.ctx.http.get(`${this.baseUrl}/questions`, {
269692
- params: queryParams,
269693
- headers: this.ctx.getHeaders()
269706
+ const markets = await this.fetchRawMarkets({
269707
+ limit,
269708
+ status: params.status || "active",
269709
+ sort: "volume",
269710
+ query: params.query
269694
269711
  });
269695
- const questions = response.data.data || response.data.questions || [];
269696
- return questions.slice(0, limit);
269712
+ return markets.map((m) => ({
269713
+ id: m.id,
269714
+ title: m.title,
269715
+ markets: [m]
269716
+ }));
269697
269717
  } catch (error) {
269698
269718
  throw errors_1.myriadErrorMapper.mapError(error);
269699
269719
  }
@@ -269884,9 +269904,31 @@ var require_normalizer6 = __commonJS({
269884
269904
  return null;
269885
269905
  const markets = [];
269886
269906
  for (const m of raw.markets || []) {
269887
- const um = this.normalizeMarket(m);
269888
- if (um)
269889
- markets.push(um);
269907
+ const rawOutcomes = m.outcomes || [];
269908
+ if (rawOutcomes.length <= 2) {
269909
+ const um = this.normalizeMarket(m);
269910
+ if (um)
269911
+ markets.push(um);
269912
+ } else {
269913
+ const eventTitle = m.title || raw.title || "";
269914
+ for (const outcome of rawOutcomes) {
269915
+ const outcomeTitle = outcome.title || `Outcome ${outcome.id}`;
269916
+ const syntheticMarket = {
269917
+ ...m,
269918
+ id: m.id,
269919
+ title: `${eventTitle} - ${outcomeTitle}`,
269920
+ outcomes: [
269921
+ { ...outcome, title: outcomeTitle },
269922
+ { id: -(outcome.id || 0), title: `Not ${outcomeTitle}`, price: 1 - (Number(outcome.price) || 0) }
269923
+ ]
269924
+ };
269925
+ const um = this.normalizeMarket(syntheticMarket);
269926
+ if (um) {
269927
+ um.marketId = `${m.networkId}:${m.id}:${outcome.id}`;
269928
+ markets.push(um);
269929
+ }
269930
+ }
269931
+ }
269890
269932
  }
269891
269933
  return {
269892
269934
  id: String(raw.id),
@@ -294556,7 +294598,7 @@ var crypto_1 = require("crypto");
294556
294598
  var crypto_2 = require("crypto");
294557
294599
  var fs_1 = require("fs");
294558
294600
  function getServerVersion() {
294559
- const baseVersion = true ? "2.40.2" : "0.0.0-dev";
294601
+ const baseVersion = true ? "2.40.4" : "0.0.0-dev";
294560
294602
  const isDev = process.env.NODE_ENV === "development" || process.env.PMXT_ALWAYS_RESTART === "1" || __dirname.includes("/core/src/") || __dirname.includes("/core/dist/");
294561
294603
  if (!isDev) {
294562
294604
  return baseVersion;
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pmxt
3
- Version: 2.40.2
3
+ Version: 2.40.4
4
4
  Summary: Unified prediction market data API - The ccxt for prediction markets
5
5
  Author: PMXT Contributors
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pmxt"
7
- version = "2.40.2"
7
+ version = "2.40.4"
8
8
  description = "Unified prediction market data API - The ccxt for prediction markets"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes