@orderly.network/hooks 2.10.1-alpha.0 → 2.10.2-alpha.0

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/dist/index.mjs CHANGED
@@ -4,7 +4,7 @@ import * as useSWR5 from 'swr';
4
4
  export { useSWR5 as swr };
5
5
  export { unstable_serialize, default as useSWR, useSWRConfig } from 'swr';
6
6
  import { TesnetTokenFallback, ArbitrumSepoliaTokenInfo, SolanaDevnetTokenInfo, OrderType, OrderSide, SDKError, TrackerEventName, AccountStatusEnum, AlgoOrderType, AlgoOrderRootType, OrderStatus, ArbitrumSepoliaChainInfo, SolanaDevnetChainInfo, EMPTY_LIST, EMPTY_OBJECT, isNativeTokenChecker, nativeTokenAddress, ChainKey, chainsInfoMap, ARBITRUM_TESTNET_CHAINID, ARBITRUM_MAINNET_CHAINID, ChainNamespace, MaxUint256, DEPOSIT_FEE_RATE, ETHEREUM_MAINNET_CHAINID, LedgerWalletKey, SOLANA_TESTNET_CHAINID, MONAD_TESTNET_CHAINID, ABSTRACT_TESTNET_CHAINID, BSC_TESTNET_CHAINID, SolanaChains, PositionType, DistributionType, TriggerPriceType } from '@orderly.network/types';
7
- import React2, { createContext, useContext, useCallback, useState, useEffect, useMemo, useRef, useId, useLayoutEffect } from 'react';
7
+ import React, { createContext, useContext, useCallback, useState, useEffect, useMemo, useRef, useId, useLayoutEffect } from 'react';
8
8
  import { zero, windowGuard, getTimestamp, getGlobalObject, Decimal, timeConvertString, isTestnet, getPrecisionByNumber, getBBOType, camelCaseToUnderscoreCase, commify, todpIfNeed, getTPSLDirection } from '@orderly.network/utils';
9
9
  import useSWRMutation from 'swr/mutation';
10
10
  import useConstant from 'use-constant';
@@ -38,9 +38,9 @@ var __export = (target, all) => {
38
38
  // src/version.ts
39
39
  if (typeof window !== "undefined") {
40
40
  window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};
41
- window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "2.10.1-alpha.0";
41
+ window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "2.10.2-alpha.0";
42
42
  }
43
- var version_default = "2.10.1-alpha.0";
43
+ var version_default = "2.10.2-alpha.0";
44
44
  var fetcher = (url, init2 = {}, queryOptions) => get(url, init2, queryOptions?.formatter);
45
45
  var noCacheConfig = {
46
46
  dedupingInterval: 0,
@@ -541,52 +541,39 @@ var useMemoizedFn = (fn) => {
541
541
  }
542
542
  return wrapperRef.current;
543
543
  };
544
+ var orderFilledAudio = null;
545
+ function getOrderFilledAudio() {
546
+ if (!orderFilledAudio) {
547
+ orderFilledAudio = new Audio();
548
+ }
549
+ return orderFilledAudio;
550
+ }
544
551
  var useAudioPlayer = (src, options = {}) => {
545
- const { volume = 1, loop, autoPlay } = options;
546
- const audioRef = useRef(null);
547
- const [status, setStatus] = useState("idle");
548
- const onPlay = () => {
549
- setStatus("play");
550
- };
551
- const onPlaying = () => {
552
- setStatus("playing");
553
- };
554
- const onPause = () => {
555
- setStatus("paused");
556
- };
557
- const onEnded = () => {
558
- setStatus("ended");
559
- };
560
- const onError = () => {
561
- setStatus("error");
562
- };
563
- const element = useMemo(() => {
564
- return React2.createElement("audio", {
565
- controls: false,
566
- ref: audioRef,
567
- autoPlay,
568
- src,
569
- style: { display: "none" },
570
- onPlay,
571
- onPlaying,
572
- onPause,
573
- onEnded,
574
- onError
575
- });
576
- }, [autoPlay, src, onPlay, onPlaying, onPause, onEnded, onError]);
552
+ const { volume = 1, enabled = true } = options;
553
+ const srcRef = useRef(src);
554
+ const enabledRef = useRef(enabled);
555
+ const volumeRef = useRef(volume);
577
556
  useEffect(() => {
578
- const el = audioRef.current;
579
- if (!el) {
580
- return;
581
- }
582
- el.loop = loop ?? false;
557
+ srcRef.current = src;
558
+ enabledRef.current = enabled;
559
+ volumeRef.current = volume;
560
+ }, [src, enabled, volume]);
561
+ useEffect(() => {
562
+ const el = getOrderFilledAudio();
583
563
  el.volume = Math.max(0, Math.min(1, volume));
584
- return () => {
585
- audioRef.current?.pause();
586
- audioRef.current = null;
587
- };
588
- }, [loop, volume]);
589
- return [element, audioRef, status];
564
+ }, [volume]);
565
+ const play = useCallback(() => {
566
+ const currentSrc = srcRef.current;
567
+ const currentEnabled = enabledRef.current;
568
+ if (!currentEnabled || !currentSrc) return;
569
+ const el = getOrderFilledAudio();
570
+ el.pause();
571
+ el.src = currentSrc;
572
+ el.volume = Math.max(0, Math.min(1, volumeRef.current));
573
+ el.play()?.catch(() => {
574
+ });
575
+ }, []);
576
+ return { play };
590
577
  };
