fix(oneshot): use endDate instead of endDateIso for market expiry check
The Gamma API returns two date fields: endDateIso = "2026-02-24" ← date only, no time endDate = "2026-02-24T06:35:00Z" ← correct close datetime _parseEndTs() was preferring endDateIso, which parsed to midnight UTC and was already in the past by the time any market opened during the day. Both current and next-slot markets were therefore rejected as "already expired". Fix: prioritise endDate (full ISO datetime) over endDateIso (date-only). Co-Authored-By: direkturcrypto <direkturcrypto.x@mail3.me>
This commit is contained in:
@@ -177,7 +177,10 @@ export class MarketFeedService {
|
||||
}
|
||||
|
||||
_parseEndTs(market) {
|
||||
const raw = market.endDateIso || market.end_date_iso || market.endDate;
|
||||
// endDate contains the full datetime (e.g. "2026-02-24T06:35:00Z").
|
||||
// endDateIso is date-only ("2026-02-24") and parses to midnight UTC —
|
||||
// which is already in the past by market-open time, so it must come last.
|
||||
const raw = market.endDate || market.end_date || market.endDateIso || market.end_date_iso;
|
||||
if (!raw) return null;
|
||||
const ts = new Date(raw).getTime();
|
||||
return Number.isFinite(ts) ? ts : null;
|
||||
|
||||
Reference in New Issue
Block a user