From 0aef762d9ab2b6ab31d85bf39f3ef77c5dbd3888 Mon Sep 17 00:00:00 2001 From: Tyler Goodlet Date: Mon, 12 Sep 2022 13:24:23 -0400 Subject: [PATCH] Bleh `kraken`, fix another ref error in fill block Clearly, the linter didn't help us here.. but, just pass the `brokerd` time for now in the `.broker_time` field; we can't get it from the fill-case incremental updates in the `openOrders` sub. Add some notes about this and how we might approach for backends with this limitation. --- piker/brokers/kraken/broker.py | 2 +- piker/ui/order_mode.py | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/piker/brokers/kraken/broker.py b/piker/brokers/kraken/broker.py index ca32da7e..503833db 100644 --- a/piker/brokers/kraken/broker.py +++ b/piker/brokers/kraken/broker.py @@ -1024,7 +1024,7 @@ async def handle_order_updates( # TODO: maybe capture more msg data # i.e fees? broker_details={'name': 'kraken'} | order_msg, - broker_time=broker_time + broker_time=time.time(), ) await ems_stream.send(fill_msg) diff --git a/piker/ui/order_mode.py b/piker/ui/order_mode.py index ee484bf3..f83787ec 100644 --- a/piker/ui/order_mode.py +++ b/piker/ui/order_mode.py @@ -985,7 +985,19 @@ async def process_trade_msg( pointing='up' if action == 'buy' else 'down', # TODO: put the actual exchange timestamp - arrow_index=get_index(details['broker_time']), + arrow_index=get_index( + # TODO: note currently the ``kraken`` openOrders sub + # doesn't deliver their engine timestamp as part of + # it's schema, so this value is **not** from them + # (see our backend code). We should probably either + # include all provider-engine timestamps in the + # summary 'closed' status msg and/or figure out + # a way to indicate what is a `brokerd` stamp versus + # a true backend one? This will require finagling + # with how each backend tracks/summarizes time + # stamps for the downstream API. + details['broker_time'] + ), ) # TODO: how should we look this up?