order cancels

This commit is contained in:
Tim Olson
2023-11-10 16:40:22 -04:00
parent 82be8d94e8
commit 04e2866977

View File

@@ -15,7 +15,7 @@ from dexorder.contract import get_contract_event, ERC20
from dexorder.data import pool_prices, vault_owners, vault_balances, new_pool_prices from dexorder.data import pool_prices, vault_owners, vault_balances, new_pool_prices
from dexorder.database.model.block import current_block from dexorder.database.model.block import current_block
from dexorder.database.model.transaction import TransactionJob from dexorder.database.model.transaction import TransactionJob
from dexorder.order.orderlib import SwapOrderStatus from dexorder.order.orderlib import SwapOrderStatus, SwapOrderState
from dexorder.order.orderstate import Order from dexorder.order.orderstate import Order
from dexorder.order.triggers import OrderTriggers, price_triggers, time_triggers, \ from dexorder.order.triggers import OrderTriggers, price_triggers, time_triggers, \
unconstrained_price_triggers, execution_requests, inflight_execution_requests, TrancheStatus, active_tranches, new_price_triggers, activate_order unconstrained_price_triggers, execution_requests, inflight_execution_requests, TrancheStatus, active_tranches, new_price_triggers, activate_order
@@ -61,8 +61,7 @@ def setup_logevent_triggers(runner):
runner.add_event_trigger(handle_transfer, get_contract_event('ERC20', 'Transfer')) runner.add_event_trigger(handle_transfer, get_contract_event('ERC20', 'Transfer'))
runner.add_event_trigger(handle_uniswap_swap, get_contract_event('IUniswapV3PoolEvents', 'Swap')) 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_swap_filled, get_contract_event('OrderLib', 'DexorderSwapFilled'))
runner.add_event_trigger(handle_order_completed, get_contract_event('OrderLib', 'DexorderSwapCompleted')) runner.add_event_trigger(handle_order_canceled, get_contract_event('OrderLib', 'DexorderSwapCanceled'))
runner.add_event_trigger(handle_order_error, get_contract_event('OrderLib', 'DexorderSwapError'))
runner.add_event_trigger(handle_transaction_receipts) runner.add_event_trigger(handle_transaction_receipts)
runner.add_event_trigger(handle_dexorderexecutions, executions) runner.add_event_trigger(handle_dexorderexecutions, executions)
runner.add_event_trigger(activate_time_triggers) runner.add_event_trigger(activate_time_triggers)
@@ -136,22 +135,17 @@ def handle_swap_filled(event: EventData):
except KeyError: except KeyError:
log.warning(f'No order triggers for fill of {TrancheKey(order.key.vault, order.key.order_index, tranche_index)}') log.warning(f'No order triggers for fill of {TrancheKey(order.key.vault, order.key.order_index, tranche_index)}')
async def handle_order_completed(event: EventData): async def handle_order_canceled(event: EventData):
# event DexorderCompleted (uint64 orderIndex); // todo remove? # event DexorderCanceled (uint64 orderIndex);
log.debug(f'DexorderCompleted {event}') log.debug(f'DexorderCanceled {event}')
vault = event['address'] vault = event['address']
order_index = event['args']['orderIndex'] order_index = event['args']['orderIndex']
try: try:
order: Order = Order.of(vault, order_index) order: Order = Order.of(vault, order_index)
order.complete(SwapOrderState.Canceled)
log.debug(f'Canceled order {OrderKey(vault,order_index)}')
except KeyError: except KeyError:
log.warning(f'DexorderCompleted IGNORED due to missing order {vault} {order_index}') log.warning(f'DexorderCanceled IGNORED due to missing order {vault} {order_index}')
status = await VaultContract(vault).swapOrderStatus(order_index)
log.debug(f'SwapOrderStatus #todo {status}')
# todo anything?
def handle_order_error(event: EventData):
# event DexorderError (uint64 orderIndex, string reason);
log.debug(f'DexorderError {event}')
def balance_adjuster(vault, token_address, amount): def balance_adjuster(vault, token_address, amount):