MCPcopy Create free account
hub / github.com/ccxt/ccxt / handle_trades

Method handle_trades

python/ccxt/pro/backpack.py:630–661  ·  view source on GitHub ↗
(self, client: Client, message)

Source from the content-addressed store, hash-verified

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 #

Callers 1

handle_messageMethod · 0.95

Calls 8

parse_ws_tradeMethod · 0.95
ArrayCacheClass · 0.90
safe_dictMethod · 0.80
safe_stringMethod · 0.80
safe_integerMethod · 0.80
resolveMethod · 0.65
marketMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected