trigger disable fix
This commit is contained in:
@@ -3,13 +3,12 @@ import logging
|
||||
from dataclasses import dataclass
|
||||
from typing import overload
|
||||
|
||||
from dexorder import DELETE, db, order_log, dec
|
||||
from dexorder import DELETE, db, order_log
|
||||
from dexorder.base.chain import current_chain
|
||||
from dexorder.base.order import OrderKey, TrancheKey
|
||||
from dexorder.base.orderlib import SwapOrderState, ElaboratedSwapOrderStatus, Fill
|
||||
from dexorder.blockstate import BlockDict, BlockSet
|
||||
from dexorder.database.model.orderindex import OrderIndex
|
||||
from dexorder.pools import get_pool, ensure_pool_price, pool_prices
|
||||
from dexorder.routing import pool_address
|
||||
from dexorder.util import json
|
||||
from dexorder.vault_blockdata import vault_owners
|
||||
@@ -200,6 +199,7 @@ class Order:
|
||||
status = self.status.copy()
|
||||
status.state = final_state
|
||||
if self.is_open:
|
||||
self._disable_triggers() # implemented in triggers.py which includes this file
|
||||
Order.open_orders.remove(self.key)
|
||||
Order.vault_open_orders.listremove(self.key.vault, self.key.order_index)
|
||||
try:
|
||||
@@ -226,6 +226,9 @@ class Order:
|
||||
Order.order_statuses.unload(self.key) # but then unload from memory after root promotion
|
||||
order_log.debug(f'order completed {status}')
|
||||
|
||||
def _disable_triggers(self): ...
|
||||
# implemented in triggers.py which includes this file
|
||||
|
||||
@staticmethod
|
||||
def pub_order_status(_s, k, v):
|
||||
log.debug(f'pub order status {_s} {k} {v}')
|
||||
|
||||
@@ -143,13 +143,18 @@ async def end_trigger_updates():
|
||||
|
||||
|
||||
def close_order_and_disable_triggers(order: Order, final_state: SwapOrderState):
|
||||
order.complete(final_state) # this will call _disable_triggers(order)
|
||||
|
||||
|
||||
def _disable_triggers(order):
|
||||
try:
|
||||
triggers = OrderTriggers.instances[order.key]
|
||||
except KeyError:
|
||||
pass
|
||||
else:
|
||||
triggers.disable()
|
||||
order.complete(final_state)
|
||||
|
||||
Order._disable_triggers = _disable_triggers
|
||||
|
||||
|
||||
def order_error(order: Order, message:str=None):
|
||||
|
||||
Reference in New Issue
Block a user