order cancels
This commit is contained in:
@@ -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):
|
||||||
|
|||||||
Reference in New Issue
Block a user