(self, order: dict, market: Market = None)
| 1417 | return self.safe_string(types, type, type) |
| 1418 | |
| 1419 | def parse_order(self, order: dict, market: Market = None) -> Order: |
| 1420 | # |
| 1421 | # { |
| 1422 | # "id": "42154072252", |
| 1423 | # "asset_pair_name": "SOL-USDT", |
| 1424 | # "price": "20", |
| 1425 | # "amount": "0.5", |
| 1426 | # "filled_amount": "0", |
| 1427 | # "avg_deal_price": "0", |
| 1428 | # "side": "ASK", |
| 1429 | # "state": "PENDING", |
| 1430 | # "created_at": "2023-09-13T03:42:00Z", |
| 1431 | # "updated_at": "2023-09-13T03:42:00Z", |
| 1432 | # "type": "LIMIT", |
| 1433 | # "stop_price": "0", |
| 1434 | # "immediate_or_cancel": False, |
| 1435 | # "post_only": False, |
| 1436 | # "client_order_id": '' |
| 1437 | # } |
| 1438 | # |
| 1439 | id = self.safe_string(order, 'id') |
| 1440 | marketId = self.safe_string(order, 'asset_pair_name') |
| 1441 | symbol = self.safe_symbol(marketId, market, '-') |
| 1442 | timestamp = self.parse8601(self.safe_string(order, 'created_at')) |
| 1443 | side = self.safe_string(order, 'side') |
| 1444 | if side == 'BID': |
| 1445 | side = 'buy' |
| 1446 | else: |
| 1447 | side = 'sell' |
| 1448 | triggerPrice = self.safe_string(order, 'stop_price') |
| 1449 | if Precise.string_eq(triggerPrice, '0'): |
| 1450 | triggerPrice = None |
| 1451 | immediateOrCancel = self.safe_bool(order, 'immediate_or_cancel') |
| 1452 | timeInForce = None |
| 1453 | if immediateOrCancel: |
| 1454 | timeInForce = 'IOC' |
| 1455 | type = self.parse_type(self.safe_string(order, 'type')) |
| 1456 | price = self.safe_string(order, 'price') |
| 1457 | amount = None |
| 1458 | filled = None |
| 1459 | cost = None |
| 1460 | if type == 'market' and side == 'buy': |
| 1461 | cost = self.safe_string(order, 'filled_amount') |
| 1462 | else: |
| 1463 | amount = self.safe_string(order, 'amount') |
| 1464 | filled = self.safe_string(order, 'filled_amount') |
| 1465 | return self.safe_order({ |
| 1466 | 'info': order, |
| 1467 | 'id': id, |
| 1468 | 'clientOrderId': self.safe_string(order, 'client_order_id'), |
| 1469 | 'timestamp': timestamp, |
| 1470 | 'datetime': self.iso8601(timestamp), |
| 1471 | 'lastTradeTimestamp': self.parse8601(self.safe_string(order, 'updated_at')), |
| 1472 | 'symbol': symbol, |
| 1473 | 'type': type, |
| 1474 | 'timeInForce': timeInForce, |
| 1475 | 'postOnly': self.safe_bool(order, 'post_only'), |
| 1476 | 'side': side, |
no test coverage detected