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

Method parse_order

python/ccxt/coinbaseexchange.py:1263–1333  ·  view source on GitHub ↗
(self, order: dict, market: Market = None)

Source from the content-addressed store, hash-verified

1261 return self.safe_string(statuses, status, status)
1262
1263 def parse_order(self, order: dict, market: Market = None) -> Order:
1264 #
1265 # createOrder
1266 #
1267 # {
1268 # "id": "d0c5340b-6d6c-49d9-b567-48c4bfca13d2",
1269 # "price": "0.10000000",
1270 # "size": "0.01000000",
1271 # "product_id": "BTC-USD",
1272 # "side": "buy",
1273 # "stp": "dc",
1274 # "type": "limit",
1275 # "time_in_force": "GTC",
1276 # "post_only": False,
1277 # "created_at": "2016-12-08T20:02:28.53864Z",
1278 # "fill_fees": "0.0000000000000000",
1279 # "filled_size": "0.00000000",
1280 # "executed_value": "0.0000000000000000",
1281 # "status": "pending",
1282 # "settled": False
1283 # }
1284 #
1285 timestamp = self.parse8601(self.safe_string(order, 'created_at'))
1286 marketId = self.safe_string(order, 'product_id')
1287 market = self.safe_market(marketId, market, '-')
1288 status = self.parse_order_status(self.safe_string(order, 'status'))
1289 doneReason = self.safe_string(order, 'done_reason')
1290 if (status == 'closed') and (doneReason == 'canceled'):
1291 status = 'canceled'
1292 price = self.safe_string(order, 'price')
1293 filled = self.safe_string(order, 'filled_size')
1294 amount = self.safe_string(order, 'size', filled)
1295 cost = self.safe_string(order, 'executed_value')
1296 feeCost = self.safe_number(order, 'fill_fees')
1297 fee = None
1298 if feeCost is not None:
1299 fee = {
1300 'cost': feeCost,
1301 'currency': market['quote'],
1302 'rate': None,
1303 }
1304 id = self.safe_string(order, 'id')
1305 type = self.safe_string(order, 'type')
1306 side = self.safe_string(order, 'side')
1307 timeInForce = self.safe_string(order, 'time_in_force')
1308 postOnly = self.safe_value(order, 'post_only')
1309 triggerPrice = self.safe_number(order, 'stop_price')
1310 clientOrderId = self.safe_string(order, 'client_oid')
1311 return self.safe_order({
1312 'id': id,
1313 'clientOrderId': clientOrderId,
1314 'info': order,
1315 'timestamp': timestamp,
1316 'datetime': self.iso8601(timestamp),
1317 'lastTradeTimestamp': None,
1318 'status': status,
1319 'symbol': market['symbol'],
1320 'type': type,

Callers 2

fetch_orderMethod · 0.95
create_orderMethod · 0.95

Calls 8

parse_order_statusMethod · 0.95
safe_stringMethod · 0.80
safe_numberMethod · 0.80
safe_valueMethod · 0.80
safe_orderMethod · 0.80
parse8601Method · 0.45
safe_marketMethod · 0.45
iso8601Method · 0.45

Tested by

no test coverage detected