@orderly.network/hooks 2.0.1 → 2.0.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/dist/index.mjs CHANGED
@@ -33,9 +33,9 @@ var __export = (target, all) => {
33
33
  // src/version.ts
34
34
  if (typeof window !== "undefined") {
35
35
  window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};
36
- window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "2.0.1";
36
+ window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "2.0.2";
37
37
  }
38
- var version_default = "2.0.1";
38
+ var version_default = "2.0.2";
39
39
  var fetcher = (url, init2 = {}, queryOptions) => get(url, init2, queryOptions?.formatter);
40
40
  var OrderlyContext = createContext({
41
41
  // configStore: new MemoryConfigStore(),
@@ -283,10 +283,10 @@ var useAccount = () => {
283
283
  };
284
284
  var usePrivateQuery = (query, options) => {
285
285
  const { formatter, ...swrOptions } = options || {};
286
- const account5 = useAccount();
286
+ const { state } = useAccount();
287
287
  const middleware = Array.isArray(options?.use) ? options?.use ?? [] : [];
288
288
  return useSWR(
289
- () => account5.state.status >= AccountStatusEnum.EnableTrading ? [query, account5.state.accountId] : null,
289
+ () => state.status >= AccountStatusEnum.EnableTrading || state.status === AccountStatusEnum.EnableTradingWithoutConnected ? [query, state.accountId] : null,
290
290
  (url, init2) => {
291
291
  return fetcher(url, init2, { formatter });
292
292
  },
@@ -300,15 +300,15 @@ var usePrivateQuery = (query, options) => {
300
300
  };
301
301
  var usePrivateInfiniteQuery = (getKey, options) => {
302
302
  const { formatter, ...restOptions } = options || {};
303
- const account5 = useAccount();
303
+ const { state } = useAccount();
304
304
  const middleware = Array.isArray(restOptions?.use) ? restOptions?.use ?? [] : [];
305
305
  const result = useSWRInfinite(
306
306
  (pageIndex, previousPageData) => {
307
307
  const queryKey = getKey(pageIndex, previousPageData);
308
- if (account5.state.status < AccountStatusEnum.EnableTrading || !queryKey) {
309
- return null;
308
+ if (queryKey && (state.status >= AccountStatusEnum.EnableTrading || state.status === AccountStatusEnum.EnableTradingWithoutConnected)) {
309
+ return [queryKey, state.accountId];
310
310
  }
311
- return [queryKey, account5.state.accountId];
311
+ return null;
312
312
  },
313
313
  (url, init2) => {
314
314
  return restOptions.fetcher?.(url, init2) || get(url, init2, formatter);
@@ -502,11 +502,11 @@ var useWS = () => {
502
502
  return { ...result, timestamp };
503
503
  }
504
504
  });
505
- if (account5.stateValue.status === AccountStatusEnum.EnableTrading && account5.stateValue.accountId) {
505
+ if ((account5.stateValue.status === AccountStatusEnum.EnableTrading || account5.stateValue.status === AccountStatusEnum.EnableTradingWithoutConnected) && account5.stateValue.accountId) {
506
506
  websocketClient.openPrivate(account5.stateValue.accountId);
507
507
  }
508
508
  account5.on("change:status", (nextState) => {
509
- if (nextState.status === AccountStatusEnum.EnableTrading && nextState.accountId) {
509
+ if ((nextState.status === AccountStatusEnum.EnableTrading || nextState.status === AccountStatusEnum.EnableTradingWithoutConnected) && nextState.accountId) {
510
510
  websocketClient.openPrivate(nextState.accountId);
511
511
  } else {
512
512
  websocketClient.closePrivate(1e3, "switch account");
@@ -3690,10 +3690,10 @@ var useMarginRatio = () => {
3690
3690
  });
3691
3691
  }, [rows, markPrices, totalCollateral]);
3692
3692
  const currentLeverage = useMemo(() => {
3693
- if (state.status < AccountStatusEnum.EnableTrading) {
3694
- return null;
3693
+ if (state.status >= AccountStatusEnum.EnableTrading || state.status === AccountStatusEnum.EnableTradingWithoutConnected) {
3694
+ return account.currentLeverage(marginRatio);
3695
3695
  }
3696
- return account.currentLeverage(marginRatio);
3696
+ return null;
3697
3697
  }, [marginRatio, state.status]);
3698
3698
  const mmr = useMemo(() => {
3699
3699
  if (!rows || rows.length <= 0 || notional == null)
@@ -4257,6 +4257,7 @@ var useDeposit = (options) => {
4257
4257
  amount
4258
4258
  }).then((res) => {
4259
4259
  return updateAllowanceWhenTxSuccess(res.hash);
4260
+ }).catch((e) => {
4260
4261
  });
4261
4262
  },
4262
4263
  [account5, getAllowance, options?.address, dst]
@@ -14467,7 +14468,71 @@ var useOrderEntity = (order, options) => {
14467
14468
  symbolInfo
14468
14469
  };
14469
14470
  };
14471
+ var useRestrictedAreas = (params) => {
14472
+ const {
14473
+ enableDefault = false,
14474
+ customRestrictedIps = [],
14475
+ customRestrictedRegions = [],
14476
+ contact = {}
14477
+ } = params;
14478
+ const apiBaseUrl = useConfig("apiBaseUrl");
14479
+ const [invalidWebCity, setInvalidWebCity] = useState([]);
14480
+ const [invalidWebCountry, setInvalidWebCountry] = useState([]);
14481
+ const [invalidRegions, setInvalidRegions] = useState([]);
14482
+ const [allInvalidAreas, setAllInvalidAreas] = useState([]);
14483
+ const [city, setCity] = useState("");
14484
+ const [region, setRegion] = useState("");
14485
+ const [ip, setIp] = useState("");
14486
+ const [restrictedAreasOpen, setRestrictedAreasOpen] = useState(false);
14487
+ useEffect(() => {
14488
+ const fetchData = async () => {
14489
+ try {
14490
+ const areaRes = await fetch(`${apiBaseUrl}/v1/restricted_areas`);
14491
+ const areaResdata = await areaRes.json();
14492
+ const ipRes = await fetch(`${apiBaseUrl}/v1/ip_info`);
14493
+ const ipData = await ipRes.json();
14494
+ if (areaResdata.success && ipData.success) {
14495
+ const invalidCountries = areaResdata?.data?.invalid_web_country?.toLocaleLowerCase()?.replace(/\s+/g, "").split(",");
14496
+ const invalidCities = areaResdata?.data?.invalid_web_city?.toLocaleLowerCase()?.replace(/\s+/g, "").split(",");
14497
+ const combinedInvalidRegions = (enableDefault ? invalidCities.concat(invalidCountries) : []).concat(
14498
+ customRestrictedRegions?.map(
14499
+ (item) => item?.replace(/\s+/g, "")?.toLocaleLowerCase()
14500
+ )
14501
+ );
14502
+ const allInvalidAreas2 = [
14503
+ enableDefault ? areaResdata?.data?.invalid_web_country : "",
14504
+ enableDefault ? areaResdata?.data?.invalid_web_city : "",
14505
+ customRestrictedRegions?.join(", ")
14506
+ ].filter((item) => !!item);
14507
+ setInvalidWebCity(invalidCities);
14508
+ setInvalidWebCountry(invalidCountries);
14509
+ setInvalidRegions(combinedInvalidRegions);
14510
+ setAllInvalidAreas(allInvalidAreas2);
14511
+ const { city: city2, region: region2, ip: ip2 } = ipData.data;
14512
+ setCity(city2);
14513
+ setRegion(region2);
14514
+ setIp(ip2);
14515
+ if (combinedInvalidRegions.includes(
14516
+ ipData?.data?.city?.replace(/\s+/g, "").toLocaleLowerCase()
14517
+ ) || combinedInvalidRegions.includes(
14518
+ ipData?.data?.region?.replace(/\s+/g, "").toLocaleLowerCase()
14519
+ ) || customRestrictedIps.includes(ipData?.data?.ip)) {
14520
+ setRestrictedAreasOpen(true);
14521
+ }
14522
+ }
14523
+ } catch (error) {
14524
+ }
14525
+ };
14526
+ fetchData();
14527
+ }, [apiBaseUrl]);
14528
+ return {
14529
+ ip,
14530
+ invalidRegions: allInvalidAreas,
14531
+ restrictedAreasOpen,
14532
+ contact
14533
+ };
14534
+ };
14470
14535
 
14471
- export { AssetHistoryStatusEnum, DefaultLayoutConfig, DistributionId, ENVType2 as ENVType, ExtendedConfigStore, MarketsStorageKey, MarketsType, OrderlyConfigProvider, OrderlyContext, OrderlyProvider, OrderlyTrackerProvider, StatusContext, StatusProvider, TWType, WalletConnectorContext, WsNetworkStatus, checkNotional, cleanStringStyle, parseJSON, useAccount, useAccountInfo2 as useAccountInfo, useAccountInstance, useAccountRewardsHistory, useAllBrokers, useApiKeyManager, useAssetsHistory, useBoolean, useChain, useChains, useCheckReferralCode, useCollateral, useCommission, useConfig, useCurEpochEstimate, useDaily, useDeposit, useDistribution, useDistributionHistory, useEpochInfo, useEventEmitter, useFundingFeeHistory, useFundingRate, useFundingRateHistory, useFundingRates, useGetClaimed, useGetEnv, useGetReferralCode, useHoldingStream, useIndexPrice, useKeyStore, useLazyQuery, useLeverage, useLocalStorage, useMaintenanceStatus, useMarginRatio, useMarkPrice, useMarkPriceBySymbol, useMarkPricesStream, useMarket, useMarketTradeStream, useMarkets, useMarketsStore, useMarketsStream, useMaxQty, useMediaQuery, useMutation, useNetworkInfo, useOrderEntity, useOrderEntry2 as useOrderEntry, useOrderEntry as useOrderEntry_deprecated, useOrderStore2 as useOrderStore, useOrderStream, useOrderbookStream, usePositionActions, usePositionStream, usePoster, usePreLoadData, usePrivateDataObserver, usePrivateInfiniteQuery, usePrivateQuery, useQuery, useRefereeHistory, useRefereeInfo, useRefereeRebateSummary, useReferralInfo, useReferralRebateSummary, useSessionStorage, useSettleSubscription, useSimpleDI, useStatisticsDaily, useSymbolLeverage, useSymbolPriceRange, useSymbolsInfo, useTPSLOrder, useTickerStream, useWS, useWalletConnector, useWalletRewardsHistory, useWalletSubscription, useWithdraw, useWsStatus, utils_exports as utils, version_default as version };
14536
+ export { AssetHistoryStatusEnum, DefaultLayoutConfig, DistributionId, ENVType2 as ENVType, ExtendedConfigStore, MarketsStorageKey, MarketsType, OrderlyConfigProvider, OrderlyContext, OrderlyProvider, OrderlyTrackerProvider, StatusContext, StatusProvider, TWType, WalletConnectorContext, WsNetworkStatus, checkNotional, cleanStringStyle, parseJSON, useAccount, useAccountInfo2 as useAccountInfo, useAccountInstance, useAccountRewardsHistory, useAllBrokers, useApiKeyManager, useAssetsHistory, useBoolean, useChain, useChains, useCheckReferralCode, useCollateral, useCommission, useConfig, useCurEpochEstimate, useDaily, useDeposit, useDistribution, useDistributionHistory, useEpochInfo, useEventEmitter, useFundingFeeHistory, useFundingRate, useFundingRateHistory, useFundingRates, useGetClaimed, useGetEnv, useGetReferralCode, useHoldingStream, useIndexPrice, useKeyStore, useLazyQuery, useLeverage, useLocalStorage, useMaintenanceStatus, useMarginRatio, useMarkPrice, useMarkPriceBySymbol, useMarkPricesStream, useMarket, useMarketTradeStream, useMarkets, useMarketsStore, useMarketsStream, useMaxQty, useMediaQuery, useMutation, useNetworkInfo, useOrderEntity, useOrderEntry2 as useOrderEntry, useOrderEntry as useOrderEntry_deprecated, useOrderStore2 as useOrderStore, useOrderStream, useOrderbookStream, usePositionActions, usePositionStream, usePoster, usePreLoadData, usePrivateDataObserver, usePrivateInfiniteQuery, usePrivateQuery, useQuery, useRefereeHistory, useRefereeInfo, useRefereeRebateSummary, useReferralInfo, useReferralRebateSummary, useRestrictedAreas, useSessionStorage, useSettleSubscription, useSimpleDI, useStatisticsDaily, useSymbolLeverage, useSymbolPriceRange, useSymbolsInfo, useTPSLOrder, useTickerStream, useWS, useWalletConnector, useWalletRewardsHistory, useWalletSubscription, useWithdraw, useWsStatus, utils_exports as utils, version_default as version };
14472
14537
  //# sourceMappingURL=out.js.map
14473
14538
  //# sourceMappingURL=index.mjs.map