(self, client: Client, message)
| 481 | return await self.watch_public(topics, messageHashes, params, True) |
| 482 | |
| 483 | def handle_ohlcv(self, client: Client, message): |
| 484 | # |
| 485 | # { |
| 486 | # data: { |
| 487 | # E: '1754519557526056', |
| 488 | # T: '2025-08-07T00:00:00', |
| 489 | # X: False, |
| 490 | # c: '3680.520000000', |
| 491 | # e: 'kline', |
| 492 | # h: '3681.370000000', |
| 493 | # l: '3667.650000000', |
| 494 | # n: 255, |
| 495 | # o: '3670.150000000', |
| 496 | # s: 'ETH_USDC', |
| 497 | # t: '2025-08-06T22:00:00', |
| 498 | # v: '62.2621000' |
| 499 | # }, |
| 500 | # stream: 'kline.2h.ETH_USDC' |
| 501 | # } |
| 502 | # |
| 503 | data = self.safe_dict(message, 'data', {}) |
| 504 | marketId = self.safe_string(data, 's') |
| 505 | market = self.market(marketId) |
| 506 | symbol = market['symbol'] |
| 507 | stream = self.safe_string(message, 'stream') |
| 508 | parts = stream.split('.') |
| 509 | timeframe = self.safe_string(parts, 1) |
| 510 | if not (symbol in self.ohlcvs): |
| 511 | self.ohlcvs[symbol] = {} |
| 512 | if not (timeframe in self.ohlcvs[symbol]): |
| 513 | limit = self.safe_integer(self.options, 'OHLCVLimit', 1000) |
| 514 | stored = ArrayCacheByTimestamp(limit) |
| 515 | self.ohlcvs[symbol][timeframe] = stored |
| 516 | ohlcv = self.ohlcvs[symbol][timeframe] |
| 517 | parsed = self.parse_ws_ohlcv(data) |
| 518 | ohlcv.append(parsed) |
| 519 | messageHash = 'candles:' + symbol + ':' + timeframe |
| 520 | client.resolve([symbol, timeframe, ohlcv], messageHash) |
| 521 | |
| 522 | def parse_ws_ohlcv(self, ohlcv, market=None) -> list: |
| 523 | # |
no test coverage detected