591
578
 
592
579
  // src/referral/swr.ts
@@ -10907,6 +10894,18 @@ var useStatisticsDaily = (params, options) => {
10907
10894
  [data, aggregateValue]
10908
10895
  );
10909
10896
  };
10897
+ var useUserStatistics = () => {
10898
+ const { data, isValidating } = usePrivateQuery(
10899
+ "/v1/client/statistics",
10900
+ {
10901
+ revalidateOnFocus: false
10902
+ }
10903
+ );
10904
+ return useMemo(
10905
+ () => [data ?? null, { isValidating }],
10906
+ [data, isValidating]
10907
+ );
10908
+ };
10910
10909
  var useFundingFeeHistory = (params, options) => {
10911
10910
  const { symbol, dataRange, page = 1, pageSize = 10 } = params;
10912
10911
  const infos = useSymbolsInfo();
@@ -11033,7 +11032,7 @@ var useTransferHistory = (parmas) => {
11033
11032
  var useVaultsHistory = (parmas) => {
11034
11033
  const { dataRange, page, size } = parmas;
11035
11034
  const infos = useSymbolsInfo();
11036
- const memoizedQueryKey = React2.useMemo(() => {
11035
+ const memoizedQueryKey = React.useMemo(() => {
11037
11036
  const search = new URLSearchParams();
11038
11037
  search.set("page", page.toString());
11039
11038
  search.set("size", size.toString());
@@ -11051,7 +11050,7 @@ var useVaultsHistory = (parmas) => {
11051
11050
  errorRetryCount: 3
11052
11051
  }
11053
11052
  );
11054
- const parsedData = React2.useMemo(() => {
11053
+ const parsedData = React.useMemo(() => {
11055
11054
  if (!Array.isArray(data?.rows) || !data?.rows.length || infos.isNil) {
11056
11055
  return [];
11057
11056
  }
@@ -11144,6 +11143,7 @@ var useTokenInfo = (token) => {
11144
11143
  };
11145
11144
  var useFutures = () => {
11146
11145
  const { dataAdapter } = useOrderlyContext();
11146
+ const rwaSymbolsInfo = useRwaSymbolsInfoStore();
11147
11147
  const { data } = useQuery("/v1/public/futures", {
11148
11148
  // 24 hours
11149
11149
  focusThrottleInterval: 1e3 * 60 * 60 * 24,
@@ -11160,10 +11160,12 @@ var useFutures = () => {
11160
11160
  });
11161
11161
  const futures = useMemo(() => {
11162
11162
  if (Array.isArray(data)) {
11163
- return typeof dataAdapter?.symbolList === "function" ? dataAdapter.symbolList(data) : data;
11163
+ return typeof dataAdapter?.symbolList === "function" ? dataAdapter.symbolList(data, {
11164
+ rwaSymbolsInfo
11165
+ }) : data;
11164
11166
  }
11165
11167
  return [];
11166
- }, [data, dataAdapter?.symbolList]);
11168
+ }, [data, dataAdapter?.symbolList, rwaSymbolsInfo]);
11167
11169
  return {
11168
11170
  data: futures
11169
11171
  };
@@ -11307,7 +11309,7 @@ var DataCenterProvider = ({
11307
11309
  return /* @__PURE__ */ jsx(DataCenterContext.Provider, { value: memoizedValue, children });
11308
11310
  };
11309
11311
  var OrderlyConfigProvider = (props) => {
11310
- const [account9, setAccount] = React2.useState(null);
11312
+ const [account9, setAccount] = React.useState(null);
11311
11313
  const {
11312
11314
  configStore,
11313
11315
  keyStore,
@@ -18905,6 +18907,6 @@ var useGetEstLiqPrice = (props) => {
18905
18907
  }, [estLiqPrice, markPrice, side]);
18906
18908
  };
18907
18909
 
18908
- export { DefaultLayoutConfig, DistributionId, ENVType2 as ENVType, ERROR_MSG_CODES, EpochStatus, ExtendedConfigStore, MaintenanceStatus, MarketsStorageKey, MarketsType, ORDERLY_ORDERBOOK_DEPTH_KEY, OrderlyConfigProvider, OrderlyContext, OrderlyProvider, StatusProvider, TWType, WalletConnectorContext, WsNetworkStatus, checkNotional, cleanStringStyle, fetcher, findPositionTPSLFromOrders, findTPSLFromOrder, findTPSLOrderPriceFromOrder, getMinNotional, getPriceKey, indexedDBManager, initializeAppDatabase, isCurrentlyClosed, isCurrentlyTrading, noCacheConfig, parseJSON, persistIndexedDB, resetTimestampOffsetState, timestampWaitingMiddleware, useAccount, useAccountInfo2 as useAccountInfo, useAccountInstance, useAccountRewardsHistory, useAllBrokers, useApiKeyManager, useAppStore, useAssetsHistory, useAudioPlayer, useBalanceSubscription, useBalanceTopic, useBoolean, useChain, useChainInfo, useChains, useCheckReferralCode, useCollateral, useCommission, useComputedLTV, useConfig, useConvert, useCurEpochEstimate, useDaily, useDeposit, useDistribution, useDistributionHistory, useEpochInfo, useEstLiqPriceBySymbol, useEventEmitter, useFeeState, useFundingDetails, useFundingFeeHistory, useFundingRate, useFundingRateBySymbol, useFundingRateHistory, useFundingRates, useFundingRatesStore, useGetClaimed, useGetEnv, useGetEstLiqPrice, useGetReferralCode, useGetRwaSymbolCloseTimeInterval, useGetRwaSymbolInfo, useGetRwaSymbolOpenStatus, useGetRwaSymbolOpenTimeInterval, useHoldingStream, useIndexPrice, useIndexPricesStream, useInfiniteQuery, useInitRwaSymbolsRuntime, useInternalTransfer, useKeyStore, useLazyQuery, useLeverage, useLeverageBySymbol, useLocalStorage, useMainTokenStore, useMainnetChainsStore, useMaintenanceStatus, useMarginRatio, useMarkPrice, useMarkPriceBySymbol, useMarkPricesStream, useMarket, useMarketList, useMarketMap, useMarketTradeStream, useMarkets, useMarketsStore, useMarketsStream, useMaxLeverage, useMaxQty, useMaxWithdrawal, useMediaQuery, useMemoizedFn, useMutation, useNetworkInfo, useOdosQuote, useOrderEntity, useOrderEntry2 as useOrderEntry, useOrderEntry as useOrderEntry_deprecated, useOrderStore2 as useOrderStore, useOrderStream, useOrderbookStream, useOrderlyContext, usePortfolio, usePositionActions, usePositionClose, usePositionStream, usePoster, usePreLoadData, usePrivateDataObserver, usePrivateInfiniteQuery, usePrivateQuery, useQuery, useRefereeHistory, useRefereeInfo, useRefereeRebateSummary, useReferralInfo, useReferralRebateSummary, useRestrictedInfo, useRwaSymbolsInfo, useRwaSymbolsInfoStore, useSessionStorage, useSettleSubscription, useSimpleDI, useStatisticsDaily, useStorageChain, useStorageLedgerAddress, useSubAccountAlgoOrderStream, useSubAccountDataObserver, useSubAccountMaxWithdrawal, useSubAccountMutation, useSubAccountQuery, useSubAccountWS, useSwapSupportStore, useSymbolInfo, useSymbolLeverage, useSymbolPriceRange, useSymbolsInfo, useSymbolsInfoStore, useTPSLOrder, useTestTokenStore, useTestnetChainsStore, useTickerStream, useTokenInfo, useTokensInfo, useTpslPriceChecker, useTrack, useTrackingInstance, useTradingRewardsStatus, useTransfer, useTransferHistory, useUpdatedRef, useVaultsHistory, useWS, useWalletConnector, useWalletRewardsHistory, useWalletSubscription, useWalletTopic, useWithdraw, useWsStatus, utils_exports as utils, version_default as version };
18910
+ export { DefaultLayoutConfig, DistributionId, ENVType2 as ENVType, ERROR_MSG_CODES, EpochStatus, ExtendedConfigStore, MaintenanceStatus, MarketsStorageKey, MarketsType, ORDERLY_ORDERBOOK_DEPTH_KEY, OrderlyConfigProvider, OrderlyContext, OrderlyProvider, StatusProvider, TWType, WalletConnectorContext, WsNetworkStatus, checkNotional, cleanStringStyle, fetcher, findPositionTPSLFromOrders, findTPSLFromOrder, findTPSLOrderPriceFromOrder, getMinNotional, getPriceKey, indexedDBManager, initializeAppDatabase, isCurrentlyClosed, isCurrentlyTrading, noCacheConfig, parseJSON, persistIndexedDB, resetTimestampOffsetState, timestampWaitingMiddleware, useAccount, useAccountInfo2 as useAccountInfo, useAccountInstance, useAccountRewardsHistory, useAllBrokers, useApiKeyManager, useAppStore, useAssetsHistory, useAudioPlayer, useBalanceSubscription, useBalanceTopic, useBoolean, useChain, useChainInfo, useChains, useCheckReferralCode, useCollateral, useCommission, useComputedLTV, useConfig, useConvert, useCurEpochEstimate, useDaily, useDeposit, useDistribution, useDistributionHistory, useEpochInfo, useEstLiqPriceBySymbol, useEventEmitter, useFeeState, useFundingDetails, useFundingFeeHistory, useFundingRate, useFundingRateBySymbol, useFundingRateHistory, useFundingRates, useFundingRatesStore, useGetClaimed, useGetEnv, useGetEstLiqPrice, useGetReferralCode, useGetRwaSymbolCloseTimeInterval, useGetRwaSymbolInfo, useGetRwaSymbolOpenStatus, useGetRwaSymbolOpenTimeInterval, useHoldingStream, useIndexPrice, useIndexPricesStream, useInfiniteQuery, useInitRwaSymbolsRuntime, useInternalTransfer, useKeyStore, useLazyQuery, useLeverage, useLeverageBySymbol, useLocalStorage, useMainTokenStore, useMainnetChainsStore, useMaintenanceStatus, useMarginRatio, useMarkPrice, useMarkPriceBySymbol, useMarkPricesStream, useMarket, useMarketList, useMarketMap, useMarketTradeStream, useMarkets, useMarketsStore, useMarketsStream, useMaxLeverage, useMaxQty, useMaxWithdrawal, useMediaQuery, useMemoizedFn, useMutation, useNetworkInfo, useOdosQuote, useOrderEntity, useOrderEntry2 as useOrderEntry, useOrderEntry as useOrderEntry_deprecated, useOrderStore2 as useOrderStore, useOrderStream, useOrderbookStream, useOrderlyContext, usePortfolio, usePositionActions, usePositionClose, usePositionStream, usePoster, usePreLoadData, usePrivateDataObserver, usePrivateInfiniteQuery, usePrivateQuery, useQuery, useRefereeHistory, useRefereeInfo, useRefereeRebateSummary, useReferralInfo, useReferralRebateSummary, useRestrictedInfo, useRwaSymbolsInfo, useRwaSymbolsInfoStore, useSessionStorage, useSettleSubscription, useSimpleDI, useStatisticsDaily, useStorageChain, useStorageLedgerAddress, useSubAccountAlgoOrderStream, useSubAccountDataObserver, useSubAccountMaxWithdrawal, useSubAccountMutation, useSubAccountQuery, useSubAccountWS, useSwapSupportStore, useSymbolInfo, useSymbolLeverage, useSymbolPriceRange, useSymbolsInfo, useSymbolsInfoStore, useTPSLOrder, useTestTokenStore, useTestnetChainsStore, useTickerStream, useTokenInfo, useTokensInfo, useTpslPriceChecker, useTrack, useTrackingInstance, useTradingRewardsStatus, useTransfer, useTransferHistory, useUpdatedRef, useUserStatistics, useVaultsHistory, useWS, useWalletConnector, useWalletRewardsHistory, useWalletSubscription, useWalletTopic, useWithdraw, useWsStatus, utils_exports as utils, version_default as version };
18909
18911
  //# sourceMappingURL=index.mjs.map
18910
18912
  //# sourceMappingURL=index.mjs.map