(self, trade: dict, market: Market = None)
| 3295 | return self.parse_trades(response, market, since, limit) |
| 3296 | |
| 3297 | def parse_trade(self, trade: dict, market: Market = None) -> Trade: |
| 3298 | # |
| 3299 | # { |
| 3300 | # "closedPnl": "0.19343", |
| 3301 | # "coin": "ETH", |
| 3302 | # "crossed": True, |
| 3303 | # "dir": "Close Long", |
| 3304 | # "fee": "0.050062", |
| 3305 | # "hash": "0x09d77c96791e98b5775a04092584ab010d009445119c71e4005c0d634ea322bc", |
| 3306 | # "liquidationMarkPx": null, |
| 3307 | # "oid": 3929354691, |
| 3308 | # "px": "2381.1", |
| 3309 | # "side": "A", |
| 3310 | # "startPosition": "0.0841", |
| 3311 | # "sz": "0.0841", |
| 3312 | # "tid": 128423918764978, |
| 3313 | # "time": 1704262888911 |
| 3314 | # } |
| 3315 | # |
| 3316 | timestamp = self.safe_integer(trade, 'time') |
| 3317 | price = self.safe_string(trade, 'px') |
| 3318 | amount = self.safe_string(trade, 'sz') |
| 3319 | coin = self.safe_string(trade, 'coin') |
| 3320 | marketId = self.coin_to_market_id(coin) |
| 3321 | market = self.safe_market(marketId, None) |
| 3322 | symbol = market['symbol'] |
| 3323 | id = self.safe_string(trade, 'tid') |
| 3324 | side = self.safe_string(trade, 'side') |
| 3325 | if side is not None: |
| 3326 | side = 'sell' if (side == 'A') else 'buy' |
| 3327 | fee = self.safe_string(trade, 'fee') |
| 3328 | takerOrMaker = None |
| 3329 | crossed = self.safe_bool(trade, 'crossed') |
| 3330 | if crossed is not None: |
| 3331 | takerOrMaker = 'taker' if crossed else 'maker' |
| 3332 | builderFee = self.safe_string(trade, 'builderFee') |
| 3333 | if builderFee is not None: |
| 3334 | fee = Precise.string_add(fee, builderFee) |
| 3335 | return self.safe_trade({ |
| 3336 | 'info': trade, |
| 3337 | 'timestamp': timestamp, |
| 3338 | 'datetime': self.iso8601(timestamp), |
| 3339 | 'symbol': symbol, |
| 3340 | 'id': id, |
| 3341 | 'order': self.safe_string(trade, 'oid'), |
| 3342 | 'type': None, |
| 3343 | 'side': side, |
| 3344 | 'takerOrMaker': takerOrMaker, |
| 3345 | 'price': price, |
| 3346 | 'amount': amount, |
| 3347 | 'cost': None, |
| 3348 | 'fee': { |
| 3349 | 'cost': fee, |
| 3350 | 'currency': self.safe_string(trade, 'feeToken'), |
| 3351 | 'rate': None, |
| 3352 | }, |
| 3353 | }, market) |
| 3354 |
nothing calls this directly
no test coverage detected