Drift
When a resolutionDate filter criterion is supplied and the candidate market's resolutionDate/resolution_date is falsy/missing, TypeScript keeps the market in the result set (the guard short-circuits and no exclusion happens), while Python explicitly excludes it. Same filter criteria + same market data yields opposite inclusion decisions across languages. This is the same category of bug as already-filed #1524 (priceChange24h), but on a different field (resolutionDate) not mentioned by that or any other filed issue.
TypeScript SDK
sdks/typescript/pmxt/client.ts:2948-2957:
// ResolutionDate filter
if (criteria.resolutionDate && market.resolutionDate) {
const resDate = market.resolutionDate;
if (criteria.resolutionDate.before && resDate >= criteria.resolutionDate.before) {
return false;
}
if (criteria.resolutionDate.after && resDate <= criteria.resolutionDate.after) {
return false;
}
}
criteria.resolutionDate && market.resolutionDate short-circuits when the market's date is missing — the market is not rejected and proceeds to the remaining checks.
Python SDK
sdks/python/pmxt/client.py:2108-2119:
# Resolution Date
if "resolution_date" in params:
f = params["resolution_date"]
val = market.resolution_date
if not val:
continue
if "before" in f and val >= f["before"]: continue
if "after" in f and val <= f["after"]: continue
if not val: continue explicitly excludes the market from the results.
Expected
Both languages should apply the same rule for markets missing a resolution date under a resolutionDate filter — either both should keep them (treat filter as inapplicable) or both should exclude them.
Impact
Callers filtering markets by resolution-date range get silently different result sets in TypeScript vs. Python whenever some markets lack a resolution date (e.g. still-open/perpetual markets).
Found by automated SDK cross-language drift audit
Drift
When a
resolutionDatefilter criterion is supplied and the candidate market'sresolutionDate/resolution_dateis falsy/missing, TypeScript keeps the market in the result set (the guard short-circuits and no exclusion happens), while Python explicitly excludes it. Same filter criteria + same market data yields opposite inclusion decisions across languages. This is the same category of bug as already-filed #1524 (priceChange24h), but on a different field (resolutionDate) not mentioned by that or any other filed issue.TypeScript SDK
sdks/typescript/pmxt/client.ts:2948-2957:criteria.resolutionDate && market.resolutionDateshort-circuits when the market's date is missing — the market is not rejected and proceeds to the remaining checks.Python SDK
sdks/python/pmxt/client.py:2108-2119:if not val: continueexplicitly excludes the market from the results.Expected
Both languages should apply the same rule for markets missing a resolution date under a
resolutionDatefilter — either both should keep them (treat filter as inapplicable) or both should exclude them.Impact
Callers filtering markets by resolution-date range get silently different result sets in TypeScript vs. Python whenever some markets lack a resolution date (e.g. still-open/perpetual markets).
Found by automated SDK cross-language drift audit