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

Method parseTrade

js/src/woo.js:738–813  ·  view source on GitHub ↗
(trade, market = undefined)

Source from the content-addressed store, hash-verified

736 return this.parseTrades(rows, market, since, limit);
737 }
738 parseTrade(trade, market = undefined) {
739 //
740 // public/market_trades
741 //
742 // {
743 // "symbol": "SPOT_BTC_USDT",
744 // "side": "SELL",
745 // "source": 0,
746 // "executedPrice": "108741.01",
747 // "executedQuantity": "0.02477",
748 // "executedTimestamp": 1751513940144
749 // }
750 //
751 // fetchOrderTrades, fetchOrder
752 //
753 // {
754 // "id": 1734947821,
755 // "symbol": "SPOT_LTC_USDT",
756 // "orderId": 60780383217,
757 // "executedPrice": 87.86,
758 // "executedQuantity": 0.1,
759 // "fee": 0.0001,
760 // "realizedPnl": null,
761 // "feeAsset": "LTC",
762 // "orderTag": "default",
763 // "side": "BUY",
764 // "executedTimestamp": "1752055173.630",
765 // "isMaker": 0
766 // }
767 //
768 const isFromFetchOrder = ('id' in trade);
769 const timestampString = this.safeString2(trade, 'executed_timestamp', 'executedTimestamp');
770 let timestamp = undefined;
771 if (timestampString !== undefined) {
772 if (timestampString.indexOf('.') > -1) {
773 timestamp = this.safeTimestamp2(trade, 'executed_timestamp', 'executedTimestamp');
774 }
775 else {
776 timestamp = this.safeInteger(trade, 'executedTimestamp');
777 }
778 }
779 const marketId = this.safeString(trade, 'symbol');
780 market = this.safeMarket(marketId, market);
781 const symbol = market['symbol'];
782 const price = this.safeString2(trade, 'executed_price', 'executedPrice');
783 const amount = this.safeString2(trade, 'executed_quantity', 'executedQuantity');
784 const order_id = this.safeString2(trade, 'order_id', 'orderId');
785 const fee = this.parseTokenAndFeeTemp(trade, ['fee_asset', 'feeAsset'], ['fee']);
786 const feeCost = this.safeString(fee, 'cost');
787 if ((fee !== undefined) && (feeCost !== undefined)) {
788 fee['cost'] = feeCost;
789 }
790 const cost = Precise.stringMul(price, amount);
791 const side = this.safeStringLower(trade, 'side');
792 const id = this.safeString(trade, 'id');
793 let takerOrMaker = undefined;
794 if (isFromFetchOrder) {
795 const isMaker = this.safeString2(trade, 'is_maker', 'isMaker') === '1';

Callers

nothing calls this directly

Calls 10

parseTokenAndFeeTempMethod · 0.95
safeString2Method · 0.45
safeTimestamp2Method · 0.45
safeIntegerMethod · 0.45
safeStringMethod · 0.45
safeMarketMethod · 0.45
stringMulMethod · 0.45
safeStringLowerMethod · 0.45
safeTradeMethod · 0.45
iso8601Method · 0.45

Tested by

no test coverage detected