Gap type
SDK phantom / incorrect exposure (exchange-specific methods on base class)
Summary
Three exchange-specific methods are placed directly on the Python SDK's base Exchange class even though they exist only on a single concrete exchange in core. This is the same misclassification identified for Limitless watch methods in issue #862, extended to Polymarket-specific and Probable-specific methods.
Core
preWarmMarket(outcomeId) — core/src/exchanges/polymarket/index.ts:219. Only on PolymarketExchange.
getEventById(id) — core/src/exchanges/probable/index.ts:158. Only on ProbableExchange.
getEventBySlug(slug) — core/src/exchanges/probable/index.ts:177. Only on ProbableExchange.
None of these are on BaseExchange or any other exchange.
Python SDK
sdks/python/pmxt/client.py
- Line 2888:
pre_warm_market(outcome_id) — on base Exchange class
- Line 2901:
get_event_by_id(id) — on base Exchange class
- Line 2914:
get_event_by_slug(slug) — on base Exchange class
These methods are not narrowed to the Polymarket or Probable subclasses in sdks/python/pmxt/_exchanges.py.
TypeScript SDK
sdks/typescript/pmxt/client.ts — none of these three methods appear on the base Exchange class (they are absent entirely; separate issues #187 and #188 track their absence from the correct TS SDK subclasses).
Expected behaviour
Gap type
SDK phantom / incorrect exposure (exchange-specific methods on base class)
Summary
Three exchange-specific methods are placed directly on the Python SDK's base
Exchangeclass even though they exist only on a single concrete exchange in core. This is the same misclassification identified for Limitless watch methods in issue #862, extended to Polymarket-specific and Probable-specific methods.Core
preWarmMarket(outcomeId)—core/src/exchanges/polymarket/index.ts:219. Only onPolymarketExchange.getEventById(id)—core/src/exchanges/probable/index.ts:158. Only onProbableExchange.getEventBySlug(slug)—core/src/exchanges/probable/index.ts:177. Only onProbableExchange.None of these are on
BaseExchangeor any other exchange.Python SDK
sdks/python/pmxt/client.pypre_warm_market(outcome_id)— on baseExchangeclassget_event_by_id(id)— on baseExchangeclassget_event_by_slug(slug)— on baseExchangeclassThese methods are not narrowed to the
PolymarketorProbablesubclasses insdks/python/pmxt/_exchanges.py.TypeScript SDK
sdks/typescript/pmxt/client.ts— none of these three methods appear on the baseExchangeclass (they are absent entirely; separate issues #187 and #188 track their absence from the correct TS SDK subclasses).Expected behaviour
pre_warm_marketshould be onPolymarketonly (or absent pending issue Polymarket.preWarmMarket() is in core but missing from both SDKs #187)get_event_by_id/get_event_by_slugshould be onProbableonly (or absent pending issue Probable.getEventById() and Probable.getEventBySlug() are in core but missing from both SDKs #188)