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

Method parse_ws_trade

python/ccxt/pro/backpack.py:663–716  ·  view source on GitHub ↗
(self, trade, market: Market = None)

Source from the content-addressed store, hash-verified

661 client.resolve(cache, 'trades')
662
663 def parse_ws_trade(self, trade, market: Market = None):
664 #
665 # {
666 # E: '1754601477746429',
667 # T: '1754601477744000',
668 # a: '5121860761',
669 # b: '5121861755',
670 # e: 'trade',
671 # m: False,
672 # p: '3870.25',
673 # q: '0.0008',
674 # s: 'ETH_USDC_PERP',
675 # t: 10782547
676 # }
677 #
678 microseconds = self.safe_integer(trade, 'E')
679 timestamp = self.parse_to_int(microseconds / 1000)
680 id = self.safe_string(trade, 't')
681 marketId = self.safe_string(trade, 's')
682 market = self.safe_market(marketId, market)
683 isBuyerMaker = self.safe_bool(trade, 'm')
684 side = None
685 takerOrMaker = None
686 if isBuyerMaker is not None:
687 takerOrMaker = 'taker'
688 if isBuyerMaker:
689 side = 'sell'
690 else:
691 side = 'buy'
692 price = self.safe_string(trade, 'p')
693 amount = self.safe_string(trade, 'q')
694 orderId = None
695 if side == 'buy':
696 orderId = self.safe_string(trade, 'b')
697 else:
698 orderId = self.safe_string(trade, 'a')
699 return self.safe_trade({
700 'info': trade,
701 'id': id,
702 'timestamp': timestamp,
703 'datetime': self.iso8601(timestamp),
704 'symbol': market['symbol'],
705 'order': orderId,
706 'type': None,
707 'side': side,
708 'takerOrMaker': takerOrMaker,
709 'price': price,
710 'amount': amount,
711 'cost': None,
712 'fee': {
713 'currency': None,
714 'cost': None,
715 },
716 }, market)
717
718 async def watch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
719 """

Callers 1

handle_tradesMethod · 0.95

Calls 7

safe_integerMethod · 0.80
parse_to_intMethod · 0.80
safe_stringMethod · 0.80
safe_boolMethod · 0.80
safe_tradeMethod · 0.80
safe_marketMethod · 0.45
iso8601Method · 0.45

Tested by

no test coverage detected