From ec54c9953b8cce3f2c6dc5ef0339ae47974252f0 Mon Sep 17 00:00:00 2001 From: micky Date: Mon, 13 May 2024 18:15:36 +0200 Subject: [PATCH] fix cancel newly created orders button --- .../OrderStatusNotification.tsx | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx b/src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx index a99a9ef8f5..da1fab714c 100644 --- a/src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx +++ b/src/components/Synthetics/StatusNotification/OrderStatusNotification.tsx @@ -337,20 +337,20 @@ export function OrdersStatusNotificiation({ }); }, [matchedOrderStatuses, pendingOrders]); - const isMarketOrLimitOrderFailed = useMemo(() => { + const isMainOrderFailed = useMemo(() => { return pendingOrders.some((pendingOrder) => { if (isMarketOrderType(pendingOrder.orderType) || isLimitOrderType(pendingOrder.orderType)) { const orderStatus = findMatchedOrderStatus(matchedOrderStatuses, pendingOrder); - return pendingOrder.txnType !== "cancel" && orderStatus?.cancelledTxnHash !== undefined; + return pendingOrder.txnType === "create" && orderStatus?.cancelledTxnHash !== undefined; } return false; }); }, [matchedOrderStatuses, pendingOrders]); - const triggerOrderKeys = useMemo(() => { + const newlyCreatedTriggerOrderKeys = useMemo(() => { return pendingOrders.reduce((result, order) => { - if (isTriggerDecreaseOrderType(order.orderType)) { + if (isTriggerDecreaseOrderType(order.orderType) && order.txnType === "create") { const orderStatus = findMatchedOrderStatus(matchedOrderStatuses, order); if (orderStatus?.createdTxnHash && orderStatus?.key) { @@ -361,15 +361,18 @@ export function OrdersStatusNotificiation({ }, [] as string[]); }, [matchedOrderStatuses, pendingOrders]); - const subaccount = useSubaccount(null, triggerOrderKeys.length); - const cancelOrdersDetailsMessage = useSubaccountCancelOrdersDetailsMessage(undefined, triggerOrderKeys.length); + const subaccount = useSubaccount(null, newlyCreatedTriggerOrderKeys.length); + const cancelOrdersDetailsMessage = useSubaccountCancelOrdersDetailsMessage( + undefined, + newlyCreatedTriggerOrderKeys.length + ); function onCancelOrdersClick() { - if (!signer || !triggerOrderKeys.length || !setPendingTxns) return; + if (!signer || !newlyCreatedTriggerOrderKeys.length || !setPendingTxns) return; setIsCancelOrderProcessing(true); cancelOrdersTxn(chainId, signer, subaccount, { - orderKeys: triggerOrderKeys, + orderKeys: newlyCreatedTriggerOrderKeys, setPendingTxns, detailsMsg: cancelOrdersDetailsMessage, }).finally(() => setIsCancelOrderProcessing(false)); @@ -413,7 +416,7 @@ export function OrdersStatusNotificiation({ {pendingOrders.length > 1 && (
- {isMarketOrLimitOrderFailed && triggerOrderKeys.length > 0 && ( + {isMainOrderFailed && newlyCreatedTriggerOrderKeys.length > 0 && (