Problem
Three protocol mismatches break live price charts:
usePriceCandles expects { candles: [] }; API returns a raw array
- WebSocket sends
{ event: "subscribe_candles", ... }; gateway expects { action: "subscribe", poolId }
- Candle field names differ (
time vs timestamp)
Acceptance criteria
Files
apps/api/src/price/price.gateway.ts
apps/web/hooks/usePriceCandles.ts
Problem
Three protocol mismatches break live price charts:
usePriceCandlesexpects{ candles: [] }; API returns a raw array{ event: "subscribe_candles", ... }; gateway expects{ action: "subscribe", poolId }timevstimestamp)Acceptance criteria
PriceGatewayPriceControllerFiles
apps/api/src/price/price.gateway.tsapps/web/hooks/usePriceCandles.ts