2022-10-17 06:20:30 +00:00
|
|
|
from serde import Model, fields
|
2022-10-21 23:15:27 +00:00
|
|
|
|
2022-10-17 06:20:30 +00:00
|
|
|
# {
|
|
|
|
# "id": "92f0b26b-4c98-4553-9c74-cdafc7e037db",
|
|
|
|
# "clientOrderId": "ccxt_26adcbf445674f01af38a66a15e6f5b5",
|
|
|
|
# "timestamp": 1666096856515,
|
|
|
|
# "datetime": "2022-10-18T12:40:56.515477181Z",
|
|
|
|
# "lastTradeTimeStamp": null,
|
|
|
|
# "status": "open",
|
|
|
|
# "symbol": "BTC/USD",
|
|
|
|
# "type": "market",
|
|
|
|
# "timeInForce": "gtc",
|
|
|
|
# "postOnly": null,
|
|
|
|
# "side": "buy",
|
|
|
|
# "price": null,
|
|
|
|
# "stopPrice": null,
|
|
|
|
# "cost": null,
|
|
|
|
# "average": null,
|
|
|
|
# "amount": 1.1,
|
|
|
|
# "filled": 0.0,
|
|
|
|
# "remaining": 1.1,
|
|
|
|
# "trades": [],
|
|
|
|
# "fee": null,
|
|
|
|
# "info": {
|
|
|
|
# "id": "92f0b26b-4c98-4553-9c74-cdafc7e037db",
|
|
|
|
# "client_order_id": "ccxt_26adcbf445674f01af38a66a15e6f5b5",
|
|
|
|
# "created_at": "2022-10-18T12:40:56.516095561Z",
|
|
|
|
# "updated_at": "2022-10-18T12:40:56.516173841Z",
|
|
|
|
# "submitted_at": "2022-10-18T12:40:56.515477181Z",
|
|
|
|
# "filled_at": null,
|
|
|
|
# "expired_at": null,
|
|
|
|
# "canceled_at": null,
|
|
|
|
# "failed_at": null,
|
|
|
|
# "replaced_at": null,
|
|
|
|
# "replaced_by": null,
|
|
|
|
# "replaces": null,
|
|
|
|
# "asset_id": "276e2673-764b-4ab6-a611-caf665ca6340",
|
|
|
|
# "symbol": "BTC/USD",
|
|
|
|
# "asset_class": "crypto",
|
|
|
|
# "notional": null,
|
|
|
|
# "qty": "1.1",
|
|
|
|
# "filled_qty": "0",
|
|
|
|
# "filled_avg_price": null,
|
|
|
|
# "order_class": "",
|
|
|
|
# "order_type": "market",
|
|
|
|
# "type": "market",
|
|
|
|
# "side": "buy",
|
|
|
|
# "time_in_force": "gtc",
|
|
|
|
# "limit_price": null,
|
|
|
|
# "stop_price": null,
|
|
|
|
# "status": "pending_new",
|
|
|
|
# "extended_hours": false,
|
|
|
|
# "legs": null,
|
|
|
|
# "trail_percent": null,
|
|
|
|
# "trail_price": null,
|
|
|
|
# "hwm": null,
|
|
|
|
# "subtag": null,
|
|
|
|
# "source": null
|
|
|
|
# },
|
|
|
|
# "fees": [],
|
|
|
|
# "lastTradeTimestamp": null
|
|
|
|
# }
|
|
|
|
|
2022-10-21 23:15:27 +00:00
|
|
|
|
2022-10-17 06:20:30 +00:00
|
|
|
class CCXTInfo(Model):
|
|
|
|
id = fields.Uuid()
|
|
|
|
client_order_id = fields.Str()
|
|
|
|
created_at = fields.Str()
|
|
|
|
updated_at = fields.Str()
|
|
|
|
submitted_at = fields.Str()
|
|
|
|
filled_at = fields.Optional(fields.Str())
|
|
|
|
expired_at = fields.Optional(fields.Str())
|
|
|
|
canceled_at = fields.Optional(fields.Str())
|
|
|
|
failed_at = fields.Optional(fields.Str())
|
|
|
|
replaced_at = fields.Optional(fields.Str())
|
|
|
|
replaced_by = fields.Optional(fields.Str())
|
|
|
|
replaces = fields.Optional(fields.Str())
|
|
|
|
asset_id = fields.Uuid()
|
|
|
|
symbol = fields.Str()
|
|
|
|
asset_class = fields.Str()
|
|
|
|
notional = fields.Optional(fields.Str())
|
|
|
|
qty = fields.Str()
|
|
|
|
filled_qty = fields.Str()
|
|
|
|
filled_avg_price = fields.Optional(fields.Str())
|
|
|
|
order_class = fields.Str()
|
|
|
|
order_type = fields.Str()
|
|
|
|
type = fields.Str()
|
|
|
|
side = fields.Str()
|
|
|
|
time_in_force = fields.Str()
|
|
|
|
limit_price = fields.Optional(fields.Str())
|
|
|
|
stop_price = fields.Optional(fields.Str())
|
|
|
|
status = fields.Str()
|
|
|
|
extended_hours = fields.Bool()
|
|
|
|
legs = fields.Optional(fields.List(fields.Nested("CCXTInfo")))
|
|
|
|
trail_percent = fields.Optional(fields.Str())
|
|
|
|
trail_price = fields.Optional(fields.Str())
|
|
|
|
hwm = fields.Optional(fields.Str())
|
|
|
|
subtag = fields.Optional(fields.Str())
|
|
|
|
source = fields.Optional(fields.Str())
|
|
|
|
|
|
|
|
|
|
|
|
class CCXTRoot(Model):
|
|
|
|
id = fields.Uuid()
|
|
|
|
clientOrderId = fields.Str()
|
|
|
|
timestamp = fields.Int()
|
|
|
|
datetime = fields.Str()
|
|
|
|
lastTradeTimeStamp = fields.Optional(fields.Str())
|
|
|
|
status = fields.Str()
|
|
|
|
symbol = fields.Str()
|
|
|
|
type = fields.Str()
|
|
|
|
timeInForce = fields.Str()
|
|
|
|
postOnly = fields.Optional(fields.Str())
|
|
|
|
side = fields.Str()
|
|
|
|
price = fields.Optional(fields.Float())
|
|
|
|
stopPrice = fields.Optional(fields.Float())
|
|
|
|
cost = fields.Optional(fields.Float())
|
|
|
|
average = fields.Optional(fields.Float())
|
|
|
|
amount = fields.Float()
|
|
|
|
filled = fields.Float()
|
|
|
|
remaining = fields.Float()
|
|
|
|
trades = fields.Optional(fields.List(fields.Dict()))
|
|
|
|
fee = fields.Optional(fields.Float())
|
|
|
|
info = fields.Nested(CCXTInfo)
|
|
|
|
fees = fields.Optional(fields.List(fields.Dict()))
|
|
|
|
lastTradeTimestamp = fields.Optional(fields.Str())
|