(self, client: Client, message)
| 628 | return await self.watch_public(topics, messageHashes, params, True) |
| 629 | |
| 630 | def handle_trades(self, client: Client, message): |
| 631 | # |
| 632 | # { |
| 633 | # data: { |
| 634 | # E: '1754601477746429', |
| 635 | # T: '1754601477744000', |
| 636 | # a: '5121860761', |
| 637 | # b: '5121861755', |
| 638 | # e: 'trade', |
| 639 | # m: False, |
| 640 | # p: '3870.25', |
| 641 | # q: '0.0008', |
| 642 | # s: 'ETH_USDC_PERP', |
| 643 | # t: 10782547 |
| 644 | # }, |
| 645 | # stream: 'trade.ETH_USDC_PERP' |
| 646 | # } |
| 647 | # |
| 648 | data = self.safe_dict(message, 'data', {}) |
| 649 | marketId = self.safe_string(data, 's') |
| 650 | market = self.market(marketId) |
| 651 | symbol = market['symbol'] |
| 652 | if not (symbol in self.trades): |
| 653 | limit = self.safe_integer(self.options, 'tradesLimit', 1000) |
| 654 | stored = ArrayCache(limit) |
| 655 | self.trades[symbol] = stored |
| 656 | cache = self.trades[symbol] |
| 657 | trade = self.parse_ws_trade(data, market) |
| 658 | cache.append(trade) |
| 659 | messageHash = 'trades:' + symbol |
| 660 | client.resolve(cache, messageHash) |
| 661 | client.resolve(cache, 'trades') |
| 662 | |
| 663 | def parse_ws_trade(self, trade, market: Market = None): |
| 664 | # |
no test coverage detected