Handle pre-existing open orders specifically by checking for null `oid`
parent
abb6854e74
commit
5b135fad61
|
@ -202,7 +202,10 @@ async def handle_order_requests(
|
|||
async def subscribe(
|
||||
ws: wsproto.WSConnection,
|
||||
token: str,
|
||||
subs: list[str] = ['ownTrades', 'openOrders'],
|
||||
subs: list[str] = [
|
||||
'ownTrades',
|
||||
'openOrders',
|
||||
],
|
||||
):
|
||||
'''
|
||||
Setup ws api subscriptions:
|
||||
|
@ -603,10 +606,13 @@ async def handle_order_updates(
|
|||
else:
|
||||
vlm = rest.get('vol_exec', 0)
|
||||
|
||||
reqid = reqids2txids.inverse[txid]
|
||||
|
||||
reqid = reqids2txids.inverse.get(txid)
|
||||
oid = ids.inverse.get(reqid)
|
||||
if not oid:
|
||||
|
||||
if (
|
||||
status == 'open'
|
||||
and oid is None # a non-ems-active order
|
||||
):
|
||||
# TODO: handle these and relay them
|
||||
# through the EMS to the client / UI
|
||||
# side!
|
||||
|
@ -621,13 +627,11 @@ async def handle_order_updates(
|
|||
await ws.send_msg({
|
||||
'event': 'cancelOrder',
|
||||
'token': token,
|
||||
'reqid': reqid,
|
||||
'reqid': reqid or 0,
|
||||
'txid': [txid],
|
||||
})
|
||||
continue
|
||||
|
||||
msgs = emsflow[oid]
|
||||
|
||||
# send BrokerdStatus messages for all
|
||||
# order state updates
|
||||
resp = BrokerdStatus(
|
||||
|
@ -655,7 +659,11 @@ async def handle_order_updates(
|
|||
{'name': 'kraken'}, **update_msg
|
||||
),
|
||||
)
|
||||
msgs.append(resp)
|
||||
|
||||
# TODO: use collections.ChainMap here
|
||||
# msgs = emsflow[oid]
|
||||
# msgs.append(resp)
|
||||
|
||||
await ems_stream.send(resp)
|
||||
|
||||
# fill event.
|
||||
|
|
Loading…
Reference in New Issue