@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
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { useQuery } from "../useQuery";
|
|
2
2
|
import { createGetter } from "../utils/createGetter";
|
|
3
3
|
import { getPrecisionByNumber } from "@orderly.network/utils";
|
|
4
|
-
export const useSymbolsInfo = ()
|
|
4
|
+
export const useSymbolsInfo = ()=>{
|
|
5
5
|
const { data } = useQuery(`/v1/public/info`, {
|
|
6
6
|
focusThrottleInterval: 1000 * 60 * 60 * 24,
|
|
7
7
|
dedupingInterval: 1000 * 60 * 60 * 24,
|
|
8
8
|
revalidateOnFocus: false,
|
|
9
|
-
formatter(data) {
|
|
9
|
+
formatter (data) {
|
|
10
10
|
if (!data?.rows || !data?.rows?.length) {
|
|
11
11
|
return {};
|
|
12
12
|
}
|
|
13
13
|
const obj = Object.create(null);
|
|
14
|
-
for
|
|
14
|
+
for(let index = 0; index < data.rows.length; index++){
|
|
15
15
|
const item = data.rows[index];
|
|
16
16
|
const arr = item.symbol.split("_");
|
|
17
17
|
const base_dp = getPrecisionByNumber(item.base_tick);
|
|
@@ -23,11 +23,13 @@ export const useSymbolsInfo = () => {
|
|
|
23
23
|
base: arr[1],
|
|
24
24
|
quote: arr[2],
|
|
25
25
|
type: arr[0],
|
|
26
|
-
name: `${arr[1]}-${arr[0]}
|
|
26
|
+
name: `${arr[1]}-${arr[0]}`
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
29
|
return obj;
|
|
30
|
-
}
|
|
30
|
+
}
|
|
31
31
|
});
|
|
32
32
|
return createGetter(data);
|
|
33
33
|
};
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=useSymbolsInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/orderly/useSymbolsInfo.ts"],"sourcesContent":["import { useQuery } from \"../useQuery\";\nimport { type API } from \"@orderly.network/types\";\nimport { createGetter } from \"../utils/createGetter\";\nimport { getPrecisionByNumber } from \"@orderly.network/utils\";\n\nexport const useSymbolsInfo = () => {\n const { data } = useQuery<Record<string, API.SymbolExt>>(`/v1/public/info`, {\n focusThrottleInterval: 1000 * 60 * 60 * 24,\n dedupingInterval: 1000 * 60 * 60 * 24,\n revalidateOnFocus: false,\n formatter(data: { rows: API.Symbol[] }) {\n if (!data?.rows || !data?.rows?.length) {\n return {};\n }\n const obj = Object.create(null);\n\n for (let index = 0; index < data.rows.length; index++) {\n const item = data.rows[index];\n const arr = item.symbol.split(\"_\");\n const base_dp = getPrecisionByNumber(item.base_tick);\n const quote_dp = getPrecisionByNumber(item.quote_tick);\n obj[item.symbol] = {\n ...item,\n base_dp,\n quote_dp,\n base: arr[1],\n quote: arr[2],\n type: arr[0],\n name: `${arr[1]}-${arr[0]}`,\n };\n }\n\n return obj;\n },\n });\n\n return createGetter<API.SymbolExt, string>(data);\n};\n"],"names":["useQuery","createGetter","getPrecisionByNumber","useSymbolsInfo","data","focusThrottleInterval","dedupingInterval","revalidateOnFocus","formatter","rows","length","obj","Object","create","index","item","arr","symbol","split","base_dp","base_tick","quote_dp","quote_tick","base","quote","type","name"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AAEvC,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,oBAAoB,QAAQ,yBAAyB;AAE9D,OAAO,MAAMC,iBAAiB;IAC5B,MAAM,EAAEC,IAAI,EAAE,GAAGJ,SAAwC,CAAC,eAAe,CAAC,EAAE;QAC1EK,uBAAuB,OAAO,KAAK,KAAK;QACxCC,kBAAkB,OAAO,KAAK,KAAK;QACnCC,mBAAmB;QACnBC,WAAUJ,IAA4B;YACpC,IAAI,CAACA,MAAMK,QAAQ,CAACL,MAAMK,MAAMC,QAAQ;gBACtC,OAAO,CAAC;YACV;YACA,MAAMC,MAAMC,OAAOC,MAAM,CAAC;YAE1B,IAAK,IAAIC,QAAQ,GAAGA,QAAQV,KAAKK,IAAI,CAACC,MAAM,EAAEI,QAAS;gBACrD,MAAMC,OAAOX,KAAKK,IAAI,CAACK,MAAM;gBAC7B,MAAME,MAAMD,KAAKE,MAAM,CAACC,KAAK,CAAC;gBAC9B,MAAMC,UAAUjB,qBAAqBa,KAAKK,SAAS;gBACnD,MAAMC,WAAWnB,qBAAqBa,KAAKO,UAAU;gBACrDX,GAAG,CAACI,KAAKE,MAAM,CAAC,GAAG;oBACjB,GAAGF,IAAI;oBACPI;oBACAE;oBACAE,MAAMP,GAAG,CAAC,EAAE;oBACZQ,OAAOR,GAAG,CAAC,EAAE;oBACbS,MAAMT,GAAG,CAAC,EAAE;oBACZU,MAAM,CAAC,EAAEV,GAAG,CAAC,EAAE,CAAC,CAAC,EAAEA,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC7B;YACF;YAEA,OAAOL;QACT;IACF;IAEA,OAAOV,aAAoCG;AAC7C,EAAE"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { API } from "@orderly.network/types";
|
|
2
|
-
|
|
2
|
+
import { Decimal } from "@orderly.network/utils";
|
|
3
|
+
export declare const useTickerStream: (symbol: string) => API.MarketInfo & {
|
|
4
|
+
change?: Decimal | undefined;
|
|
5
|
+
"24h_change"?: Decimal | undefined;
|
|
6
|
+
};
|
|
3
7
|
//# sourceMappingURL=useTickerStream.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTickerStream.d.ts","sourceRoot":"","sources":["../../src/orderly/useTickerStream.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"useTickerStream.d.ts","sourceRoot":"","sources":["../../src/orderly/useTickerStream.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAOjD,eAAO,MAAM,eAAe,WAAY,MAAM;;;CAkG7C,CAAC"}
|
|
@@ -6,47 +6,39 @@ import { useMarkPrice } from "./useMarkPrice";
|
|
|
6
6
|
import { useIndexPrice } from "./useIndexPrice";
|
|
7
7
|
import { useOpenInterest } from "./useOpenInterest";
|
|
8
8
|
import { useFetures } from "../unuse/useFetures";
|
|
9
|
-
export const useTickerStream = (symbol)
|
|
9
|
+
export const useTickerStream = (symbol)=>{
|
|
10
10
|
if (!symbol) {
|
|
11
11
|
throw new Error("useFuturesForSymbol requires a symbol");
|
|
12
12
|
}
|
|
13
13
|
const { data: info } = useQuery(`/v1/public/futures/${symbol}`, {
|
|
14
|
-
revalidateOnFocus: false
|
|
14
|
+
revalidateOnFocus: false
|
|
15
15
|
});
|
|
16
16
|
const [ticker, setTicker] = useState();
|
|
17
17
|
const ws = useWS();
|
|
18
|
-
useEffect(()
|
|
19
|
-
const unsubscribe = ws.subscribe(
|
|
20
|
-
// { event: "subscribe", topic: "markprices" },
|
|
18
|
+
useEffect(()=>{
|
|
19
|
+
const unsubscribe = ws.subscribe(// { event: "subscribe", topic: "markprices" },
|
|
21
20
|
`${symbol}@ticker`, {
|
|
22
|
-
onMessage: (message)
|
|
23
|
-
if (message.symbol !== symbol)
|
|
24
|
-
return;
|
|
21
|
+
onMessage: (message)=>{
|
|
22
|
+
if (message.symbol !== symbol) return;
|
|
25
23
|
setTicker(message);
|
|
26
|
-
}
|
|
27
|
-
// onUnsubscribe: () => {
|
|
28
|
-
// return "markprices";
|
|
29
|
-
// },
|
|
30
|
-
// onError: (error: any) => {
|
|
31
|
-
//
|
|
32
|
-
// },
|
|
24
|
+
}
|
|
33
25
|
});
|
|
34
|
-
return ()
|
|
26
|
+
return ()=>{
|
|
35
27
|
setTicker(undefined);
|
|
36
28
|
unsubscribe?.();
|
|
37
29
|
};
|
|
38
|
-
}, [
|
|
30
|
+
}, [
|
|
31
|
+
symbol
|
|
32
|
+
]);
|
|
39
33
|
const { data: markPrice } = useMarkPrice(symbol);
|
|
40
34
|
const { data: indexPrice } = useIndexPrice(symbol);
|
|
41
35
|
const { data: openInterest } = useOpenInterest(symbol);
|
|
42
36
|
const { data: futures } = useFetures();
|
|
43
|
-
const value = useMemo(()
|
|
37
|
+
const value = useMemo(()=>{
|
|
44
38
|
//
|
|
45
|
-
if (!info)
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return info;
|
|
49
|
-
const futureIndex = futures?.findIndex((item) => item.symbol === symbol);
|
|
39
|
+
if (!info) return null;
|
|
40
|
+
if (!ticker || ticker.symbol !== symbol) return info;
|
|
41
|
+
const futureIndex = futures?.findIndex((item)=>item.symbol === symbol);
|
|
50
42
|
let _oi = openInterest;
|
|
51
43
|
if (!_oi && futureIndex !== -1 && futures) {
|
|
52
44
|
// @ts-ignore
|
|
@@ -56,7 +48,7 @@ export const useTickerStream = (symbol) => {
|
|
|
56
48
|
...info,
|
|
57
49
|
mark_price: markPrice,
|
|
58
50
|
index_price: indexPrice,
|
|
59
|
-
open_interest: _oi
|
|
51
|
+
open_interest: _oi
|
|
60
52
|
};
|
|
61
53
|
if (ticker.open !== undefined) {
|
|
62
54
|
config["24h_open"] = ticker.open;
|
|
@@ -74,13 +66,18 @@ export const useTickerStream = (symbol) => {
|
|
|
74
66
|
config["24h_volumn"] = ticker.volume;
|
|
75
67
|
}
|
|
76
68
|
if (ticker.close !== undefined && ticker.open !== undefined) {
|
|
77
|
-
config["change"] = new Decimal(ticker.close)
|
|
78
|
-
.minus(ticker.open)
|
|
79
|
-
.div(ticker.open)
|
|
80
|
-
.toNumber();
|
|
69
|
+
config["change"] = new Decimal(ticker.close).minus(ticker.open).div(ticker.open).toNumber();
|
|
81
70
|
config["24h_change"] = new Decimal(ticker.close).minus(ticker.open);
|
|
82
71
|
}
|
|
83
72
|
return config;
|
|
84
|
-
}, [
|
|
73
|
+
}, [
|
|
74
|
+
info,
|
|
75
|
+
symbol,
|
|
76
|
+
ticker,
|
|
77
|
+
futures,
|
|
78
|
+
openInterest
|
|
79
|
+
]);
|
|
85
80
|
return value;
|
|
86
81
|
};
|
|
82
|
+
|
|
83
|
+
//# sourceMappingURL=useTickerStream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/orderly/useTickerStream.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport { useQuery } from \"../useQuery\";\nimport { API } from \"@orderly.network/types\";\nimport { Decimal } from \"@orderly.network/utils\";\nimport { useWS } from \"../useWS\";\nimport { useMarkPrice } from \"./useMarkPrice\";\nimport { useIndexPrice } from \"./useIndexPrice\";\nimport { useOpenInterest } from \"./useOpenInterest\";\nimport { useFetures } from \"../unuse/useFetures\";\n\nexport const useTickerStream = (symbol: string) => {\n if (!symbol) {\n throw new Error(\"useFuturesForSymbol requires a symbol\");\n }\n const { data: info } = useQuery<API.MarketInfo>(\n `/v1/public/futures/${symbol}`,\n {\n revalidateOnFocus: false,\n }\n );\n\n const [ticker, setTicker] = useState<any>();\n\n const ws = useWS();\n\n useEffect(() => {\n const unsubscribe = ws.subscribe(\n // { event: \"subscribe\", topic: \"markprices\" },\n `${symbol}@ticker`,\n {\n onMessage: (message: any) => {\n if (message.symbol !== symbol) return;\n\n setTicker(message);\n },\n // onUnsubscribe: () => {\n // return \"markprices\";\n // },\n // onError: (error: any) => {\n //\n // },\n }\n );\n\n return () => {\n setTicker(undefined);\n unsubscribe?.();\n };\n }, [symbol]);\n\n const { data: markPrice } = useMarkPrice(symbol);\n const { data: indexPrice } = useIndexPrice(symbol);\n const { data: openInterest } = useOpenInterest(symbol);\n const { data: futures } = useFetures();\n\n const value = useMemo(() => {\n //\n if (!info) return null;\n if (!ticker || ticker.symbol !== symbol) return info;\n\n const futureIndex = futures?.findIndex(\n (item: any) => item.symbol === symbol\n );\n let _oi = openInterest;\n if (!_oi && futureIndex !== -1 && futures) {\n // @ts-ignore\n _oi = futures[futureIndex].open_interest;\n }\n\n const config: any = {\n ...info,\n mark_price: markPrice,\n index_price: indexPrice,\n open_interest: _oi,\n };\n\n if (ticker.open !== undefined) {\n config[\"24h_open\"] = ticker.open;\n }\n\n if (ticker.close !== undefined) {\n config[\"24h_close\"] = ticker.close;\n }\n\n if (ticker.high !== undefined) {\n config[\"24h_high\"] = ticker.high;\n }\n\n if (ticker.low !== undefined) {\n config[\"24h_low\"] = ticker.low;\n }\n\n if (ticker.volume !== undefined) {\n config[\"24h_volumn\"] = ticker.volume;\n }\n\n if (ticker.close !== undefined && ticker.open !== undefined) {\n config[\"change\"] = new Decimal(ticker.close)\n .minus(ticker.open)\n .div(ticker.open)\n .toNumber();\n\n config[\"24h_change\"] = new Decimal(ticker.close).minus(ticker.open);\n }\n return config;\n }, [info, symbol, ticker, futures, openInterest]);\n\n return value as API.MarketInfo & { change?: Decimal; \"24h_change\"?: Decimal };\n};\n"],"names":["useEffect","useMemo","useState","useQuery","Decimal","useWS","useMarkPrice","useIndexPrice","useOpenInterest","useFetures","useTickerStream","symbol","Error","data","info","revalidateOnFocus","ticker","setTicker","ws","unsubscribe","subscribe","onMessage","message","undefined","markPrice","indexPrice","openInterest","futures","value","futureIndex","findIndex","item","_oi","open_interest","config","mark_price","index_price","open","close","high","low","volume","minus","div","toNumber"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,QAAQ;AACrD,SAASC,QAAQ,QAAQ,cAAc;AAEvC,SAASC,OAAO,QAAQ,yBAAyB;AACjD,SAASC,KAAK,QAAQ,WAAW;AACjC,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,eAAe,QAAQ,oBAAoB;AACpD,SAASC,UAAU,QAAQ,sBAAsB;AAEjD,OAAO,MAAMC,kBAAkB,CAACC;IAC9B,IAAI,CAACA,QAAQ;QACX,MAAM,IAAIC,MAAM;IAClB;IACA,MAAM,EAAEC,MAAMC,IAAI,EAAE,GAAGX,SACrB,CAAC,mBAAmB,EAAEQ,OAAO,CAAC,EAC9B;QACEI,mBAAmB;IACrB;IAGF,MAAM,CAACC,QAAQC,UAAU,GAAGf;IAE5B,MAAMgB,KAAKb;IAEXL,UAAU;QACR,MAAMmB,cAAcD,GAAGE,SAAS,CAC9B,+CAA+C;QAC/C,CAAC,EAAET,OAAO,OAAO,CAAC,EAClB;YACEU,WAAW,CAACC;gBACV,IAAIA,QAAQX,MAAM,KAAKA,QAAQ;gBAE/BM,UAAUK;YACZ;QAOF;QAGF,OAAO;YACLL,UAAUM;YACVJ;QACF;IACF,GAAG;QAACR;KAAO;IAEX,MAAM,EAAEE,MAAMW,SAAS,EAAE,GAAGlB,aAAaK;IACzC,MAAM,EAAEE,MAAMY,UAAU,EAAE,GAAGlB,cAAcI;IAC3C,MAAM,EAAEE,MAAMa,YAAY,EAAE,GAAGlB,gBAAgBG;IAC/C,MAAM,EAAEE,MAAMc,OAAO,EAAE,GAAGlB;IAE1B,MAAMmB,QAAQ3B,QAAQ;QACpB,EAAE;QACF,IAAI,CAACa,MAAM,OAAO;QAClB,IAAI,CAACE,UAAUA,OAAOL,MAAM,KAAKA,QAAQ,OAAOG;QAEhD,MAAMe,cAAcF,SAASG,UAC3B,CAACC,OAAcA,KAAKpB,MAAM,KAAKA;QAEjC,IAAIqB,MAAMN;QACV,IAAI,CAACM,OAAOH,gBAAgB,CAAC,KAAKF,SAAS;YACzC,aAAa;YACbK,MAAML,OAAO,CAACE,YAAY,CAACI,aAAa;QAC1C;QAEA,MAAMC,SAAc;YAClB,GAAGpB,IAAI;YACPqB,YAAYX;YACZY,aAAaX;YACbQ,eAAeD;QACjB;QAEA,IAAIhB,OAAOqB,IAAI,KAAKd,WAAW;YAC7BW,MAAM,CAAC,WAAW,GAAGlB,OAAOqB,IAAI;QAClC;QAEA,IAAIrB,OAAOsB,KAAK,KAAKf,WAAW;YAC9BW,MAAM,CAAC,YAAY,GAAGlB,OAAOsB,KAAK;QACpC;QAEA,IAAItB,OAAOuB,IAAI,KAAKhB,WAAW;YAC7BW,MAAM,CAAC,WAAW,GAAGlB,OAAOuB,IAAI;QAClC;QAEA,IAAIvB,OAAOwB,GAAG,KAAKjB,WAAW;YAC5BW,MAAM,CAAC,UAAU,GAAGlB,OAAOwB,GAAG;QAChC;QAEA,IAAIxB,OAAOyB,MAAM,KAAKlB,WAAW;YAC/BW,MAAM,CAAC,aAAa,GAAGlB,OAAOyB,MAAM;QACtC;QAEA,IAAIzB,OAAOsB,KAAK,KAAKf,aAAaP,OAAOqB,IAAI,KAAKd,WAAW;YAC3DW,MAAM,CAAC,SAAS,GAAG,IAAI9B,QAAQY,OAAOsB,KAAK,EACxCI,KAAK,CAAC1B,OAAOqB,IAAI,EACjBM,GAAG,CAAC3B,OAAOqB,IAAI,EACfO,QAAQ;YAEXV,MAAM,CAAC,aAAa,GAAG,IAAI9B,QAAQY,OAAOsB,KAAK,EAAEI,KAAK,CAAC1B,OAAOqB,IAAI;QACpE;QACA,OAAOH;IACT,GAAG;QAACpB;QAAMH;QAAQK;QAAQW;QAASD;KAAa;IAEhD,OAAOE;AACT,EAAE"}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import useSWRSubscription from "swr/subscription";
|
|
2
2
|
import { useWS } from "../useWS";
|
|
3
|
-
export const useWalletSubscription = (options)
|
|
3
|
+
export const useWalletSubscription = (options)=>{
|
|
4
4
|
const ws = useWS();
|
|
5
|
-
return useSWRSubscription("wallet", (_, { next })
|
|
5
|
+
return useSWRSubscription("wallet", (_, { next })=>{
|
|
6
6
|
const unsubscribe = ws.privateSubscribe({
|
|
7
7
|
id: "wallet",
|
|
8
8
|
event: "subscribe",
|
|
9
9
|
topic: "wallet",
|
|
10
|
-
ts: Date.now()
|
|
10
|
+
ts: Date.now()
|
|
11
11
|
}, {
|
|
12
|
-
onMessage: (data)
|
|
12
|
+
onMessage: (data)=>{
|
|
13
13
|
//
|
|
14
14
|
options?.onMessage?.(data);
|
|
15
15
|
next(null, data);
|
|
16
|
-
}
|
|
16
|
+
}
|
|
17
17
|
});
|
|
18
|
-
return ()
|
|
18
|
+
return ()=>unsubscribe();
|
|
19
19
|
});
|
|
20
20
|
};
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=useWalletSubscription.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/orderly/useWalletSubscription.ts"],"sourcesContent":["import useSWRSubscription from \"swr/subscription\";\nimport { useWS } from \"../useWS\";\n\nexport const useWalletSubscription = (options?: {\n onMessage?: (data: any) => void;\n}) => {\n const ws = useWS();\n\n return useSWRSubscription(\"wallet\", (_, { next }) => {\n const unsubscribe = ws.privateSubscribe(\n {\n id: \"wallet\",\n event: \"subscribe\",\n topic: \"wallet\",\n ts: Date.now(),\n },\n {\n onMessage: (data: any) => {\n //\n options?.onMessage?.(data);\n next(null, data);\n },\n }\n );\n\n return () => unsubscribe();\n });\n};\n"],"names":["useSWRSubscription","useWS","useWalletSubscription","options","ws","_","next","unsubscribe","privateSubscribe","id","event","topic","ts","Date","now","onMessage","data"],"rangeMappings":";;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,wBAAwB,mBAAmB;AAClD,SAASC,KAAK,QAAQ,WAAW;AAEjC,OAAO,MAAMC,wBAAwB,CAACC;IAGpC,MAAMC,KAAKH;IAEX,OAAOD,mBAAmB,UAAU,CAACK,GAAG,EAAEC,IAAI,EAAE;QAC9C,MAAMC,cAAcH,GAAGI,gBAAgB,CACrC;YACEC,IAAI;YACJC,OAAO;YACPC,OAAO;YACPC,IAAIC,KAAKC,GAAG;QACd,GACA;YACEC,WAAW,CAACC;gBACV,EAAE;gBACFb,SAASY,YAAYC;gBACrBV,KAAK,MAAMU;YACb;QACF;QAGF,OAAO,IAAMT;IACf;AACF,EAAE"}
|
|
@@ -2,19 +2,21 @@ import { useCallback, useMemo, useState } from "react";
|
|
|
2
2
|
import { useHoldingStream } from "./useHoldingStream";
|
|
3
3
|
import { useCollateral } from "./useCollateral";
|
|
4
4
|
import { useAccount } from "../useAccount";
|
|
5
|
-
export const useWithdraw = ()
|
|
5
|
+
export const useWithdraw = ()=>{
|
|
6
6
|
const { account, state } = useAccount();
|
|
7
7
|
const [isLoading, setIsLoading] = useState(false);
|
|
8
8
|
const { unsettledPnL, availableBalance, freeCollateral } = useCollateral();
|
|
9
9
|
// const withdrawQueue = useRef<number[]>([]);
|
|
10
|
-
const withdraw = useCallback((inputs)
|
|
11
|
-
return account.assetsManager.withdraw(inputs).then((res)
|
|
10
|
+
const withdraw = useCallback((inputs)=>{
|
|
11
|
+
return account.assetsManager.withdraw(inputs).then((res)=>{
|
|
12
12
|
// if (res.success) {
|
|
13
13
|
// withdrawQueue.current.push(res.data.withdraw_id);
|
|
14
14
|
// }
|
|
15
15
|
return res;
|
|
16
16
|
});
|
|
17
|
-
}, [
|
|
17
|
+
}, [
|
|
18
|
+
state
|
|
19
|
+
]);
|
|
18
20
|
const { usdc } = useHoldingStream();
|
|
19
21
|
// useEffect(() => {
|
|
20
22
|
// const unsubscribe = ws.privateSubscribe(
|
|
@@ -39,26 +41,32 @@ export const useWithdraw = () => {
|
|
|
39
41
|
// );
|
|
40
42
|
// return () => unsubscribe();
|
|
41
43
|
// }, []);
|
|
42
|
-
const maxAmount = useMemo(()
|
|
44
|
+
const maxAmount = useMemo(()=>{
|
|
43
45
|
// if (!usdc || !usdc.holding) return 0;
|
|
44
46
|
// if (unsettledPnL >= 0) return usdc?.holding ?? 0;
|
|
45
47
|
// return new Decimal(usdc.holding).add(unsettledPnL).toNumber();
|
|
46
48
|
return freeCollateral;
|
|
47
|
-
}, [
|
|
48
|
-
|
|
49
|
+
}, [
|
|
50
|
+
freeCollateral
|
|
51
|
+
]);
|
|
52
|
+
const availableWithdraw = useMemo(()=>{
|
|
49
53
|
if (unsettledPnL < 0) {
|
|
50
54
|
return freeCollateral;
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
55
|
+
} else {
|
|
53
56
|
return freeCollateral - unsettledPnL;
|
|
54
57
|
}
|
|
55
|
-
}, [
|
|
58
|
+
}, [
|
|
59
|
+
freeCollateral,
|
|
60
|
+
unsettledPnL
|
|
61
|
+
]);
|
|
56
62
|
return {
|
|
57
63
|
withdraw,
|
|
58
64
|
isLoading,
|
|
59
65
|
maxAmount,
|
|
60
66
|
availableBalance,
|
|
61
67
|
availableWithdraw,
|
|
62
|
-
unsettledPnL
|
|
68
|
+
unsettledPnL
|
|
63
69
|
};
|
|
64
70
|
};
|
|
71
|
+
|
|
72
|
+
//# sourceMappingURL=useWithdraw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/orderly/useWithdraw.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from \"react\";\nimport { useHoldingStream } from \"./useHoldingStream\";\nimport { useCollateral } from \"./useCollateral\";\nimport { useAccount } from \"../useAccount\";\n\nexport const useWithdraw = () => {\n const { account, state } = useAccount();\n\n const [isLoading, setIsLoading] = useState(false);\n\n const { unsettledPnL, availableBalance, freeCollateral } = useCollateral();\n\n // const withdrawQueue = useRef<number[]>([]);\n\n const withdraw = useCallback(\n (inputs: {\n chainId: number;\n token: string;\n amount: string;\n allowCrossChainWithdraw: boolean;\n }): Promise<any> => {\n return account.assetsManager.withdraw(inputs).then((res: any) => {\n // if (res.success) {\n // withdrawQueue.current.push(res.data.withdraw_id);\n // }\n return res;\n });\n },\n [state]\n );\n\n const { usdc } = useHoldingStream();\n\n // useEffect(() => {\n // const unsubscribe = ws.privateSubscribe(\n // {\n // id: \"wallet\",\n // event: \"subscribe\",\n // topic: \"wallet\",\n // ts: Date.now(),\n // },\n // {\n // onMessage: (data: any) => {\n // //\n // const { id } = data;\n\n // if (withdrawQueue.current.includes(id)) {\n // withdrawQueue.current = withdrawQueue.current.filter(\n // (item) => item !== id\n // );\n // ee.emit(\"withdraw:success\", data);\n // }\n // },\n // }\n // );\n\n // return () => unsubscribe();\n // }, []);\n\n const maxAmount = useMemo(() => {\n // if (!usdc || !usdc.holding) return 0;\n\n // if (unsettledPnL >= 0) return usdc?.holding ?? 0;\n\n // return new Decimal(usdc.holding).add(unsettledPnL).toNumber();\n\n return freeCollateral;\n }, [freeCollateral]);\n\n const availableWithdraw = useMemo(() => {\n if (unsettledPnL < 0) {\n return freeCollateral;\n } else {\n return freeCollateral - unsettledPnL;\n }\n }, [freeCollateral, unsettledPnL]);\n\n return {\n withdraw,\n isLoading,\n maxAmount,\n availableBalance,\n availableWithdraw,\n unsettledPnL,\n };\n};\n"],"names":["useCallback","useMemo","useState","useHoldingStream","useCollateral","useAccount","useWithdraw","account","state","isLoading","setIsLoading","unsettledPnL","availableBalance","freeCollateral","withdraw","inputs","assetsManager","then","res","usdc","maxAmount","availableWithdraw"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,QAAQ;AACvD,SAASC,gBAAgB,QAAQ,qBAAqB;AACtD,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,UAAU,QAAQ,gBAAgB;AAE3C,OAAO,MAAMC,cAAc;IACzB,MAAM,EAAEC,OAAO,EAAEC,KAAK,EAAE,GAAGH;IAE3B,MAAM,CAACI,WAAWC,aAAa,GAAGR,SAAS;IAE3C,MAAM,EAAES,YAAY,EAAEC,gBAAgB,EAAEC,cAAc,EAAE,GAAGT;IAE3D,8CAA8C;IAE9C,MAAMU,WAAWd,YACf,CAACe;QAMC,OAAOR,QAAQS,aAAa,CAACF,QAAQ,CAACC,QAAQE,IAAI,CAAC,CAACC;YAClD,qBAAqB;YACrB,sDAAsD;YACtD,IAAI;YACJ,OAAOA;QACT;IACF,GACA;QAACV;KAAM;IAGT,MAAM,EAAEW,IAAI,EAAE,GAAGhB;IAEjB,oBAAoB;IACpB,6CAA6C;IAC7C,QAAQ;IACR,sBAAsB;IACtB,4BAA4B;IAC5B,yBAAyB;IACzB,wBAAwB;IACxB,SAAS;IACT,QAAQ;IACR,oCAAoC;IACpC,aAAa;IACb,+BAA+B;IAE/B,oDAAoD;IACpD,kEAAkE;IAClE,oCAAoC;IACpC,eAAe;IACf,+CAA+C;IAC/C,YAAY;IACZ,WAAW;IACX,QAAQ;IACR,OAAO;IAEP,gCAAgC;IAChC,UAAU;IAEV,MAAMiB,YAAYnB,QAAQ;QACxB,wCAAwC;QAExC,oDAAoD;QAEpD,iEAAiE;QAEjE,OAAOY;IACT,GAAG;QAACA;KAAe;IAEnB,MAAMQ,oBAAoBpB,QAAQ;QAChC,IAAIU,eAAe,GAAG;YACpB,OAAOE;QACT,OAAO;YACL,OAAOA,iBAAiBF;QAC1B;IACF,GAAG;QAACE;QAAgBF;KAAa;IAEjC,OAAO;QACLG;QACAL;QACAW;QACAR;QACAS;QACAV;IACF;AACF,EAAE"}
|
package/esm/orderlyContext.d.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { type ConfigStore, type OrderlyKeyStore, type getWalletAdapterFunc } from "@orderly.network/core";
|
|
3
|
-
import { NetworkId } from "@orderly.network/types";
|
|
3
|
+
import { Chain, NetworkId } from "@orderly.network/types";
|
|
4
|
+
export type filteredChains = {
|
|
5
|
+
mainnet?: Chain[];
|
|
6
|
+
testnet?: Chain[];
|
|
7
|
+
};
|
|
8
|
+
export type chainFilterFunc = (config: ConfigStore) => filteredChains;
|
|
9
|
+
export type chainFilter = filteredChains | chainFilterFunc;
|
|
4
10
|
export interface OrderlyConfigContextState {
|
|
5
11
|
fetcher?: (url: string, init: RequestInit) => Promise<any>;
|
|
6
12
|
configStore: ConfigStore;
|
|
@@ -11,6 +17,7 @@ export interface OrderlyConfigContextState {
|
|
|
11
17
|
* @hidden
|
|
12
18
|
*/
|
|
13
19
|
onlyTestnet?: boolean;
|
|
20
|
+
filteredChains?: filteredChains | null;
|
|
14
21
|
}
|
|
15
22
|
export declare const OrderlyContext: import("react").Context<OrderlyConfigContextState>;
|
|
16
23
|
export declare const OrderlyProvider: import("react").Provider<OrderlyConfigContextState>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orderlyContext.d.ts","sourceRoot":"","sources":["../src/orderlyContext.ts"],"names":[],"mappings":";AAEA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"orderlyContext.d.ts","sourceRoot":"","sources":["../src/orderlyContext.ts"],"names":[],"mappings":";AAEA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,WAAW,KAAK,cAAc,CAAC;AAEtE,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,eAAe,CAAC;AAE3D,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAE3D,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,eAAe,CAAC;IAC1B,gBAAgB,EAAE,oBAAoB,CAAC;IAEvC,SAAS,EAAE,SAAS,CAAC;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CACxC;AAED,eAAO,MAAM,cAAc,oDAEI,CAAC;AAEhC,eAAO,MAAM,eAAe,qDAA0B,CAAC"}
|
package/esm/orderlyContext.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/orderlyContext.ts"],"sourcesContent":["import { createContext } from \"react\";\n\nimport {\n type ConfigStore,\n type OrderlyKeyStore,\n type getWalletAdapterFunc,\n} from \"@orderly.network/core\";\n\nimport { Chain, NetworkId } from \"@orderly.network/types\";\n\nexport type filteredChains = {\n mainnet?: Chain[];\n testnet?: Chain[];\n};\n\nexport type chainFilterFunc = (config: ConfigStore) => filteredChains;\n\nexport type chainFilter = filteredChains | chainFilterFunc;\n\nexport interface OrderlyConfigContextState {\n fetcher?: (url: string, init: RequestInit) => Promise<any>;\n\n configStore: ConfigStore;\n keyStore: OrderlyKeyStore;\n getWalletAdapter: getWalletAdapterFunc;\n\n networkId: NetworkId;\n\n /**\n * @hidden\n */\n onlyTestnet?: boolean;\n // extraApis:ExtraAPIs\n filteredChains?: filteredChains | null;\n}\n\nexport const OrderlyContext = createContext<OrderlyConfigContextState>({\n // configStore: new MemoryConfigStore(),\n} as OrderlyConfigContextState);\n\nexport const OrderlyProvider = OrderlyContext.Provider;\n"],"names":["createContext","OrderlyContext","OrderlyProvider","Provider"],"rangeMappings":";;;","mappings":"AAAA,SAASA,aAAa,QAAQ,QAAQ;AAoCtC,OAAO,MAAMC,iBAAiBD,cAAyC;AAEvE,GAAgC;AAEhC,OAAO,MAAME,kBAAkBD,eAAeE,QAAQ,CAAC"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { EventEmitter } from "@orderly.network/core";
|
|
2
2
|
class DataCenter extends EventEmitter {
|
|
3
|
-
constructor()
|
|
3
|
+
constructor(){
|
|
4
4
|
super();
|
|
5
|
-
this.observe = (key, callback) => {
|
|
6
|
-
// merge data
|
|
7
|
-
this.on(key, callback);
|
|
8
|
-
};
|
|
9
|
-
this.unobserve = (key, callback) => {
|
|
10
|
-
this.off(key, callback);
|
|
11
|
-
};
|
|
12
5
|
}
|
|
6
|
+
observe = (key, callback)=>{
|
|
7
|
+
// merge data
|
|
8
|
+
this.on(key, callback);
|
|
9
|
+
};
|
|
10
|
+
unobserve = (key, callback)=>{
|
|
11
|
+
this.off(key, callback);
|
|
12
|
+
};
|
|
13
13
|
}
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=dataCenter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/dataCenter.ts"],"sourcesContent":["import { EventEmitter } from \"@orderly.network/core\";\n\nclass DataCenter extends EventEmitter {\n constructor() {\n super();\n }\n\n observe = (key: string, callback: (value: any) => void) => {\n // merge data\n this.on(key, callback);\n };\n\n unobserve = (key: string, callback: (value: any) => void) => {\n this.off(key, callback);\n };\n}\n"],"names":["EventEmitter","DataCenter","constructor","observe","key","callback","on","unobserve","off"],"rangeMappings":";;;;;;;;;;;;","mappings":"AAAA,SAASA,YAAY,QAAQ,wBAAwB;AAErD,MAAMC,mBAAmBD;IACvBE,aAAc;QACZ,KAAK;IACP;IAEAC,UAAU,CAACC,KAAaC;QACtB,aAAa;QACb,IAAI,CAACC,EAAE,CAACF,KAAKC;IACf,EAAE;IAEFE,YAAY,CAACH,KAAaC;QACxB,IAAI,CAACG,GAAG,CAACJ,KAAKC;IAChB,EAAE;AACJ"}
|
|
@@ -1,41 +1,38 @@
|
|
|
1
1
|
import { BasePaint } from "./basePaint";
|
|
2
2
|
export class BackgroundPaint extends BasePaint {
|
|
3
|
-
|
|
4
|
-
super(...arguments);
|
|
5
|
-
this.img = null;
|
|
6
|
-
}
|
|
3
|
+
img = null;
|
|
7
4
|
async draw(options) {
|
|
8
|
-
|
|
9
|
-
if (typeof options.backgroundImg !== "undefined" &&
|
|
10
|
-
options.backgroundImg !== "") {
|
|
5
|
+
;
|
|
6
|
+
if (typeof options.backgroundImg !== "undefined" && options.backgroundImg !== "") {
|
|
11
7
|
return this._drawImage(options);
|
|
12
|
-
}
|
|
13
|
-
else if (typeof options.backgroundColor !== "undefined") {
|
|
8
|
+
} else if (typeof options.backgroundColor !== "undefined") {
|
|
14
9
|
return this._drawColor(options);
|
|
15
10
|
}
|
|
16
11
|
}
|
|
17
12
|
_drawColor(options) {
|
|
18
|
-
|
|
13
|
+
;
|
|
19
14
|
this.ctx.fillStyle = options.backgroundColor || "black";
|
|
20
15
|
this.ctx.fillRect(0, 0, this.painter.width * this.painter.ratio, this.painter.height * this.painter.ratio);
|
|
21
16
|
}
|
|
22
17
|
async _drawImage(options) {
|
|
23
|
-
return this.loadImg(options.backgroundImg).then((img)
|
|
18
|
+
return this.loadImg(options.backgroundImg).then((img)=>{
|
|
24
19
|
this.img = img;
|
|
25
20
|
this.ctx.drawImage(this.img, 0, 0, this.painter.width * this.painter.ratio, this.painter.height * this.painter.ratio);
|
|
26
21
|
});
|
|
27
22
|
}
|
|
28
23
|
loadImg(url) {
|
|
29
|
-
return new Promise((resolve, reject)
|
|
24
|
+
return new Promise((resolve, reject)=>{
|
|
30
25
|
const img = new Image();
|
|
31
26
|
img.crossOrigin = "anonymous";
|
|
32
|
-
img.onload = ()
|
|
27
|
+
img.onload = ()=>{
|
|
33
28
|
resolve(img);
|
|
34
29
|
};
|
|
35
|
-
img.onerror = (e)
|
|
30
|
+
img.onerror = (e)=>{
|
|
36
31
|
reject(e);
|
|
37
32
|
};
|
|
38
33
|
img.src = url;
|
|
39
34
|
});
|
|
40
35
|
}
|
|
41
36
|
}
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=backgroundPaint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/services/painter/backgroundPaint.ts"],"sourcesContent":["import { BasePaint, type DrawOptions } from \"./basePaint\";\n\nexport class BackgroundPaint extends BasePaint {\n private img: HTMLImageElement | null = null;\n\n async draw(options: DrawOptions) {\n console.log(\"BackgroundPaint draw: \", options.backgroundColor);\n\n if (\n typeof options.backgroundImg !== \"undefined\" &&\n options.backgroundImg !== \"\"\n ) {\n return this._drawImage(options);\n } else if (typeof options.backgroundColor !== \"undefined\") {\n return this._drawColor(options);\n }\n }\n\n _drawColor(options: DrawOptions) {\n console.log(\"graw background color\", options);\n this.ctx.fillStyle = options.backgroundColor || \"black\";\n this.ctx.fillRect(\n 0,\n 0,\n this.painter.width * this.painter.ratio,\n this.painter.height * this.painter.ratio\n );\n }\n\n async _drawImage(options: DrawOptions) {\n return this.loadImg(options.backgroundImg!).then((img) => {\n this.img = img;\n this.ctx.drawImage(\n this.img!,\n 0,\n 0,\n this.painter.width * this.painter.ratio,\n this.painter.height * this.painter.ratio\n );\n });\n }\n\n private loadImg(url: string): Promise<HTMLImageElement> {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.crossOrigin = \"anonymous\";\n img.onload = () => {\n resolve(img);\n };\n img.onerror = (e) => {\n reject(e);\n };\n img.src = url;\n });\n }\n}\n"],"names":["BasePaint","BackgroundPaint","img","draw","options","backgroundImg","_drawImage","backgroundColor","_drawColor","ctx","fillStyle","fillRect","painter","width","ratio","height","loadImg","then","drawImage","url","Promise","resolve","reject","Image","crossOrigin","onload","onerror","e","src"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,SAAS,QAA0B,cAAc;AAE1D,OAAO,MAAMC,wBAAwBD;IAC3BE,MAA+B,KAAK;IAE5C,MAAMC,KAAKC,OAAoB,EAAE;;QAG/B,IACE,OAAOA,QAAQC,aAAa,KAAK,eACjCD,QAAQC,aAAa,KAAK,IAC1B;YACA,OAAO,IAAI,CAACC,UAAU,CAACF;QACzB,OAAO,IAAI,OAAOA,QAAQG,eAAe,KAAK,aAAa;YACzD,OAAO,IAAI,CAACC,UAAU,CAACJ;QACzB;IACF;IAEAI,WAAWJ,OAAoB,EAAE;;QAE/B,IAAI,CAACK,GAAG,CAACC,SAAS,GAAGN,QAAQG,eAAe,IAAI;QAChD,IAAI,CAACE,GAAG,CAACE,QAAQ,CACf,GACA,GACA,IAAI,CAACC,OAAO,CAACC,KAAK,GAAG,IAAI,CAACD,OAAO,CAACE,KAAK,EACvC,IAAI,CAACF,OAAO,CAACG,MAAM,GAAG,IAAI,CAACH,OAAO,CAACE,KAAK;IAE5C;IAEA,MAAMR,WAAWF,OAAoB,EAAE;QACrC,OAAO,IAAI,CAACY,OAAO,CAACZ,QAAQC,aAAa,EAAGY,IAAI,CAAC,CAACf;YAChD,IAAI,CAACA,GAAG,GAAGA;YACX,IAAI,CAACO,GAAG,CAACS,SAAS,CAChB,IAAI,CAAChB,GAAG,EACR,GACA,GACA,IAAI,CAACU,OAAO,CAACC,KAAK,GAAG,IAAI,CAACD,OAAO,CAACE,KAAK,EACvC,IAAI,CAACF,OAAO,CAACG,MAAM,GAAG,IAAI,CAACH,OAAO,CAACE,KAAK;QAE5C;IACF;IAEQE,QAAQG,GAAW,EAA6B;QACtD,OAAO,IAAIC,QAAQ,CAACC,SAASC;YAC3B,MAAMpB,MAAM,IAAIqB;YAChBrB,IAAIsB,WAAW,GAAG;YAClBtB,IAAIuB,MAAM,GAAG;gBACXJ,QAAQnB;YACV;YACAA,IAAIwB,OAAO,GAAG,CAACC;gBACbL,OAAOK;YACT;YACAzB,IAAI0B,GAAG,GAAGT;QACZ;IACF;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/services/painter/basePaint.ts"],"sourcesContent":["import { OrderSide } from \"@orderly.network/types\";\nimport { PosterPainter } from \"./painter\";\n\nexport type posterDataSource = {\n /**\n * slogan of the poster\n */\n message?: string;\n position: {\n symbol: string;\n // side: OrderSide;\n side: \"LONG\" | \"SHORT\";\n /**\n * The leverage of the position\n */\n leverage: number;\n /**\n * The unrealized PnL of the position\n */\n pnl: number;\n /**\n * The return on investment of the position\n */\n ROI: number;\n /**\n * The informations of the position, such as open price, opened at, mark price, quantity and custom message.\n */\n informations: { title: string; value: string }[];\n /**\n * The quote currency of the position\n */\n currency: string;\n };\n /**\n * The domain of the application\n */\n domain: string;\n\n /**\n * The update time of the position\n */\n updateTime: string;\n};\n\nexport type layoutInfo = {\n width?: number;\n height?: number;\n // padding?: number;\n // margin?: number;\n fontSize?: number;\n\n color?: string;\n textAlign?: CanvasTextAlign;\n textBaseline?: CanvasTextBaseline;\n position: Partial<{\n left: number;\n right: number;\n top: number;\n bottom: number;\n }>;\n};\n\nexport type PosterLayoutConfig = {\n message?: layoutInfo;\n\n domain?: layoutInfo;\n position?: layoutInfo;\n unrealizedPnl?: layoutInfo & {\n secondaryColor: string;\n secondaryFontSize: number;\n };\n\n informations?: layoutInfo & {\n labelColor?: string;\n };\n updateTime?: layoutInfo;\n};\n\nexport type DrawOptions = {\n /**\n * Color of common text\n */\n color?: string;\n fontFamily?: string;\n /**\n * Lose color\n */\n lossColor?: string;\n /**\n * Profit color\n */\n profitColor?: string;\n /**\n * The brand color of the application\n */\n brandColor?: string;\n backgroundColor?: string;\n backgroundImg?: string;\n data?: posterDataSource;\n layout?: PosterLayoutConfig;\n};\n\nexport abstract class BasePaint {\n constructor(\n protected ctx: CanvasRenderingContext2D,\n protected painter: PosterPainter\n ) {}\n abstract draw(options: DrawOptions): Promise<void>;\n}\n"],"names":["BasePaint","constructor","ctx","painter"],"rangeMappings":";;;;;;;","mappings":"AAsGA,OAAO,MAAeA;;;IACpBC,YACE,AAAUC,GAA6B,EACvC,AAAUC,OAAsB,CAChC;aAFUD,MAAAA;aACAC,UAAAA;IACT;AAEL"}
|