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

Method parse_trade

python/ccxt/hyperliquid.py:3297–3353  ·  view source on GitHub ↗
(self, trade: dict, market: Market = None)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 8

coin_to_market_idMethod · 0.95
safe_integerMethod · 0.80
safe_stringMethod · 0.80
safe_boolMethod · 0.80
string_addMethod · 0.80
safe_tradeMethod · 0.80
safe_marketMethod · 0.45
iso8601Method · 0.45

Tested by

no test coverage detected