@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
package/lib/orderly/useMaxQty.js
CHANGED
|
@@ -1,68 +1,76 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "useMaxQty", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return useMaxQty;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _react = require("react");
|
|
12
|
+
const _types = require("@orderly.network/types");
|
|
13
|
+
const _useSymbolsInfo = require("./useSymbolsInfo");
|
|
14
|
+
const _useMarkPricesStream = require("./useMarkPricesStream");
|
|
15
|
+
const _perp = require("@orderly.network/perp");
|
|
16
|
+
const _useCollateral = require("./useCollateral");
|
|
17
|
+
const _usePrivateQuery = require("../usePrivateQuery");
|
|
18
|
+
const _usePositionStream = require("./usePositionStream");
|
|
19
|
+
const _ramda = require("ramda");
|
|
20
|
+
const _useOrderStream = require("./useOrderStream");
|
|
21
|
+
const positionsPath = (0, _ramda.pathOr)([], [
|
|
22
|
+
0,
|
|
23
|
+
"rows"
|
|
24
|
+
]);
|
|
25
|
+
const useMaxQty = (symbol, side, reduceOnly = false)=>{
|
|
26
|
+
const positionsData = (0, _usePositionStream.usePositionStream)();
|
|
17
27
|
// const [orders] = useOrderStream({ status: OrderStatus.NEW });
|
|
18
|
-
const { data: accountInfo } = (0,
|
|
19
|
-
const symbolInfo = (0,
|
|
20
|
-
const { totalCollateral } = (0,
|
|
21
|
-
const { data: markPrices } = (0,
|
|
22
|
-
const [orders] = (0,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
28
|
+
const { data: accountInfo } = (0, _usePrivateQuery.usePrivateQuery)("/v1/client/info");
|
|
29
|
+
const symbolInfo = (0, _useSymbolsInfo.useSymbolsInfo)();
|
|
30
|
+
const { totalCollateral } = (0, _useCollateral.useCollateral)();
|
|
31
|
+
const { data: markPrices } = (0, _useMarkPricesStream.useMarkPricesStream)();
|
|
32
|
+
const [orders] = (0, _useOrderStream.useOrderStream)({
|
|
33
|
+
status: _types.OrderStatus.NEW
|
|
34
|
+
});
|
|
35
|
+
const maxQty = (0, _react.useMemo)(()=>{
|
|
36
|
+
if (!symbol) return 0;
|
|
26
37
|
const positions = positionsPath(positionsData);
|
|
27
|
-
const positionQty =
|
|
38
|
+
const positionQty = _perp.account.getQtyFromPositions(positions, symbol);
|
|
28
39
|
if (reduceOnly) {
|
|
29
40
|
if (positionQty > 0) {
|
|
30
|
-
if (side ===
|
|
41
|
+
if (side === _types.OrderSide.BUY) {
|
|
31
42
|
return 0;
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
43
|
+
} else {
|
|
34
44
|
return Math.abs(positionQty);
|
|
35
45
|
}
|
|
36
46
|
}
|
|
37
47
|
if (positionQty < 0) {
|
|
38
|
-
if (side ===
|
|
48
|
+
if (side === _types.OrderSide.BUY) {
|
|
39
49
|
return Math.abs(positionQty);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
50
|
+
} else {
|
|
42
51
|
return 0;
|
|
43
52
|
}
|
|
44
53
|
}
|
|
45
54
|
return 0;
|
|
46
55
|
}
|
|
47
|
-
if (!markPrices || !markPrices[symbol] || !orders || !accountInfo)
|
|
48
|
-
return 0;
|
|
56
|
+
if (!markPrices || !markPrices[symbol] || !orders || !accountInfo) return 0;
|
|
49
57
|
const getSymbolInfo = symbolInfo[symbol];
|
|
50
|
-
const filterAlgoOrders = orders.filter((item)
|
|
58
|
+
const filterAlgoOrders = orders.filter((item)=>item.algo_order_id === undefined);
|
|
51
59
|
// current symbol buy order quantity
|
|
52
|
-
const buyOrdersQty =
|
|
60
|
+
const buyOrdersQty = _perp.account.getQtyFromOrdersBySide(filterAlgoOrders, symbol, _types.OrderSide.BUY);
|
|
53
61
|
// current symbol sell order quantity
|
|
54
|
-
const sellOrdersQty =
|
|
55
|
-
const otherPositions = positions.filter((item)
|
|
56
|
-
const otherOrders = filterAlgoOrders.filter((item)
|
|
57
|
-
const otherIMs =
|
|
62
|
+
const sellOrdersQty = _perp.account.getQtyFromOrdersBySide(filterAlgoOrders, symbol, _types.OrderSide.SELL);
|
|
63
|
+
const otherPositions = positions.filter((item)=>item.symbol !== symbol);
|
|
64
|
+
const otherOrders = filterAlgoOrders.filter((item)=>item.symbol !== symbol);
|
|
65
|
+
const otherIMs = _perp.account.otherIMs({
|
|
58
66
|
orders: otherOrders,
|
|
59
67
|
positions: otherPositions,
|
|
60
68
|
symbolInfo,
|
|
61
69
|
markPrices,
|
|
62
70
|
IMR_Factors: accountInfo.imr_factor,
|
|
63
|
-
maxLeverage: accountInfo.max_leverage
|
|
71
|
+
maxLeverage: accountInfo.max_leverage
|
|
64
72
|
});
|
|
65
|
-
return
|
|
73
|
+
return _perp.account.maxQty(side, {
|
|
66
74
|
markPrice: markPrices[symbol],
|
|
67
75
|
symbol,
|
|
68
76
|
baseMaxQty: getSymbolInfo("base_max"),
|
|
@@ -74,7 +82,7 @@ const useMaxQty = (symbol, side, reduceOnly = false) => {
|
|
|
74
82
|
positionQty,
|
|
75
83
|
buyOrdersQty,
|
|
76
84
|
sellOrdersQty,
|
|
77
|
-
IMR_Factor: accountInfo.imr_factor[symbol]
|
|
85
|
+
IMR_Factor: accountInfo.imr_factor[symbol]
|
|
78
86
|
});
|
|
79
87
|
}, [
|
|
80
88
|
orders,
|
|
@@ -85,7 +93,7 @@ const useMaxQty = (symbol, side, reduceOnly = false) => {
|
|
|
85
93
|
symbol,
|
|
86
94
|
side,
|
|
87
95
|
totalCollateral,
|
|
88
|
-
reduceOnly
|
|
96
|
+
reduceOnly
|
|
89
97
|
]);
|
|
90
98
|
// debugPrint({
|
|
91
99
|
// maxQty,
|
|
@@ -102,4 +110,5 @@ const useMaxQty = (symbol, side, reduceOnly = false) => {
|
|
|
102
110
|
// console.log("maxQty", maxQty);
|
|
103
111
|
return Math.max(maxQty, 0);
|
|
104
112
|
};
|
|
105
|
-
|
|
113
|
+
|
|
114
|
+
//# sourceMappingURL=useMaxQty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/orderly/useMaxQty.ts"],"sourcesContent":["import { useEffect, useMemo } from \"react\";\nimport { type API, OrderSide, OrderStatus } from \"@orderly.network/types\";\n\nimport { useSymbolsInfo } from \"./useSymbolsInfo\";\n\nimport { useMarkPricesStream } from \"./useMarkPricesStream\";\nimport { account } from \"@orderly.network/perp\";\nimport { useCollateral } from \"./useCollateral\";\n\nimport { usePrivateQuery } from \"../usePrivateQuery\";\nimport { usePositionStream } from \"./usePositionStream\";\nimport { pathOr } from \"ramda\";\nimport { useOrderStream } from \"./useOrderStream\";\n\nconst positionsPath = pathOr([], [0, \"rows\"]);\n\n/**\n * @param symbol\n * @param side\n * @param reduceOnly\n * @returns the maximum quantity available for trading in USD\n */\nexport const useMaxQty = (\n symbol: string,\n side: OrderSide,\n reduceOnly: boolean = false\n) => {\n const positionsData = usePositionStream();\n\n // const [orders] = useOrderStream({ status: OrderStatus.NEW });\n\n const { data: accountInfo } =\n usePrivateQuery<API.AccountInfo>(\"/v1/client/info\");\n\n const symbolInfo = useSymbolsInfo();\n\n const { totalCollateral } = useCollateral();\n\n const { data: markPrices } = useMarkPricesStream();\n\n const [orders] = useOrderStream({ status: OrderStatus.NEW });\n\n const maxQty = useMemo(() => {\n if (!symbol) return 0;\n\n const positions = positionsPath(positionsData);\n\n const positionQty = account.getQtyFromPositions(positions, symbol);\n\n if (reduceOnly) {\n if (positionQty > 0) {\n if (side === OrderSide.BUY) {\n return 0;\n } else {\n return Math.abs(positionQty);\n }\n }\n\n if (positionQty < 0) {\n if (side === OrderSide.BUY) {\n return Math.abs(positionQty);\n } else {\n return 0;\n }\n }\n\n return 0;\n }\n\n if (!markPrices || !markPrices[symbol] || !orders || !accountInfo) return 0;\n\n const getSymbolInfo = symbolInfo[symbol];\n\n const filterAlgoOrders = orders.filter(\n (item) => item.algo_order_id === undefined\n );\n\n // current symbol buy order quantity\n const buyOrdersQty = account.getQtyFromOrdersBySide(\n filterAlgoOrders,\n symbol,\n OrderSide.BUY\n );\n // current symbol sell order quantity\n const sellOrdersQty = account.getQtyFromOrdersBySide(\n filterAlgoOrders,\n symbol,\n OrderSide.SELL\n );\n\n const otherPositions = positions.filter(\n (item: API.Position) => item.symbol !== symbol\n );\n\n const otherOrders = filterAlgoOrders.filter(\n (item: API.Order) => item.symbol !== symbol\n );\n\n const otherIMs = account.otherIMs({\n orders: otherOrders,\n positions: otherPositions,\n symbolInfo,\n markPrices,\n IMR_Factors: accountInfo.imr_factor,\n maxLeverage: accountInfo.max_leverage,\n });\n\n return account.maxQty(side, {\n markPrice: markPrices[symbol],\n symbol,\n baseMaxQty: getSymbolInfo(\"base_max\"),\n totalCollateral,\n maxLeverage: accountInfo.max_leverage,\n takerFeeRate: accountInfo.futures_taker_fee_rate,\n baseIMR: getSymbolInfo(\"base_imr\"),\n otherIMs,\n positionQty,\n buyOrdersQty,\n sellOrdersQty,\n IMR_Factor: accountInfo.imr_factor[symbol],\n });\n }, [\n orders,\n positionsData,\n markPrices,\n accountInfo,\n symbolInfo,\n symbol,\n side,\n totalCollateral,\n reduceOnly,\n ]);\n\n // debugPrint({\n // maxQty,\n // totalCollateral,\n // side,\n // // reduceOnly,\n // orders: orders?.map((o) => o.quantity),\n // // positionsData,\n // // markPrices,\n // // accountInfo,\n // // symbolInfo,\n // // symbol,\n // });\n // console.log(\"maxQty\", maxQty);\n\n return Math.max(maxQty, 0) as number;\n};\n"],"names":["useMaxQty","positionsPath","pathOr","symbol","side","reduceOnly","positionsData","usePositionStream","data","accountInfo","usePrivateQuery","symbolInfo","useSymbolsInfo","totalCollateral","useCollateral","markPrices","useMarkPricesStream","orders","useOrderStream","status","OrderStatus","NEW","maxQty","useMemo","positions","positionQty","account","getQtyFromPositions","OrderSide","BUY","Math","abs","getSymbolInfo","filterAlgoOrders","filter","item","algo_order_id","undefined","buyOrdersQty","getQtyFromOrdersBySide","sellOrdersQty","SELL","otherPositions","otherOrders","otherIMs","IMR_Factors","imr_factor","maxLeverage","max_leverage","markPrice","baseMaxQty","takerFeeRate","futures_taker_fee_rate","baseIMR","IMR_Factor","max"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1,22 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "useOpenInterest", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return useOpenInterest;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _useWS = require("../useWS");
|
|
12
|
+
const _subscription = /*#__PURE__*/ _interop_require_default(require("swr/subscription"));
|
|
13
|
+
function _interop_require_default(obj) {
|
|
14
|
+
return obj && obj.__esModule ? obj : {
|
|
15
|
+
default: obj
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
const useOpenInterest = (symbol)=>{
|
|
19
|
+
const ws = (0, _useWS.useWS)();
|
|
20
|
+
return (0, _subscription.default)(`${symbol}@openinterest`, (key, { next })=>{
|
|
12
21
|
const unsubscribe = ws.subscribe(`${symbol}@openinterest`, {
|
|
13
|
-
onMessage: (message)
|
|
22
|
+
onMessage: (message)=>{
|
|
14
23
|
next(null, message.openInterest);
|
|
15
|
-
}
|
|
24
|
+
}
|
|
16
25
|
});
|
|
17
|
-
return ()
|
|
26
|
+
return ()=>{
|
|
18
27
|
unsubscribe?.();
|
|
19
28
|
};
|
|
20
29
|
});
|
|
21
30
|
};
|
|
22
|
-
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=useOpenInterest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/orderly/useOpenInterest.ts"],"sourcesContent":["import { useWS } from \"../useWS\";\nimport useSWRSubscription from \"swr/subscription\";\n\nexport const useOpenInterest = (symbol: string) => {\n const ws = useWS();\n return useSWRSubscription(`${symbol}@openinterest`, (key, { next }) => {\n const unsubscribe = ws.subscribe(`${symbol}@openinterest`, {\n onMessage: (message: any) => {\n next(null, message.openInterest);\n },\n });\n\n return () => {\n unsubscribe?.();\n };\n });\n};\n"],"names":["useOpenInterest","symbol","ws","useWS","useSWRSubscription","key","next","unsubscribe","subscribe","onMessage","message","openInterest"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAGaA;;;eAAAA;;;uBAHS;qEACS;;;;;;AAExB,MAAMA,kBAAkB,CAACC;IAC9B,MAAMC,KAAKC,IAAAA,YAAK;IAChB,OAAOC,IAAAA,qBAAkB,EAAC,CAAC,EAAEH,OAAO,aAAa,CAAC,EAAE,CAACI,KAAK,EAAEC,IAAI,EAAE;QAChE,MAAMC,cAAcL,GAAGM,SAAS,CAAC,CAAC,EAAEP,OAAO,aAAa,CAAC,EAAE;YACzDQ,WAAW,CAACC;gBACVJ,KAAK,MAAMI,QAAQC,YAAY;YACjC;QACF;QAEA,OAAO;YACLJ;QACF;IACF;AACF"}
|