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

Method parse_trade

python/ccxt/async_support/woo.py:744–813  ·  view source on GitHub ↗
(self, trade: dict, market: Market = None)

Source from the content-addressed store, hash-verified

742 return self.parse_trades(rows, market, since, limit)
743
744 def parse_trade(self, trade: dict, market: Market = None) -> Trade:
745 #
746 # public/market_trades
747 #
748 # {
749 # "symbol": "SPOT_BTC_USDT",
750 # "side": "SELL",
751 # "source": 0,
752 # "executedPrice": "108741.01",
753 # "executedQuantity": "0.02477",
754 # "executedTimestamp": 1751513940144
755 # }
756 #
757 # fetchOrderTrades, fetchOrder
758 #
759 # {
760 # "id": 1734947821,
761 # "symbol": "SPOT_LTC_USDT",
762 # "orderId": 60780383217,
763 # "executedPrice": 87.86,
764 # "executedQuantity": 0.1,
765 # "fee": 0.0001,
766 # "realizedPnl": null,
767 # "feeAsset": "LTC",
768 # "orderTag": "default",
769 # "side": "BUY",
770 # "executedTimestamp": "1752055173.630",
771 # "isMaker": 0
772 # }
773 #
774 isFromFetchOrder = ('id' in trade)
775 timestampString = self.safe_string_2(trade, 'executed_timestamp', 'executedTimestamp')
776 timestamp = None
777 if timestampString is not None:
778 if timestampString.find('.') > -1:
779 timestamp = self.safe_timestamp_2(trade, 'executed_timestamp', 'executedTimestamp')
780 else:
781 timestamp = self.safe_integer(trade, 'executedTimestamp')
782 marketId = self.safe_string(trade, 'symbol')
783 market = self.safe_market(marketId, market)
784 symbol = market['symbol']
785 price = self.safe_string_2(trade, 'executed_price', 'executedPrice')
786 amount = self.safe_string_2(trade, 'executed_quantity', 'executedQuantity')
787 order_id = self.safe_string_2(trade, 'order_id', 'orderId')
788 fee = self.parse_token_and_fee_temp(trade, ['fee_asset', 'feeAsset'], ['fee'])
789 feeCost = self.safe_string(fee, 'cost')
790 if (fee is not None) and (feeCost is not None):
791 fee['cost'] = feeCost
792 cost = Precise.string_mul(price, amount)
793 side = self.safe_string_lower(trade, 'side')
794 id = self.safe_string(trade, 'id')
795 takerOrMaker = None
796 if isFromFetchOrder:
797 isMaker = self.safe_string_2(trade, 'is_maker', 'isMaker') == '1'
798 takerOrMaker = 'maker' if isMaker else 'taker'
799 return self.safe_trade({
800 'id': id,
801 'timestamp': timestamp,

Callers

nothing calls this directly

Calls 11

safe_string_2Method · 0.80
findMethod · 0.80
safe_timestamp_2Method · 0.80
safe_integerMethod · 0.80
safe_stringMethod · 0.80
string_mulMethod · 0.80
safe_string_lowerMethod · 0.80
safe_tradeMethod · 0.80
safe_marketMethod · 0.45
iso8601Method · 0.45

Tested by

no test coverage detected