line trigger fixes
This commit is contained in:
@@ -52,7 +52,7 @@ async def handle_order_placed(event: EventData):
|
||||
log.debug(f'raw order status {obj}')
|
||||
order = Order.create(addr, index, event['transactionHash'], obj)
|
||||
await activate_order(order)
|
||||
log.debug(f'new order {order} {order.order}')
|
||||
log.debug(f'new order{order}')
|
||||
|
||||
|
||||
def handle_swap_filled(event: EventData):
|
||||
|
||||
@@ -280,6 +280,8 @@ class Order:
|
||||
'of', db=True, redis=True, pub=pub_order_fills,
|
||||
str2key=OrderKey.str2key, value2str=lambda v: json.dumps(v.dump()), str2value=lambda s:OrderFilled.load(json.loads(s)))
|
||||
|
||||
def __str__(self):
|
||||
return str(self.order)
|
||||
|
||||
# "active" means the order wants to be executed now. this is not BlockData because it's cleared every block
|
||||
active_orders: dict[OrderKey,Order] = {}
|
||||
|
||||
@@ -153,6 +153,7 @@ class Trigger:
|
||||
self.position = position
|
||||
self.tk = tk
|
||||
self.value = value
|
||||
_dirty.add(self.tk)
|
||||
|
||||
@property
|
||||
def value(self):
|
||||
@@ -361,10 +362,11 @@ async def activate_orders():
|
||||
log.debug('activating orders')
|
||||
# this is a state init callback, called only once after the state has been loaded from the db or created fresh
|
||||
keys = list(Order.open_orders)
|
||||
orders = [Order.of(key) for key in keys]
|
||||
for order in orders:
|
||||
for key in keys:
|
||||
order = Order.of(key)
|
||||
# setup triggers
|
||||
await activate_order(order) # too many to really parallelize, and it's startup anyway
|
||||
# log.debug(f'activated {order}')
|
||||
log.debug(f'activated {len(keys)} orders')
|
||||
|
||||
|
||||
@@ -402,9 +404,11 @@ class TrancheTrigger:
|
||||
if tranche.marketOrder:
|
||||
min_trigger = max_trigger = None
|
||||
else:
|
||||
pool = await get_pool(order.pool_address)
|
||||
buy = pool['base'] == order.order.tokenOut
|
||||
min_trigger, max_trigger = await asyncio.gather(
|
||||
PriceLineTrigger.create(tk, tranche.minLine, True, tranche.minIsBarrier),
|
||||
PriceLineTrigger.create(tk, tranche.maxLine, True, tranche.maxIsBarrier))
|
||||
PriceLineTrigger.create(tk, tranche.minLine, True is buy, tranche.minIsBarrier),
|
||||
PriceLineTrigger.create(tk, tranche.maxLine, False is buy, tranche.maxIsBarrier))
|
||||
return TrancheTrigger(order, tk, balance_trigger, activation_trigger, expiration_trigger, min_trigger, max_trigger)
|
||||
|
||||
def __init__(self, order: Order, tk: TrancheKey,
|
||||
|
||||
Reference in New Issue
Block a user