(trade, market = undefined)
| 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'; |
nothing calls this directly
no test coverage detected