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

Method parse_order

python/ccxt/bigone.py:1419–1487  ·  view source on GitHub ↗
(self, order: dict, market: Market = None)

Source from the content-addressed store, hash-verified

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,

Callers 3

create_orderMethod · 0.95
cancel_orderMethod · 0.95
fetch_orderMethod · 0.95

Calls 9

parse_typeMethod · 0.95
parse_order_statusMethod · 0.95
safe_stringMethod · 0.80
safe_symbolMethod · 0.80
string_eqMethod · 0.80
safe_boolMethod · 0.80
safe_orderMethod · 0.80
parse8601Method · 0.45
iso8601Method · 0.45

Tested by

no test coverage detected