kraken: handle `.spot.kraken` new-style FQMEs
After #520 we've moved to better supporting explicit venues for cex backends which is important where a provider offers both spot and derivatives markets (kraken, binance, kucoin) and we need to distinguish which is being traded given a common asset pair (eg. BTC/USDT). So, make this work for `kraken`'s brokerd such that requests and pre-existing live order are (un)packed to/from EMS messaging form.basic_buy_bot
parent
3fcf44aa52
commit
f7f76137ca
|
@ -136,10 +136,8 @@ async def handle_order_requests(
|
||||||
and deliver acks or errors.
|
and deliver acks or errors.
|
||||||
|
|
||||||
'''
|
'''
|
||||||
# XXX: UGH, let's unify this.. with ``msgspec``.
|
# XXX: UGH, let's unify this.. with ``msgspec``!!!
|
||||||
msg: dict[str, Any]
|
msg: dict | Order
|
||||||
order: BrokerdOrder
|
|
||||||
|
|
||||||
async for msg in ems_order_stream:
|
async for msg in ems_order_stream:
|
||||||
log.info(f'Rx order msg:\n{pformat(msg)}')
|
log.info(f'Rx order msg:\n{pformat(msg)}')
|
||||||
match msg:
|
match msg:
|
||||||
|
@ -227,7 +225,7 @@ async def handle_order_requests(
|
||||||
# XXX strip any .<venue> token which should
|
# XXX strip any .<venue> token which should
|
||||||
# ONLY ever be '.spot' rn, until we support
|
# ONLY ever be '.spot' rn, until we support
|
||||||
# futes.
|
# futes.
|
||||||
bs_fqme: str = order.symbol.rstrip('.spot')
|
bs_fqme: str = order.symbol.replace('.spot', '')
|
||||||
psym: str = bs_fqme.upper()
|
psym: str = bs_fqme.upper()
|
||||||
pair: str = f'{psym[:3]}/{psym[3:]}'
|
pair: str = f'{psym[:3]}/{psym[3:]}'
|
||||||
|
|
||||||
|
@ -891,7 +889,7 @@ async def handle_order_updates(
|
||||||
ids.inverse.get(reqid) is None
|
ids.inverse.get(reqid) is None
|
||||||
):
|
):
|
||||||
# parse out existing live order
|
# parse out existing live order
|
||||||
fqme = pair.replace('/', '').lower()
|
fqme = pair.replace('/', '').lower() + '.spot'
|
||||||
price = float(price)
|
price = float(price)
|
||||||
size = float(vol)
|
size = float(vol)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue