From e50db212e459bef77405d71d568433b5cc75726b Mon Sep 17 00:00:00 2001 From: TzuHanLiang Date: Mon, 5 Jun 2023 12:56:08 +0800 Subject: [PATCH 1/2] feat: fixed #801 --- src/contexts/market_context.tsx | 4 ++-- src/contexts/user_context.tsx | 4 ++-- src/contexts/worker_context.tsx | 13 ++----------- src/pages/trade/cfd/[tickerId].tsx | 8 ++++---- 4 files changed, 10 insertions(+), 19 deletions(-) diff --git a/src/contexts/market_context.tsx b/src/contexts/market_context.tsx index cc0647286..fb2c60471 100644 --- a/src/contexts/market_context.tsx +++ b/src/contexts/market_context.tsx @@ -265,7 +265,6 @@ export const MarketProvider = ({children}: IMarketProvider) => { const ticker: ITickerData = availableTickersRef.current[tickerId]; if (!ticker) return {...defaultResultFailed}; setSelectedTicker(ticker); - notificationCtx.emitter.emit(TideBitEvent.TICKER_CHANGE, ticker); await listMarketTrades(ticker.instId); syncCandlestickData(); // ++ TODO: get from api @@ -278,6 +277,7 @@ export const MarketProvider = ({children}: IMarketProvider) => { if (isGetTickerLiveStatisticsSuccess) setTickerLiveStatistics(tickerLiveStatistics as ITickerLiveStatistics); await getGuaranteedStopFeePercentage(ticker.instId); + notificationCtx.emitter.emit(TideBitEvent.TICKER_CHANGE, ticker); return {...defaultResultSuccess}; }; @@ -570,8 +570,8 @@ export const MarketProvider = ({children}: IMarketProvider) => { const init = async () => { await getTideBitPromotion(); await getWebsiteReserve(); - await listTickers(); await listCurrencies(); + await listTickers(); setIsCFDTradable(true); return await Promise.resolve(); }; diff --git a/src/contexts/user_context.tsx b/src/contexts/user_context.tsx index fd754140d..afae3903f 100644 --- a/src/contexts/user_context.tsx +++ b/src/contexts/user_context.tsx @@ -1642,10 +1642,10 @@ export const UserProvider = ({children}: IUserProvider) => { ); React.useMemo( () => - notificationCtx.emitter.on(TideBitEvent.TICKER_CHANGE, (ticker: ITickerData) => { + notificationCtx.emitter.on(TideBitEvent.TICKER_CHANGE, async (ticker: ITickerData) => { if (!selectedTickerRef.current || ticker.instId !== selectedTickerRef.current?.instId) { setSelectedTicker(ticker); - listCFDs(ticker?.currency); + await listCFDs(ticker?.currency); } }), [] diff --git a/src/contexts/worker_context.tsx b/src/contexts/worker_context.tsx index db6781d2b..422b3d832 100644 --- a/src/contexts/worker_context.tsx +++ b/src/contexts/worker_context.tsx @@ -57,7 +57,7 @@ export const WorkerProvider = ({children}: IWorkerProvider) => { const [publicChannel, setPublicChannel, publicChannelRef] = useState(null); const jobQueueOfWS = useRef<((...args: []) => Promise)[]>([]); const jobQueueOfAPI = useRef<((...args: []) => Promise)[]>([]); - const [sockedId, setSocketId, sockedIdRef] = useState(null); + const [socketId, setSocketId, socketIdRef] = useState(null); /* Deprecated: callback in requestHandler (Tzuhan - 20230420) const requests = useRef({}); */ @@ -139,19 +139,10 @@ export const WorkerProvider = ({children}: IWorkerProvider) => { }, }, }); - // eslint-disable-next-line no-console - console.log('pusher', pusher); - setPuser(pusher); pusher.connection.bind('connected', function () { const socketId = pusher.connection.socket_id; - // Deprecated: [debug] (20230523 - tzuhan) - // eslint-disable-next-line no-console - console.log('pusher My socket ID is ' + socketId); - setSocketId(sockedId); + setSocketId(socketId); const channel = pusherRef.current?.subscribe(PusherChannel.GLOBAL_CHANNEL); - // Deprecated: [debug] (20230523 - tzuhan) - // eslint-disable-next-line no-console - console.log('channel ', channel); if (channel) { setPublicChannel(channel); subscribeTickers(); diff --git a/src/pages/trade/cfd/[tickerId].tsx b/src/pages/trade/cfd/[tickerId].tsx index 7f9036958..bf17d7c14 100644 --- a/src/pages/trade/cfd/[tickerId].tsx +++ b/src/pages/trade/cfd/[tickerId].tsx @@ -47,10 +47,10 @@ const Trading = (props: IPageProps) => { } }, []); - useEffect(() => { - if ((marketCtx?.selectedTickerRef?.current?.currency?.toString() ?? '') === currency) return; - redirectToTicker(); - }, [marketCtx.availableTickers]); + // useEffect(() => { + // if ((marketCtx?.selectedTickerRef?.current?.currency?.toString() ?? '') === currency) return; + // redirectToTicker(); + // }, [marketCtx.availableTickers]); if (!router.isFallback && !props.tickerId) { return ; From 0a12e1eb370913469480e7739682bc4dd535117d Mon Sep 17 00:00:00 2001 From: TzuHanLiang Date: Tue, 6 Jun 2023 12:14:40 +0800 Subject: [PATCH 2/2] chore: delete some comment --- src/contexts/user_context.tsx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/contexts/user_context.tsx b/src/contexts/user_context.tsx index afae3903f..3b6cf01f6 100644 --- a/src/contexts/user_context.tsx +++ b/src/contexts/user_context.tsx @@ -1169,7 +1169,7 @@ export const UserProvider = ({children}: IUserProvider) => { // const balance: IBalance | null = getBalance(openCFDs[index].targetAsset); const transferR = transactionEngine.transferCFDOrderToTransaction(applyCloseCFDOrder); if (!transferR.success) throw new CustomError(Code.FAILED_TO_CREATE_TRANSACTION); - // ++ TODO: send request to chain(use Lunar?) (20230324 - tzuhan) + // TODO: send request to chain(use Lunar?) (20230324 - tzuhan) const signature: string = await lunar.signTypedData(transferR.data); /* Info: (20230505 - Julian) 需要再驗證一次簽名是否正確 */ const success = lunar.verifyTypedData(transferR.data, signature); @@ -1282,7 +1282,7 @@ export const UserProvider = ({children}: IUserProvider) => { if (index === -1) throw new CustomError(Code.CFD_ORDER_NOT_FOUND); const transferR = transactionEngine.transferCFDOrderToTransaction(applyUpdateCFDOrder); if (!transferR.success) throw new CustomError(Code.FAILED_TO_CREATE_TRANSACTION); - // ++ TODO: send request to chain(use Lunar?) (20230324 - tzuhan) + // TODO: send request to chain(use Lunar?) (20230324 - tzuhan) const signature: string = await lunar.signTypedData(transferR.data); /* Info: (20230505 - Julian) 需要再驗證一次簽名是否正確 */ const success = lunar.verifyTypedData(transferR.data, signature); @@ -1407,8 +1407,6 @@ export const UserProvider = ({children}: IUserProvider) => { }; setWithdraws(prev => [...prev, withdrawOrder]); updateBalance(balanceSnapshot); - // setHistories(prev => [...prev, acceptedWithdrawOrder]); - result.code = Code.SUCCESS; result = { success: success,