@orderly.network/hooks 1.2.0 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/configProvider.d.ts +7 -1
- package/esm/configProvider.d.ts.map +1 -1
- package/esm/configProvider.js +44 -18
- package/esm/configProvider.js.map +1 -0
- package/esm/dataProvider.js +24 -19
- package/esm/dataProvider.js.map +1 -0
- package/esm/index.d.ts +1 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +4 -1
- package/esm/index.js.map +1 -0
- package/esm/middleware/signatureMiddleware.js +9 -8
- package/esm/middleware/signatureMiddleware.js.map +1 -0
- package/esm/orderly/orderbook.service.js +39 -28
- package/esm/orderly/orderbook.service.js.map +1 -0
- package/esm/orderly/orderlyHooks.d.ts +3 -0
- package/esm/orderly/orderlyHooks.d.ts.map +1 -1
- package/esm/orderly/orderlyHooks.js +2 -0
- package/esm/orderly/orderlyHooks.js.map +1 -0
- package/esm/orderly/useAccountInfo.js +3 -1
- package/esm/orderly/useAccountInfo.js.map +1 -0
- package/esm/orderly/useChain.js +16 -9
- package/esm/orderly/useChain.js.map +1 -0
- package/esm/orderly/useChains.d.ts +11 -12
- package/esm/orderly/useChains.d.ts.map +1 -1
- package/esm/orderly/useChains.js +68 -46
- package/esm/orderly/useChains.js.map +1 -0
- package/esm/orderly/useCollateral.d.ts +3 -4
- package/esm/orderly/useCollateral.d.ts.map +1 -1
- package/esm/orderly/useCollateral.js +53 -20
- package/esm/orderly/useCollateral.js.map +1 -0
- package/esm/orderly/useDeposit.js +123 -125
- package/esm/orderly/useDeposit.js.map +1 -0
- package/esm/orderly/useFundingRate.js +14 -13
- package/esm/orderly/useFundingRate.js.map +1 -0
- package/esm/orderly/useFundingRates.js +6 -4
- package/esm/orderly/useFundingRates.js.map +1 -0
- package/esm/orderly/useHoldingStream.js +19 -15
- package/esm/orderly/useHoldingStream.js.map +1 -0
- package/esm/orderly/useIndexPrice.js +7 -5
- package/esm/orderly/useIndexPrice.js.map +1 -0
- package/esm/orderly/useLeverage.js +9 -12
- package/esm/orderly/useLeverage.js.map +1 -0
- package/esm/orderly/useMarginRatio.js +27 -13
- package/esm/orderly/useMarginRatio.js.map +1 -0
- package/esm/orderly/useMarkPrice.js +13 -7
- package/esm/orderly/useMarkPrice.js.map +1 -0
- package/esm/orderly/useMarkPricesStream.d.ts +1 -1
- package/esm/orderly/useMarkPricesStream.d.ts.map +1 -1
- package/esm/orderly/useMarkPricesStream.js +9 -8
- package/esm/orderly/useMarkPricesStream.js.map +1 -0
- package/esm/orderly/useMarketTradeStream.js +33 -18
- package/esm/orderly/useMarketTradeStream.js.map +1 -0
- package/esm/orderly/useMarkets.js +144 -81
- package/esm/orderly/useMarkets.js.map +1 -0
- package/esm/orderly/useMarketsStream.js +23 -28
- package/esm/orderly/useMarketsStream.js.map +1 -0
- package/esm/orderly/useMaxQty.d.ts +6 -0
- package/esm/orderly/useMaxQty.d.ts.map +1 -1
- package/esm/orderly/useMaxQty.js +26 -18
- package/esm/orderly/useMaxQty.js.map +1 -0
- package/esm/orderly/useOpenInterest.js +7 -5
- package/esm/orderly/useOpenInterest.js.map +1 -0
- package/esm/orderly/useOrderEntry.js +182 -160
- package/esm/orderly/useOrderEntry.js.map +1 -0
- package/esm/orderly/useOrderStream.js +85 -66
- package/esm/orderly/useOrderStream.js.map +1 -0
- package/esm/orderly/useOrderbookStream.d.ts +2 -3
- package/esm/orderly/useOrderbookStream.d.ts.map +1 -1
- package/esm/orderly/useOrderbookStream.js +173 -103
- package/esm/orderly/useOrderbookStream.js.map +1 -0
- package/esm/orderly/usePositionStream.js +82 -62
- package/esm/orderly/usePositionStream.js.map +1 -0
- package/esm/orderly/usePrivateDataObserver.js +55 -48
- package/esm/orderly/usePrivateDataObserver.js.map +1 -0
- package/esm/orderly/useSettleSubscription.js +8 -6
- package/esm/orderly/useSettleSubscription.js.map +1 -0
- package/esm/orderly/useSymbolPriceRange.js +14 -8
- package/esm/orderly/useSymbolPriceRange.js.map +1 -0
- package/esm/orderly/useSymbolsInfo.js +7 -5
- package/esm/orderly/useSymbolsInfo.js.map +1 -0
- package/esm/orderly/useTickerStream.d.ts +5 -1
- package/esm/orderly/useTickerStream.d.ts.map +1 -1
- package/esm/orderly/useTickerStream.js +26 -29
- package/esm/orderly/useTickerStream.js.map +1 -0
- package/esm/orderly/useWalletSubscription.js +8 -6
- package/esm/orderly/useWalletSubscription.js.map +1 -0
- package/esm/orderly/useWithdraw.js +19 -11
- package/esm/orderly/useWithdraw.js.map +1 -0
- package/esm/orderlyContext.d.ts +8 -1
- package/esm/orderlyContext.d.ts.map +1 -1
- package/esm/orderlyContext.js +2 -1
- package/esm/orderlyContext.js.map +1 -0
- package/esm/services/dataCenter.js +10 -8
- package/esm/services/dataCenter.js.map +1 -0
- package/esm/services/painter/backgroundPaint.js +11 -14
- package/esm/services/painter/backgroundPaint.js.map +1 -0
- package/esm/services/painter/basePaint.js +5 -1
- package/esm/services/painter/basePaint.js.map +1 -0
- package/esm/services/painter/dataPaint.js +53 -50
- package/esm/services/painter/dataPaint.js.map +1 -0
- package/esm/services/painter/layout.config.js +15 -13
- package/esm/services/painter/layout.config.js.map +1 -0
- package/esm/services/painter/painter.js +14 -13
- package/esm/services/painter/painter.js.map +1 -0
- package/esm/services/painter/resource.js +6 -4
- package/esm/services/painter/resource.js.map +1 -0
- package/esm/statusProvider.js +10 -3
- package/esm/statusProvider.js.map +1 -0
- package/esm/unuse/apiPrefixMiddleware.js +18 -16
- package/esm/unuse/apiPrefixMiddleware.js.map +1 -0
- package/esm/unuse/fn.js +3 -1
- package/esm/unuse/fn.js.map +1 -0
- package/esm/unuse/useBalance.js +6 -4
- package/esm/unuse/useBalance.js.map +1 -0
- package/esm/unuse/useFetures.js +26 -18
- package/esm/unuse/useFetures.js.map +1 -0
- package/esm/unuse/useRunOnce.js +10 -7
- package/esm/unuse/useRunOnce.js.map +1 -0
- package/esm/unuse/useSyncEnd.js +5 -4
- package/esm/unuse/useSyncEnd.js.map +1 -0
- package/esm/unuse/useTokenInfo.js +7 -5
- package/esm/unuse/useTokenInfo.js.map +1 -0
- package/esm/unuse/useUnsettlementPnL.js +7 -3
- package/esm/unuse/useUnsettlementPnL.js.map +1 -0
- package/esm/useAccount.js +18 -21
- package/esm/useAccount.js.map +1 -0
- package/esm/useAccountInstance.js +6 -7
- package/esm/useAccountInstance.js.map +1 -0
- package/esm/useBoolean.js +14 -5
- package/esm/useBoolean.js.map +1 -0
- package/esm/useConfig.js +3 -1
- package/esm/useConfig.js.map +1 -0
- package/esm/useEventEmitter.js +4 -2
- package/esm/useEventEmitter.js.map +1 -0
- package/esm/useLazyQuery.js +6 -7
- package/esm/useLazyQuery.js.map +1 -0
- package/esm/useLocalStorage.js +30 -20
- package/esm/useLocalStorage.js.map +1 -0
- package/esm/useMediaQuery.js +11 -9
- package/esm/useMediaQuery.js.map +1 -0
- package/esm/useMutation.js +26 -37
- package/esm/useMutation.js.map +1 -0
- package/esm/useObserve.js +4 -4
- package/esm/useObserve.js.map +1 -0
- package/esm/useParamsCheck.js +8 -10
- package/esm/useParamsCheck.js.map +1 -0
- package/esm/usePoster.js +56 -45
- package/esm/usePoster.js.map +1 -0
- package/esm/usePreloadData.js +9 -5
- package/esm/usePreloadData.js.map +1 -0
- package/esm/usePrivateInfiniteQuery.js +15 -9
- package/esm/usePrivateInfiniteQuery.js.map +1 -0
- package/esm/usePrivateQuery.js +15 -8
- package/esm/usePrivateQuery.js.map +1 -0
- package/esm/useQuery.js +6 -5
- package/esm/useQuery.js.map +1 -0
- package/esm/useSessionStorage.js +28 -19
- package/esm/useSessionStorage.js.map +1 -0
- package/esm/useWS.js +15 -13
- package/esm/useWS.js.map +1 -0
- package/esm/useWsStatus.js +12 -12
- package/esm/useWsStatus.js.map +1 -0
- package/esm/utils/createGetter.js +8 -8
- package/esm/utils/createGetter.js.map +1 -0
- package/esm/utils/createOrder.d.ts +1 -0
- package/esm/utils/createOrder.d.ts.map +1 -1
- package/esm/utils/createOrder.js +59 -43
- package/esm/utils/createOrder.js.map +1 -0
- package/esm/utils/dev.js +6 -4
- package/esm/utils/dev.js.map +1 -0
- package/esm/utils/fetcher.js +3 -1
- package/esm/utils/fetcher.js.map +1 -0
- package/esm/utils/json.js +3 -2
- package/esm/utils/json.js.map +1 -0
- package/esm/utils/orderEntryHelper.js +92 -63
- package/esm/utils/orderEntryHelper.js.map +1 -0
- package/esm/utils/parseHolding.js +10 -6
- package/esm/utils/parseHolding.js.map +1 -0
- package/esm/utils/swr.js +114 -104
- package/esm/utils/swr.js.map +1 -0
- package/esm/version.d.ts +1 -1
- package/esm/version.js +4 -3
- package/esm/version.js.map +1 -0
- package/esm/walletConnectorContext.js +4 -2
- package/esm/walletConnectorContext.js.map +1 -0
- package/lib/configProvider.d.ts +7 -1
- package/lib/configProvider.d.ts.map +1 -1
- package/lib/configProvider.js +108 -56
- package/lib/configProvider.js.map +1 -0
- package/lib/dataProvider.js +50 -29
- package/lib/dataProvider.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +191 -88
- package/lib/index.js.map +1 -0
- package/lib/middleware/signatureMiddleware.js +22 -15
- package/lib/middleware/signatureMiddleware.js.map +1 -0
- package/lib/orderly/orderbook.service.js +59 -33
- package/lib/orderly/orderbook.service.js.map +1 -0
- package/lib/orderly/orderlyHooks.d.ts +3 -0
- package/lib/orderly/orderlyHooks.d.ts.map +1 -1
- package/lib/orderly/orderlyHooks.js +124 -57
- package/lib/orderly/orderlyHooks.js.map +1 -0
- package/lib/orderly/useAccountInfo.js +14 -6
- package/lib/orderly/useAccountInfo.js.map +1 -0
- package/lib/orderly/useChain.js +30 -17
- package/lib/orderly/useChain.js.map +1 -0
- package/lib/orderly/useChains.d.ts +11 -12
- package/lib/orderly/useChains.d.ts.map +1 -1
- package/lib/orderly/useChains.js +100 -59
- package/lib/orderly/useChains.js.map +1 -0
- package/lib/orderly/useCollateral.d.ts +3 -4
- package/lib/orderly/useCollateral.d.ts.map +1 -1
- package/lib/orderly/useCollateral.js +81 -42
- package/lib/orderly/useCollateral.js.map +1 -0
- package/lib/orderly/useDeposit.js +154 -150
- package/lib/orderly/useDeposit.js.map +1 -0
- package/lib/orderly/useFundingRate.js +29 -22
- package/lib/orderly/useFundingRate.js.map +1 -0
- package/lib/orderly/useFundingRates.js +19 -11
- package/lib/orderly/useFundingRates.js.map +1 -0
- package/lib/orderly/useHoldingStream.js +39 -27
- package/lib/orderly/useHoldingStream.js.map +1 -0
- package/lib/orderly/useIndexPrice.js +24 -14
- package/lib/orderly/useIndexPrice.js.map +1 -0
- package/lib/orderly/useLeverage.js +27 -24
- package/lib/orderly/useLeverage.js.map +1 -0
- package/lib/orderly/useMarginRatio.js +49 -29
- package/lib/orderly/useMarginRatio.js.map +1 -0
- package/lib/orderly/useMarkPrice.js +26 -15
- package/lib/orderly/useMarkPrice.js.map +1 -0
- package/lib/orderly/useMarkPricesStream.d.ts +1 -1
- package/lib/orderly/useMarkPricesStream.d.ts.map +1 -1
- package/lib/orderly/useMarkPricesStream.js +26 -17
- package/lib/orderly/useMarkPricesStream.js.map +1 -0
- package/lib/orderly/useMarketTradeStream.js +47 -26
- package/lib/orderly/useMarketTradeStream.js.map +1 -0
- package/lib/orderly/useMarkets.js +172 -95
- package/lib/orderly/useMarkets.js.map +1 -0
- package/lib/orderly/useMarketsStream.js +44 -41
- package/lib/orderly/useMarketsStream.js.map +1 -0
- package/lib/orderly/useMaxQty.d.ts +6 -0
- package/lib/orderly/useMaxQty.d.ts.map +1 -1
- package/lib/orderly/useMaxQty.js +52 -43
- package/lib/orderly/useMaxQty.js.map +1 -0
- package/lib/orderly/useOpenInterest.js +24 -14
- package/lib/orderly/useOpenInterest.js.map +1 -0
- package/lib/orderly/useOrderEntry.js +238 -210
- package/lib/orderly/useOrderEntry.js.map +1 -0
- package/lib/orderly/useOrderStream.js +111 -84
- package/lib/orderly/useOrderStream.js.map +1 -0
- package/lib/orderly/useOrderbookStream.d.ts +2 -3
- package/lib/orderly/useOrderbookStream.d.ts.map +1 -1
- package/lib/orderly/useOrderbookStream.js +227 -148
- package/lib/orderly/useOrderbookStream.js.map +1 -0
- package/lib/orderly/usePositionStream.js +134 -100
- package/lib/orderly/usePositionStream.js.map +1 -0
- package/lib/orderly/usePrivateDataObserver.js +76 -63
- package/lib/orderly/usePrivateDataObserver.js.map +1 -0
- package/lib/orderly/useSettleSubscription.js +25 -15
- package/lib/orderly/useSettleSubscription.js.map +1 -0
- package/lib/orderly/useSymbolPriceRange.js +29 -23
- package/lib/orderly/useSymbolPriceRange.js.map +1 -0
- package/lib/orderly/useSymbolsInfo.js +23 -15
- package/lib/orderly/useSymbolsInfo.js.map +1 -0
- package/lib/orderly/useTickerStream.d.ts +5 -1
- package/lib/orderly/useTickerStream.d.ts.map +1 -1
- package/lib/orderly/useTickerStream.js +51 -48
- package/lib/orderly/useTickerStream.js.map +1 -0
- package/lib/orderly/useWalletSubscription.js +25 -15
- package/lib/orderly/useWalletSubscription.js.map +1 -0
- package/lib/orderly/useWithdraw.js +36 -22
- package/lib/orderly/useWithdraw.js.map +1 -0
- package/lib/orderlyContext.d.ts +8 -1
- package/lib/orderlyContext.d.ts.map +1 -1
- package/lib/orderlyContext.js +22 -6
- package/lib/orderlyContext.js.map +1 -0
- package/lib/services/dataCenter.js +15 -11
- package/lib/services/dataCenter.js.map +1 -0
- package/lib/services/painter/backgroundPaint.js +21 -18
- package/lib/services/painter/backgroundPaint.js.map +1 -0
- package/lib/services/painter/basePaint.js +14 -4
- package/lib/services/painter/basePaint.js.map +1 -0
- package/lib/services/painter/dataPaint.js +67 -58
- package/lib/services/painter/dataPaint.js.map +1 -0
- package/lib/services/painter/layout.config.js +25 -16
- package/lib/services/painter/layout.config.js.map +1 -0
- package/lib/services/painter/painter.js +27 -20
- package/lib/services/painter/painter.js.map +1 -0
- package/lib/services/painter/resource.js +15 -7
- package/lib/services/painter/resource.js.map +1 -0
- package/lib/statusProvider.js +31 -10
- package/lib/statusProvider.js.map +1 -0
- package/lib/unuse/apiPrefixMiddleware.js +30 -22
- package/lib/unuse/apiPrefixMiddleware.js.map +1 -0
- package/lib/unuse/fn.js +14 -5
- package/lib/unuse/fn.js.map +1 -0
- package/lib/unuse/useBalance.js +23 -13
- package/lib/unuse/useBalance.js.map +1 -0
- package/lib/unuse/useFetures.js +41 -28
- package/lib/unuse/useFetures.js.map +1 -0
- package/lib/unuse/useRunOnce.js +61 -11
- package/lib/unuse/useRunOnce.js.map +1 -0
- package/lib/unuse/useSyncEnd.js +17 -10
- package/lib/unuse/useSyncEnd.js.map +1 -0
- package/lib/unuse/useTokenInfo.js +20 -12
- package/lib/unuse/useTokenInfo.js.map +1 -0
- package/lib/unuse/useUnsettlementPnL.js +21 -11
- package/lib/unuse/useUnsettlementPnL.js.map +1 -0
- package/lib/useAccount.js +32 -29
- package/lib/useAccount.js.map +1 -0
- package/lib/useAccountInstance.js +27 -20
- package/lib/useAccountInstance.js.map +1 -0
- package/lib/useBoolean.js +25 -10
- package/lib/useBoolean.js.map +1 -0
- package/lib/useConfig.js +15 -7
- package/lib/useConfig.js.map +1 -0
- package/lib/useEventEmitter.js +23 -13
- package/lib/useEventEmitter.js.map +1 -0
- package/lib/useLazyQuery.js +25 -23
- package/lib/useLazyQuery.js.map +1 -0
- package/lib/useLocalStorage.js +44 -28
- package/lib/useLocalStorage.js.map +1 -0
- package/lib/useMediaQuery.js +22 -14
- package/lib/useMediaQuery.js.map +1 -0
- package/lib/useMutation.js +47 -52
- package/lib/useMutation.js.map +1 -0
- package/lib/useObserve.js +22 -8
- package/lib/useObserve.js.map +1 -0
- package/lib/useParamsCheck.js +18 -14
- package/lib/useParamsCheck.js.map +1 -0
- package/lib/usePoster.js +80 -74
- package/lib/usePoster.js.map +1 -0
- package/lib/usePreloadData.js +21 -11
- package/lib/usePreloadData.js.map +1 -0
- package/lib/usePrivateInfiniteQuery.js +36 -22
- package/lib/usePrivateInfiniteQuery.js.map +1 -0
- package/lib/usePrivateQuery.js +35 -25
- package/lib/usePrivateQuery.js.map +1 -0
- package/lib/useQuery.js +24 -20
- package/lib/useQuery.js.map +1 -0
- package/lib/useSessionStorage.js +41 -26
- package/lib/useSessionStorage.js.map +1 -0
- package/lib/useWS.js +42 -32
- package/lib/useWS.js.map +1 -0
- package/lib/useWsStatus.js +34 -20
- package/lib/useWsStatus.js.map +1 -0
- package/lib/utils/createGetter.js +19 -14
- package/lib/utils/createGetter.js.map +1 -0
- package/lib/utils/createOrder.d.ts +1 -0
- package/lib/utils/createOrder.d.ts.map +1 -1
- package/lib/utils/createOrder.js +133 -82
- package/lib/utils/createOrder.js.map +1 -0
- package/lib/utils/dev.js +13 -9
- package/lib/utils/dev.js.map +1 -0
- package/lib/utils/fetcher.js +13 -5
- package/lib/utils/fetcher.js.map +1 -0
- package/lib/utils/json.js +12 -5
- package/lib/utils/json.js.map +1 -0
- package/lib/utils/orderEntryHelper.js +125 -82
- package/lib/utils/orderEntryHelper.js.map +1 -0
- package/lib/utils/parseHolding.js +19 -9
- package/lib/utils/parseHolding.js.map +1 -0
- package/lib/utils/swr.js +134 -111
- package/lib/utils/swr.js.map +1 -0
- package/lib/version.d.ts +1 -1
- package/lib/version.js +13 -4
- package/lib/version.js.map +1 -0
- package/lib/walletConnectorContext.js +23 -7
- package/lib/walletConnectorContext.js.map +1 -0
- package/package.json +17 -9
|
@@ -3,19 +3,18 @@ import { useMutation } from "../useMutation";
|
|
|
3
3
|
import { usePrivateQuery } from "../usePrivateQuery";
|
|
4
4
|
import { prop } from "ramda";
|
|
5
5
|
import { useQuery } from "../useQuery";
|
|
6
|
-
export const useLeverage = ()
|
|
6
|
+
export const useLeverage = ()=>{
|
|
7
7
|
const { data, mutate } = usePrivateQuery("/v1/client/info");
|
|
8
8
|
const [update, { isMutating }] = useMutation("/v1/client/leverage");
|
|
9
9
|
const { data: config } = useQuery("/v1/public/config");
|
|
10
|
-
const updateLeverage = useCallback((data)
|
|
11
|
-
return update(data).then((res)
|
|
10
|
+
const updateLeverage = useCallback((data)=>{
|
|
11
|
+
return update(data).then((res)=>{
|
|
12
12
|
if (res.success) {
|
|
13
13
|
return mutate();
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
14
|
+
} else {
|
|
16
15
|
throw new Error(res.message);
|
|
17
16
|
}
|
|
18
|
-
|
|
17
|
+
// return res
|
|
19
18
|
});
|
|
20
19
|
}, []);
|
|
21
20
|
return [
|
|
@@ -24,11 +23,9 @@ export const useLeverage = () => {
|
|
|
24
23
|
update: updateLeverage,
|
|
25
24
|
isMutating,
|
|
26
25
|
// config: [1, 2, 3, 4, 5, 10, 15, 20],
|
|
27
|
-
config: config
|
|
28
|
-
|
|
29
|
-
?.split(",")
|
|
30
|
-
.map((item) => parseInt(item))
|
|
31
|
-
: [],
|
|
32
|
-
},
|
|
26
|
+
config: config ? config?.available_futures_leverage?.split(",").map((item)=>parseInt(item)) : []
|
|
27
|
+
}
|
|
33
28
|
];
|
|
34
29
|
};
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=useLeverage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/orderly/useLeverage.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useMutation } from \"../useMutation\";\nimport { usePrivateQuery } from \"../usePrivateQuery\";\nimport { prop } from \"ramda\";\nimport { useQuery } from \"../useQuery\";\n\nexport const useLeverage = (): any => {\n const { data, mutate } = usePrivateQuery(\"/v1/client/info\");\n const [update, { isMutating }] = useMutation(\"/v1/client/leverage\");\n\n const { data: config } = useQuery(\"/v1/public/config\");\n\n const updateLeverage = useCallback((data: { leverage: number }) => {\n return update(data).then((res: any) => {\n if (res.success) {\n return mutate();\n } else {\n throw new Error(res.message);\n }\n // return res\n });\n }, []);\n\n return [\n prop(\"max_leverage\", data as any),\n {\n update: updateLeverage,\n isMutating,\n // config: [1, 2, 3, 4, 5, 10, 15, 20],\n config: config\n ? (config as any)?.available_futures_leverage\n ?.split(\",\")\n .map((item: string) => parseInt(item))\n : [],\n },\n ];\n};\n"],"names":["useCallback","useMutation","usePrivateQuery","prop","useQuery","useLeverage","data","mutate","update","isMutating","config","updateLeverage","then","res","success","Error","message","available_futures_leverage","split","map","item","parseInt"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,WAAW,QAAQ,QAAQ;AACpC,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,IAAI,QAAQ,QAAQ;AAC7B,SAASC,QAAQ,QAAQ,cAAc;AAEvC,OAAO,MAAMC,cAAc;IACzB,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAE,GAAGL,gBAAgB;IACzC,MAAM,CAACM,QAAQ,EAAEC,UAAU,EAAE,CAAC,GAAGR,YAAY;IAE7C,MAAM,EAAEK,MAAMI,MAAM,EAAE,GAAGN,SAAS;IAElC,MAAMO,iBAAiBX,YAAY,CAACM;QAClC,OAAOE,OAAOF,MAAMM,IAAI,CAAC,CAACC;YACxB,IAAIA,IAAIC,OAAO,EAAE;gBACf,OAAOP;YACT,OAAO;gBACL,MAAM,IAAIQ,MAAMF,IAAIG,OAAO;YAC7B;QACA,aAAa;QACf;IACF,GAAG,EAAE;IAEL,OAAO;QACLb,KAAK,gBAAgBG;QACrB;YACEE,QAAQG;YACRF;YACA,uCAAuC;YACvCC,QAAQA,SACHA,QAAgBO,4BACbC,MAAM,KACPC,IAAI,CAACC,OAAiBC,SAASD,SAClC,EAAE;QACR;KACD;AACH,EAAE"}
|
|
@@ -4,38 +4,52 @@ import { usePositionStream } from "./usePositionStream";
|
|
|
4
4
|
import { useMarkPricesStream } from "./useMarkPricesStream";
|
|
5
5
|
import { useCollateral } from "./useCollateral";
|
|
6
6
|
import { zero } from "@orderly.network/utils";
|
|
7
|
-
export const useMarginRatio = ()
|
|
7
|
+
export const useMarginRatio = ()=>{
|
|
8
8
|
const [{ rows, aggregated }] = usePositionStream();
|
|
9
9
|
const { data: markPrices } = useMarkPricesStream();
|
|
10
10
|
const { totalCollateral } = useCollateral();
|
|
11
|
-
const marginRatio = useMemo(()
|
|
11
|
+
const marginRatio = useMemo(()=>{
|
|
12
12
|
if (!rows || !markPrices || !totalCollateral || rows.length === 0) {
|
|
13
13
|
return 0;
|
|
14
14
|
}
|
|
15
15
|
const ratio = account.totalMarginRatio({
|
|
16
16
|
totalCollateral: totalCollateral,
|
|
17
17
|
markPrices: markPrices,
|
|
18
|
-
positions: rows ?? []
|
|
18
|
+
positions: rows ?? []
|
|
19
19
|
});
|
|
20
20
|
return ratio;
|
|
21
|
-
}, [
|
|
22
|
-
|
|
21
|
+
}, [
|
|
22
|
+
rows,
|
|
23
|
+
markPrices,
|
|
24
|
+
totalCollateral
|
|
25
|
+
]);
|
|
26
|
+
const currentLeverage = useMemo(()=>{
|
|
23
27
|
return account.currentLeverage(marginRatio);
|
|
24
|
-
}, [
|
|
28
|
+
}, [
|
|
29
|
+
marginRatio
|
|
30
|
+
]);
|
|
25
31
|
// MMR
|
|
26
|
-
const mmr = useMemo(()
|
|
27
|
-
if (!rows || rows.length <= 0)
|
|
28
|
-
return null;
|
|
32
|
+
const mmr = useMemo(()=>{
|
|
33
|
+
if (!rows || rows.length <= 0) return null;
|
|
29
34
|
let positionsMM = zero;
|
|
30
35
|
// const positionsNotional = positions.totalNotional(rows);
|
|
31
|
-
for
|
|
36
|
+
for(let index = 0; index < rows.length; index++){
|
|
32
37
|
const item = rows[index];
|
|
33
38
|
positionsMM = positionsMM.add(item.mm);
|
|
34
39
|
}
|
|
35
40
|
return account.MMR({
|
|
36
41
|
positionsMMR: positionsMM.toNumber(),
|
|
37
|
-
positionsNotional: aggregated.notional
|
|
42
|
+
positionsNotional: aggregated.notional
|
|
38
43
|
});
|
|
39
|
-
}, [
|
|
40
|
-
|
|
44
|
+
}, [
|
|
45
|
+
rows,
|
|
46
|
+
aggregated
|
|
47
|
+
]);
|
|
48
|
+
return {
|
|
49
|
+
marginRatio,
|
|
50
|
+
currentLeverage,
|
|
51
|
+
mmr
|
|
52
|
+
};
|
|
41
53
|
};
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=useMarginRatio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/orderly/useMarginRatio.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { account, positions } from \"@orderly.network/perp\";\nimport { usePositionStream } from \"./usePositionStream\";\nimport { useMarkPricesStream } from \"./useMarkPricesStream\";\nimport { useCollateral } from \"./useCollateral\";\nimport { zero } from \"@orderly.network/utils\";\n\nexport type MarginRatioReturn = {\n // Margin Ratio\n marginRatio: number;\n // Current Leverage\n currentLeverage: number;\n // account margin ratio, if user has no position, return null\n mmr: number | null;\n};\n\nexport const useMarginRatio = (): MarginRatioReturn => {\n const [{ rows, aggregated }] = usePositionStream();\n const { data: markPrices } = useMarkPricesStream();\n\n const { totalCollateral } = useCollateral();\n const marginRatio = useMemo(() => {\n if (!rows || !markPrices || !totalCollateral || rows.length === 0) {\n return 0;\n }\n\n const ratio = account.totalMarginRatio({\n totalCollateral: totalCollateral,\n markPrices: markPrices,\n positions: rows ?? [],\n });\n return ratio;\n }, [rows, markPrices, totalCollateral]);\n\n const currentLeverage = useMemo(() => {\n return account.currentLeverage(marginRatio);\n }, [marginRatio]);\n\n // MMR\n const mmr = useMemo<number | null>(() => {\n if (!rows || rows.length <= 0) return null;\n let positionsMM = zero;\n // const positionsNotional = positions.totalNotional(rows);\n\n for (let index = 0; index < rows.length; index++) {\n const item = rows[index];\n positionsMM = positionsMM.add(item.mm);\n }\n\n return account.MMR({\n positionsMMR: positionsMM.toNumber(),\n positionsNotional: aggregated.notional,\n });\n }, [rows, aggregated]);\n\n return { marginRatio, currentLeverage, mmr };\n};\n"],"names":["useMemo","account","usePositionStream","useMarkPricesStream","useCollateral","zero","useMarginRatio","rows","aggregated","data","markPrices","totalCollateral","marginRatio","length","ratio","totalMarginRatio","positions","currentLeverage","mmr","positionsMM","index","item","add","mm","MMR","positionsMMR","toNumber","positionsNotional","notional"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,OAAO,QAAQ,QAAQ;AAChC,SAASC,OAAO,QAAmB,wBAAwB;AAC3D,SAASC,iBAAiB,QAAQ,sBAAsB;AACxD,SAASC,mBAAmB,QAAQ,wBAAwB;AAC5D,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,IAAI,QAAQ,yBAAyB;AAW9C,OAAO,MAAMC,iBAAiB;IAC5B,MAAM,CAAC,EAAEC,IAAI,EAAEC,UAAU,EAAE,CAAC,GAAGN;IAC/B,MAAM,EAAEO,MAAMC,UAAU,EAAE,GAAGP;IAE7B,MAAM,EAAEQ,eAAe,EAAE,GAAGP;IAC5B,MAAMQ,cAAcZ,QAAQ;QAC1B,IAAI,CAACO,QAAQ,CAACG,cAAc,CAACC,mBAAmBJ,KAAKM,MAAM,KAAK,GAAG;YACjE,OAAO;QACT;QAEA,MAAMC,QAAQb,QAAQc,gBAAgB,CAAC;YACrCJ,iBAAiBA;YACjBD,YAAYA;YACZM,WAAWT,QAAQ,EAAE;QACvB;QACA,OAAOO;IACT,GAAG;QAACP;QAAMG;QAAYC;KAAgB;IAEtC,MAAMM,kBAAkBjB,QAAQ;QAC9B,OAAOC,QAAQgB,eAAe,CAACL;IACjC,GAAG;QAACA;KAAY;IAEhB,MAAM;IACN,MAAMM,MAAMlB,QAAuB;QACjC,IAAI,CAACO,QAAQA,KAAKM,MAAM,IAAI,GAAG,OAAO;QACtC,IAAIM,cAAcd;QAClB,2DAA2D;QAE3D,IAAK,IAAIe,QAAQ,GAAGA,QAAQb,KAAKM,MAAM,EAAEO,QAAS;YAChD,MAAMC,OAAOd,IAAI,CAACa,MAAM;YACxBD,cAAcA,YAAYG,GAAG,CAACD,KAAKE,EAAE;QACvC;QAEA,OAAOtB,QAAQuB,GAAG,CAAC;YACjBC,cAAcN,YAAYO,QAAQ;YAClCC,mBAAmBnB,WAAWoB,QAAQ;QACxC;IACF,GAAG;QAACrB;QAAMC;KAAW;IAErB,OAAO;QAAEI;QAAaK;QAAiBC;IAAI;AAC7C,EAAE"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import { useEffect, useState } from "react";
|
|
2
2
|
import { useWS } from "../useWS";
|
|
3
3
|
// import useSWRSubscription from "swr/subscription";
|
|
4
|
-
export const useMarkPrice = (symbol)
|
|
4
|
+
export const useMarkPrice = (symbol)=>{
|
|
5
5
|
const ws = useWS();
|
|
6
6
|
const [price, setPrice] = useState(0);
|
|
7
|
-
useEffect(()
|
|
7
|
+
useEffect(()=>{
|
|
8
8
|
const unsubscribe = ws.subscribe(`${symbol}@markprice`, {
|
|
9
|
-
onMessage: (message)
|
|
9
|
+
onMessage: (message)=>{
|
|
10
10
|
setPrice(message.price);
|
|
11
|
-
}
|
|
11
|
+
}
|
|
12
12
|
});
|
|
13
|
-
return ()
|
|
13
|
+
return ()=>{
|
|
14
14
|
unsubscribe?.();
|
|
15
15
|
};
|
|
16
|
-
}, [
|
|
16
|
+
}, [
|
|
17
|
+
symbol
|
|
18
|
+
]);
|
|
17
19
|
// return useSWRSubscription(`${symbol}@markprice`, (key, { next }) => {
|
|
18
20
|
// const unsubscribe = ws.subscribe(`${symbol}@markprice`, {
|
|
19
21
|
// onMessage: (message: any) => {
|
|
@@ -25,5 +27,9 @@ export const useMarkPrice = (symbol) => {
|
|
|
25
27
|
// unsubscribe?.();
|
|
26
28
|
// };
|
|
27
29
|
// });
|
|
28
|
-
return {
|
|
30
|
+
return {
|
|
31
|
+
data: price
|
|
32
|
+
};
|
|
29
33
|
};
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=useMarkPrice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/orderly/useMarkPrice.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { useWS } from \"../useWS\";\n// import useSWRSubscription from \"swr/subscription\";\n\nexport const useMarkPrice = (symbol: string) => {\n const ws = useWS();\n const [price, setPrice] = useState(0);\n\n useEffect(() => {\n const unsubscribe = ws.subscribe(`${symbol}@markprice`, {\n onMessage: (message: any) => {\n setPrice(message.price);\n },\n });\n\n return () => {\n unsubscribe?.();\n };\n }, [symbol]);\n\n // return useSWRSubscription(`${symbol}@markprice`, (key, { next }) => {\n // const unsubscribe = ws.subscribe(`${symbol}@markprice`, {\n // onMessage: (message: any) => {\n // next(null, message.price);\n // },\n // });\n\n // return () => {\n // // console.log(\"_____________________ unsubscribe _________ \", symbol);\n // unsubscribe?.();\n // };\n // });\n\n return { data: price };\n};\n"],"names":["useEffect","useState","useWS","useMarkPrice","symbol","ws","price","setPrice","unsubscribe","subscribe","onMessage","message","data"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAC5C,SAASC,KAAK,QAAQ,WAAW;AACjC,qDAAqD;AAErD,OAAO,MAAMC,eAAe,CAACC;IAC3B,MAAMC,KAAKH;IACX,MAAM,CAACI,OAAOC,SAAS,GAAGN,SAAS;IAEnCD,UAAU;QACR,MAAMQ,cAAcH,GAAGI,SAAS,CAAC,CAAC,EAAEL,OAAO,UAAU,CAAC,EAAE;YACtDM,WAAW,CAACC;gBACVJ,SAASI,QAAQL,KAAK;YACxB;QACF;QAEA,OAAO;YACLE;QACF;IACF,GAAG;QAACJ;KAAO;IAEX,wEAAwE;IACxE,8DAA8D;IAC9D,qCAAqC;IACrC,mCAAmC;IACnC,SAAS;IACT,QAAQ;IAER,mBAAmB;IACnB,8EAA8E;IAC9E,uBAAuB;IACvB,OAAO;IACP,MAAM;IAEN,OAAO;QAAEQ,MAAMN;IAAM;AACvB,EAAE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const useMarkPricesStream: () => import("swr/subscription").SWRSubscriptionResponse<
|
|
1
|
+
export declare const useMarkPricesStream: () => import("swr/subscription").SWRSubscriptionResponse<Record<string, number>, any>;
|
|
2
2
|
//# sourceMappingURL=useMarkPricesStream.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMarkPricesStream.d.ts","sourceRoot":"","sources":["../../src/orderly/useMarkPricesStream.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"useMarkPricesStream.d.ts","sourceRoot":"","sources":["../../src/orderly/useMarkPricesStream.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,uFAkC/B,CAAC"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import useSWRSubscription from "swr/subscription";
|
|
2
2
|
import { useWS } from "../useWS";
|
|
3
|
-
export const useMarkPricesStream = ()
|
|
3
|
+
export const useMarkPricesStream = ()=>{
|
|
4
4
|
const ws = useWS();
|
|
5
|
-
return useSWRSubscription("markPrices", (key, { next })
|
|
6
|
-
const unsubscribe = ws.subscribe(
|
|
7
|
-
// { event: "subscribe", topic: "markprices" },
|
|
5
|
+
return useSWRSubscription("markPrices", (key, { next })=>{
|
|
6
|
+
const unsubscribe = ws.subscribe(// { event: "subscribe", topic: "markprices" },
|
|
8
7
|
"markprices", {
|
|
9
|
-
onMessage: (message)
|
|
8
|
+
onMessage: (message)=>{
|
|
10
9
|
const data = Object.create(null);
|
|
11
|
-
for
|
|
10
|
+
for(let index = 0; index < message.length; index++){
|
|
12
11
|
const element = message[index];
|
|
13
12
|
data[element.symbol] = element.price;
|
|
14
13
|
}
|
|
@@ -17,10 +16,12 @@ export const useMarkPricesStream = () => {
|
|
|
17
16
|
// onUnsubscribe: () => {
|
|
18
17
|
// return "markprices";
|
|
19
18
|
// },
|
|
20
|
-
onError: (error)
|
|
19
|
+
onError: (error)=>{}
|
|
21
20
|
});
|
|
22
|
-
return ()
|
|
21
|
+
return ()=>{
|
|
23
22
|
unsubscribe?.();
|
|
24
23
|
};
|
|
25
24
|
});
|
|
26
25
|
};
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=useMarkPricesStream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/orderly/useMarkPricesStream.ts"],"sourcesContent":["import useSWRSubscription, { SWRSubscriptionOptions } from \"swr/subscription\";\nimport { useWS } from \"../useWS\";\n\nexport const useMarkPricesStream = () => {\n const ws = useWS();\n return useSWRSubscription<Record<string, number>>(\n \"markPrices\",\n (\n key: string,\n { next }: SWRSubscriptionOptions<Record<string, number>, any>\n ) => {\n const unsubscribe = ws.subscribe(\n // { event: \"subscribe\", topic: \"markprices\" },\n \"markprices\",\n {\n onMessage: (message: any) => {\n const data: Record<string, number> = Object.create(null);\n\n for (let index = 0; index < message.length; index++) {\n const element = message[index];\n data[element.symbol] = element.price;\n }\n\n next(null, data);\n },\n // onUnsubscribe: () => {\n // return \"markprices\";\n // },\n onError: (error: any) => {},\n }\n );\n\n return () => {\n unsubscribe?.();\n };\n }\n );\n};\n"],"names":["useSWRSubscription","useWS","useMarkPricesStream","ws","key","next","unsubscribe","subscribe","onMessage","message","data","Object","create","index","length","element","symbol","price","onError","error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,wBAAoD,mBAAmB;AAC9E,SAASC,KAAK,QAAQ,WAAW;AAEjC,OAAO,MAAMC,sBAAsB;IACjC,MAAMC,KAAKF;IACX,OAAOD,mBACL,cACA,CACEI,KACA,EAAEC,IAAI,EAAuD;QAE7D,MAAMC,cAAcH,GAAGI,SAAS,CAC9B,+CAA+C;QAC/C,cACA;YACEC,WAAW,CAACC;gBACV,MAAMC,OAA+BC,OAAOC,MAAM,CAAC;gBAEnD,IAAK,IAAIC,QAAQ,GAAGA,QAAQJ,QAAQK,MAAM,EAAED,QAAS;oBACnD,MAAME,UAAUN,OAAO,CAACI,MAAM;oBAC9BH,IAAI,CAACK,QAAQC,MAAM,CAAC,GAAGD,QAAQE,KAAK;gBACtC;gBAEAZ,KAAK,MAAMK;YACb;YACA,yBAAyB;YACzB,yBAAyB;YACzB,KAAK;YACLQ,SAAS,CAACC,SAAgB;QAC5B;QAGF,OAAO;YACLb;QACF;IACF;AAEJ,EAAE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useWS } from "../useWS";
|
|
2
2
|
import { useEffect, useState } from "react";
|
|
3
|
-
export const useMarketTradeStream = (symbol, options = {})
|
|
3
|
+
export const useMarketTradeStream = (symbol, options = {})=>{
|
|
4
4
|
if (!symbol) {
|
|
5
5
|
throw new Error("useTradeStream: symbol is required");
|
|
6
6
|
}
|
|
@@ -8,44 +8,59 @@ export const useMarketTradeStream = (symbol, options = {}) => {
|
|
|
8
8
|
const [isLoading, setIsLoading] = useState(false);
|
|
9
9
|
const { limit = 50 } = options;
|
|
10
10
|
const ws = useWS();
|
|
11
|
-
useEffect(()
|
|
11
|
+
useEffect(()=>{
|
|
12
12
|
setIsLoading(true);
|
|
13
|
-
setTrades(()
|
|
13
|
+
setTrades(()=>[]);
|
|
14
14
|
ws.onceSubscribe({
|
|
15
15
|
id: `${symbol}@trade`,
|
|
16
16
|
event: "request",
|
|
17
17
|
params: {
|
|
18
18
|
type: "trade",
|
|
19
19
|
symbol: symbol,
|
|
20
|
-
limit
|
|
21
|
-
}
|
|
20
|
+
limit
|
|
21
|
+
}
|
|
22
22
|
}, {
|
|
23
|
-
onMessage: (data)
|
|
23
|
+
onMessage: (data)=>{
|
|
24
24
|
setIsLoading(false);
|
|
25
|
-
setTrades(()
|
|
26
|
-
}
|
|
25
|
+
setTrades(()=>data);
|
|
26
|
+
}
|
|
27
27
|
});
|
|
28
|
-
}, [
|
|
29
|
-
|
|
28
|
+
}, [
|
|
29
|
+
symbol
|
|
30
|
+
]);
|
|
31
|
+
useEffect(()=>{
|
|
30
32
|
const unsubscript = ws.subscribe({
|
|
31
33
|
id: `${symbol}@trade`,
|
|
32
34
|
event: "subscribe",
|
|
33
35
|
topic: `${symbol}@trade`,
|
|
34
|
-
ts: Date.now()
|
|
36
|
+
ts: Date.now()
|
|
35
37
|
}, {
|
|
36
|
-
onMessage: (data)
|
|
37
|
-
setTrades((prev)
|
|
38
|
-
const arr = [
|
|
38
|
+
onMessage: (data)=>{
|
|
39
|
+
setTrades((prev)=>{
|
|
40
|
+
const arr = [
|
|
41
|
+
{
|
|
42
|
+
...data,
|
|
43
|
+
ts: Date.now()
|
|
44
|
+
},
|
|
45
|
+
...prev
|
|
46
|
+
];
|
|
39
47
|
if (arr.length > limit) {
|
|
40
48
|
arr.pop();
|
|
41
49
|
}
|
|
42
50
|
return arr;
|
|
43
51
|
});
|
|
44
|
-
}
|
|
52
|
+
}
|
|
45
53
|
});
|
|
46
|
-
return ()
|
|
54
|
+
return ()=>{
|
|
47
55
|
unsubscript?.();
|
|
48
56
|
};
|
|
49
|
-
}, [
|
|
50
|
-
|
|
57
|
+
}, [
|
|
58
|
+
symbol
|
|
59
|
+
]);
|
|
60
|
+
return {
|
|
61
|
+
data: trades,
|
|
62
|
+
isLoading
|
|
63
|
+
};
|
|
51
64
|
};
|
|
65
|
+
|
|
66
|
+
//# sourceMappingURL=useMarketTradeStream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/orderly/useMarketTradeStream.ts"],"sourcesContent":["import { API } from \"@orderly.network/types\";\nimport { useWS } from \"../useWS\";\nimport { useEffect, useState } from \"react\";\n\nexport interface MarketTradeStreamOptions {\n limit?: number;\n}\n\nexport const useMarketTradeStream = (\n symbol: string,\n options: MarketTradeStreamOptions = {}\n) => {\n if (!symbol) {\n throw new Error(\"useTradeStream: symbol is required\");\n }\n\n const [trades, setTrades] = useState<API.Trade[]>([]);\n const [isLoading, setIsLoading] = useState<boolean>(false);\n\n const { limit = 50 } = options;\n\n const ws = useWS();\n\n useEffect(() => {\n setIsLoading(true);\n setTrades(() => []);\n ws.onceSubscribe(\n {\n id: `${symbol}@trade`,\n event: \"request\",\n params: {\n type: \"trade\",\n symbol: symbol,\n limit,\n },\n },\n {\n onMessage: (data: any) => {\n setIsLoading(false);\n setTrades(() => data);\n },\n }\n );\n }, [symbol]);\n\n useEffect(() => {\n const unsubscript = ws.subscribe(\n {\n id: `${symbol}@trade`,\n event: \"subscribe\",\n topic: `${symbol}@trade`,\n ts: Date.now(),\n },\n {\n onMessage: (data: any) => {\n setTrades((prev) => {\n const arr = [{ ...data, ts: Date.now() }, ...prev];\n if (arr.length > limit) {\n arr.pop();\n }\n return arr;\n });\n },\n }\n );\n\n return () => {\n unsubscript?.();\n };\n }, [symbol]);\n\n return { data: trades, isLoading };\n};\n"],"names":["useWS","useEffect","useState","useMarketTradeStream","symbol","options","Error","trades","setTrades","isLoading","setIsLoading","limit","ws","onceSubscribe","id","event","params","type","onMessage","data","unsubscript","subscribe","topic","ts","Date","now","prev","arr","length","pop"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AACA,SAASA,KAAK,QAAQ,WAAW;AACjC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAQ;AAM5C,OAAO,MAAMC,uBAAuB,CAClCC,QACAC,UAAoC,CAAC,CAAC;IAEtC,IAAI,CAACD,QAAQ;QACX,MAAM,IAAIE,MAAM;IAClB;IAEA,MAAM,CAACC,QAAQC,UAAU,GAAGN,SAAsB,EAAE;IACpD,MAAM,CAACO,WAAWC,aAAa,GAAGR,SAAkB;IAEpD,MAAM,EAAES,QAAQ,EAAE,EAAE,GAAGN;IAEvB,MAAMO,KAAKZ;IAEXC,UAAU;QACRS,aAAa;QACbF,UAAU,IAAM,EAAE;QAClBI,GAAGC,aAAa,CACd;YACEC,IAAI,CAAC,EAAEV,OAAO,MAAM,CAAC;YACrBW,OAAO;YACPC,QAAQ;gBACNC,MAAM;gBACNb,QAAQA;gBACRO;YACF;QACF,GACA;YACEO,WAAW,CAACC;gBACVT,aAAa;gBACbF,UAAU,IAAMW;YAClB;QACF;IAEJ,GAAG;QAACf;KAAO;IAEXH,UAAU;QACR,MAAMmB,cAAcR,GAAGS,SAAS,CAC9B;YACEP,IAAI,CAAC,EAAEV,OAAO,MAAM,CAAC;YACrBW,OAAO;YACPO,OAAO,CAAC,EAAElB,OAAO,MAAM,CAAC;YACxBmB,IAAIC,KAAKC,GAAG;QACd,GACA;YACEP,WAAW,CAACC;gBACVX,UAAU,CAACkB;oBACT,MAAMC,MAAM;wBAAC;4BAAE,GAAGR,IAAI;4BAAEI,IAAIC,KAAKC,GAAG;wBAAG;2BAAMC;qBAAK;oBAClD,IAAIC,IAAIC,MAAM,GAAGjB,OAAO;wBACtBgB,IAAIE,GAAG;oBACT;oBACA,OAAOF;gBACT;YACF;QACF;QAGF,OAAO;YACLP;QACF;IACF,GAAG;QAAChB;KAAO;IAEX,OAAO;QAAEe,MAAMZ;QAAQE;IAAU;AACnC,EAAE"}
|