Really-amin commited on
Commit
5a02346
·
verified ·
1 Parent(s): f2040d9

market movers v4 complement fallback

Browse files
backend/routers/expanded_market_api.py CHANGED
@@ -219,6 +219,25 @@ async def fetch_market_movers(limit: int) -> tuple[List[dict], str]:
219
  logger.warning("CoinPaprika movers failed, trying Binance...")
220
  rows = await _fetch_markets_from_binance(limit)
221
  source = "binance"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
222
 
223
  if not rows:
224
  raise HTTPException(status_code=503, detail="All market mover providers unavailable")
 
219
  logger.warning("CoinPaprika movers failed, trying Binance...")
220
  rows = await _fetch_markets_from_binance(limit)
221
  source = "binance"
222
+ if not rows:
223
+ logger.warning("Binance movers failed, trying v4 complement Space...")
224
+ try:
225
+ from backend.services.v4_complement_client import get_market_gainers
226
+ v4 = await get_market_gainers(limit)
227
+ if v4.get("success"):
228
+ v4data = v4.get("data") or {}
229
+ for g in v4data.get("gainers") or []:
230
+ rows.append(_normalize_market_row({
231
+ "symbol": g.get("symbol"),
232
+ "name": g.get("name"),
233
+ "priceUsd": g.get("price"),
234
+ "changePercent24Hr": g.get("change_24h"),
235
+ "volumeUsd24Hr": g.get("volume_24h"),
236
+ }, "v4_complement"))
237
+ if rows:
238
+ source = "v4_complement"
239
+ except Exception as v4_err:
240
+ logger.warning("v4 complement movers failed: %s", v4_err)
241
 
242
  if not rows:
243
  raise HTTPException(status_code=503, detail="All market mover providers unavailable")