handle_order_cancel_all
This commit is contained in:
@@ -62,6 +62,7 @@ def setup_logevent_triggers(runner):
|
||||
runner.add_event_trigger(handle_uniswap_swap, get_contract_event('IUniswapV3PoolEvents', 'Swap'))
|
||||
runner.add_event_trigger(handle_swap_filled, get_contract_event('OrderLib', 'DexorderSwapFilled'))
|
||||
runner.add_event_trigger(handle_order_canceled, get_contract_event('OrderLib', 'DexorderSwapCanceled'))
|
||||
runner.add_event_trigger(handle_order_cancel_all, get_contract_event('OrderLib', 'DexorderCancelAll'))
|
||||
runner.add_event_trigger(handle_transaction_receipts)
|
||||
runner.add_event_trigger(handle_dexorderexecutions, executions)
|
||||
runner.add_event_trigger(activate_time_triggers)
|
||||
@@ -148,6 +149,21 @@ async def handle_order_canceled(event: EventData):
|
||||
log.warning(f'DexorderCanceled IGNORED due to missing order {vault} {order_index}')
|
||||
|
||||
|
||||
async def handle_order_cancel_all(event: EventData):
|
||||
# event DexorderCancelAll (uint64 numSwapOrders);
|
||||
log.debug(f'DexorderCancelAll {event}')
|
||||
vault = event['address']
|
||||
cancelAllIndex = event['args']['cancelAllIndex']
|
||||
for orderIndex in Order.vault_open_orders[vault]:
|
||||
if orderIndex < cancelAllIndex:
|
||||
try:
|
||||
order: Order = Order.of(vault, orderIndex)
|
||||
order.complete(SwapOrderState.Canceled)
|
||||
log.debug(f'Canceled order {OrderKey(vault,orderIndex)}')
|
||||
except KeyError:
|
||||
log.warning(f'DexorderCanceled IGNORED due to missing order {vault} {orderIndex}')
|
||||
|
||||
|
||||
def balance_adjuster(vault, token_address, amount):
|
||||
async def _adjust(vaddr, taddr, amt, old_balances):
|
||||
result = dict(old_balances) # copy
|
||||
|
||||
Reference in New Issue
Block a user