@orderly.network/hooks 2.1.0 → 2.1.1

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
@@ -2,12 +2,12 @@ import useSWR, { mutate } from 'swr';
2
2
  export { unstable_serialize, default as useSWR, useSWRConfig } from 'swr';
3
3
  import { get, WS, mutate as mutate$1 } from '@orderly.network/net';
4
4
  import React, { createContext, useContext, useCallback, useState, useEffect, useMemo, useRef, useId, useLayoutEffect } from 'react';
5
- import { OrderType, OrderSide, SDKError, EnumTrackerKeys, AccountStatusEnum, AlgoOrderRootType, OrderStatus, TesntTokenFallback, ArbitrumSepoliaTokenInfo, SolanaDevnetTokenInfo, ArbitrumSepoliaChainInfo, SolanaDevnetChainInfo, MONAD_TESTNET_CHAINID, nativeTokenAddress, ChainKey, chainsInfoMap, ARBITRUM_TESTNET_CHAINID, ARBITRUM_MAINNET_CHAINID, isNativeTokenChecker, ChainNamespace, MaxUint256, DEPOSIT_FEE_RATE, LedgerWalletKey, SolanaChains, TrackerListenerKeyMap, AlgoOrderType, TriggerPriceType } from '@orderly.network/types';
5
+ import { TesntTokenFallback, ArbitrumSepoliaTokenInfo, SolanaDevnetTokenInfo, OrderType, OrderSide, SDKError, EnumTrackerKeys, AccountStatusEnum, AlgoOrderRootType, OrderStatus, ArbitrumSepoliaChainInfo, SolanaDevnetChainInfo, MONAD_TESTNET_CHAINID, nativeTokenAddress, ChainKey, chainsInfoMap, ARBITRUM_TESTNET_CHAINID, ARBITRUM_MAINNET_CHAINID, isNativeTokenChecker, ChainNamespace, MaxUint256, DEPOSIT_FEE_RATE, LedgerWalletKey, SolanaChains, TrackerListenerKeyMap, AlgoOrderType, TriggerPriceType } from '@orderly.network/types';
6
6
  import useSWRMutation from 'swr/mutation';
7
7
  import useConstant from 'use-constant';
8
8
  export { default as useConstant } from 'use-constant';
9
9
  import { SimpleDI, Account, EventEmitter, EVENT_NAMES, DefaultConfigStore, LocalStorageStore } from '@orderly.network/core';
10
- import { zero, getGlobalObject, getTimestamp, Decimal, timeConvertString, isTestnet, getPrecisionByNumber, camelCaseToUnderscoreCase, windowGuard, removeTrailingZeros, commify, todpIfNeed } from '@orderly.network/utils';
10
+ import { zero, windowGuard, getGlobalObject, getTimestamp, Decimal, timeConvertString, isTestnet, getPrecisionByNumber, camelCaseToUnderscoreCase, removeTrailingZeros, commify, todpIfNeed } from '@orderly.network/utils';
11
11
  import { debounce } from 'lodash';
12
12
  import useSWRInfinite, { unstable_serialize } from 'swr/infinite';
13
13
  import * as amplitude from '@amplitude/analytics-browser';
@@ -34,9 +34,9 @@ var __export = (target, all) => {
34
34
  // src/version.ts
35
35
  if (typeof window !== "undefined") {
36
36
  window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};
37
- window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "2.1.0";
37
+ window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "2.1.1";
38
38
  }
39
- var version_default = "2.1.0";
39
+ var version_default = "2.1.1";
40
40
  var fetcher = (url, init2 = {}, queryOptions) => get(url, init2, queryOptions?.formatter);
41
41
  var OrderlyContext = createContext({
42
42
  // configStore: new MemoryConfigStore(),
@@ -222,13 +222,36 @@ var useEventEmitter = () => {
222
222
  return ee;
223
223
  });
224
224
  };
225
+ var WalletConnectorContext = createContext({});
226
+ var useWalletConnector = () => {
227
+ return useContext(WalletConnectorContext);
228
+ };
225
229
 
226
230
  // src/useTrack.ts
227
231
  var useTrack = () => {
228
232
  const ee = useEventEmitter();
233
+ const { wallet } = useWalletConnector();
229
234
  const debouncedTrackFn = useCallback(
230
235
  debounce((eventName, params) => {
231
- ee.emit(eventName, params);
236
+ windowGuard(() => {
237
+ const location = window.location;
238
+ const origin = location.origin;
239
+ const url = location.pathname;
240
+ const title = document.title;
241
+ const userAgent = window.navigator.userAgent;
242
+ Object.assign(params, {
243
+ page_title: title,
244
+ page_url: url,
245
+ page_domain: origin,
246
+ user_agent: userAgent
247
+ });
248
+ if (eventName === EnumTrackerKeys.placeorderSuccess) {
249
+ Object.assign(params, {
250
+ wallet: wallet?.label || "QR code"
251
+ });
252
+ }
253
+ ee.emit(eventName, params);
254
+ });
232
255
  }, 500),
233
256
  []
234
257
  );
@@ -336,6 +359,21 @@ var usePrivateInfiniteQuery = (getKey, options) => {
336
359
  );
337
360
  return result;
338
361
  };
362
+ var useInfiniteQuery = (getKey, options) => {
363
+ const { formatter, ...swrOptions } = options || {};
364
+ const apiBaseUrl = useConfig("apiBaseUrl");
365
+ const result = useSWRInfinite(
366
+ (pageIndex, previousPageData) => {
367
+ return getKey(pageIndex, previousPageData);
368
+ },
369
+ (url, init2) => {
370
+ const _url = url.startsWith("http") ? url : `${apiBaseUrl}${url}`;
371
+ return fetcher(_url, init2, { formatter });
372
+ },
373
+ swrOptions
374
+ );
375
+ return result;
376
+ };
339
377
  var useBoolean = (initialValue = false) => {
340
378
  const [value, setValue] = useState(initialValue);
341
379
  const setTrue = useCallback(() => setValue(true), []);
@@ -523,15 +561,15 @@ var AmplitudeTracker = class {
523
561
  setSdkInfo(sdkInfo) {
524
562
  if (this._sdkInfoTag && sdkInfo.address === this._sdkInfoTag)
525
563
  return;
564
+ this.identify(sdkInfo);
565
+ this._sdkInfoTag = sdkInfo.address;
566
+ }
567
+ identify(properties) {
526
568
  const identify2 = new amplitude.Identify();
527
- Object.entries(sdkInfo).forEach(([key, value]) => {
569
+ Object.entries(properties).forEach(([key, value]) => {
528
570
  identify2.set(key, value);
529
571
  });
530
572
  amplitude.identify(identify2);
531
- this._sdkInfoTag = sdkInfo.address;
532
- }
533
- identify(identifyEvent) {
534
- amplitude.identify(identifyEvent);
535
573
  }
536
574
  track(eventName, properties) {
537
575
  amplitude.track(TrackerListenerKeyMap[eventName], properties);
@@ -3812,6 +3850,14 @@ var useMarginRatio = () => {
3812
3850
  return { marginRatio, currentLeverage, mmr };
3813
3851
  };
3814
3852
  var TestNetWhiteList = [421614, 901901901, MONAD_TESTNET_CHAINID];
3853
+ var testnetTokenFallback = TesntTokenFallback([
3854
+ ArbitrumSepoliaTokenInfo,
3855
+ SolanaDevnetTokenInfo
3856
+ ]);
3857
+ var testnetChainFallback = [
3858
+ ArbitrumSepoliaChainInfo,
3859
+ SolanaDevnetChainInfo
3860
+ ];
3815
3861
  function useChains(networkId, options = {}) {
3816
3862
  const { pick: pickField, ...swrOptions } = options;
3817
3863
  const {
@@ -3840,10 +3886,7 @@ function useChains(networkId, options = {}) {
3840
3886
  "https://testnet-api.orderly.org/v1/public/token",
3841
3887
  {
3842
3888
  ...commonSwrOpts,
3843
- fallbackData: TesntTokenFallback([
3844
- ArbitrumSepoliaTokenInfo,
3845
- SolanaDevnetTokenInfo
3846
- ])
3889
+ fallbackData: testnetTokenFallback
3847
3890
  }
3848
3891
  );
3849
3892
  const brokerId = configStore.get("brokerId");
@@ -3856,7 +3899,7 @@ function useChains(networkId, options = {}) {
3856
3899
  needFetchFromAPI ? `https://testnet-api.orderly.org/v1/public/chain_info${brokerId !== "orderly" ? `?broker_id=${brokerId}` : ""}` : null,
3857
3900
  {
3858
3901
  ...commonSwrOpts,
3859
- fallbackData: [ArbitrumSepoliaChainInfo, SolanaDevnetChainInfo],
3902
+ fallbackData: testnetChainFallback,
3860
3903
  onError: (error) => {
3861
3904
  }
3862
3905
  }
@@ -4127,7 +4170,7 @@ var useWithdraw = (options) => {
4127
4170
  const { unsettledPnL, availableBalance, freeCollateral } = useCollateral();
4128
4171
  const networkId = useConfig("networkId");
4129
4172
  const [_, { findByChainId }] = useChains(void 0);
4130
- const ee = useEventEmitter();
4173
+ useEventEmitter();
4131
4174
  const { track: track2 } = useTrack();
4132
4175
  const { usdc } = useHoldingStream();
4133
4176
  const maxAmount = useMemo(() => {
@@ -4170,7 +4213,7 @@ var useWithdraw = (options) => {
4170
4213
  (inputs) => {
4171
4214
  return account5.assetsManager.withdraw(inputs).then((res) => {
4172
4215
  if (res.success) {
4173
- ee.emit(EnumTrackerKeys.withdrawSuccess, {
4216
+ track2(EnumTrackerKeys.withdrawSuccess, {
4174
4217
  wallet: state?.connectWallet?.name,
4175
4218
  network: targetChain?.network_infos.name,
4176
4219
  quantity: inputs.amount
@@ -6241,8 +6284,13 @@ var useDistributionHistory = (parmas) => {
6241
6284
  }
6242
6285
  ];
6243
6286
  };
6287
+ var MaintenanceStatus = /* @__PURE__ */ ((MaintenanceStatus2) => {
6288
+ MaintenanceStatus2[MaintenanceStatus2["None"] = 0] = "None";
6289
+ MaintenanceStatus2[MaintenanceStatus2["Maintenance"] = 2] = "Maintenance";
6290
+ return MaintenanceStatus2;
6291
+ })(MaintenanceStatus || {});
6244
6292
  function useMaintenanceStatus() {
6245
- const [status, setStatus] = useState(0);
6293
+ const [status, setStatus] = useState(0 /* None */);
6246
6294
  const [startTime, setStartTime] = useState();
6247
6295
  const [endTime, setEndTime] = useState();
6248
6296
  const [brokerName, setBrokerName] = useState("Orderly network");
@@ -6268,8 +6316,8 @@ function useMaintenanceStatus() {
6268
6316
  setStartTime(systemInfo.scheduled_maintenance.start_time);
6269
6317
  setEndTime(systemInfo.scheduled_maintenance.end_time);
6270
6318
  }
6271
- if (systemInfo.status === 2) {
6272
- setStatus(2);
6319
+ if (systemInfo.status === 2 /* Maintenance */) {
6320
+ setStatus(2 /* Maintenance */);
6273
6321
  }
6274
6322
  }, [systemInfo, config]);
6275
6323
  useEffect(() => {
@@ -6813,10 +6861,6 @@ var OrderlyConfigProvider = (props) => {
6813
6861
  }
6814
6862
  );
6815
6863
  };
6816
- var WalletConnectorContext = createContext({});
6817
- var useWalletConnector = () => {
6818
- return useContext(WalletConnectorContext);
6819
- };
6820
6864
  var needNumberOnlyFields = [
6821
6865
  "order_quantity",
6822
6866
  "order_price",
@@ -14381,7 +14425,7 @@ var useOrderEntry2 = (symbol, options = {}) => {
14381
14425
  side: order.side,
14382
14426
  order_type: order.order_type,
14383
14427
  tp_sl: hasTPSL(formattedOrder),
14384
- reduce_only: !!order.reduce_only
14428
+ symbol: order.symbol
14385
14429
  });
14386
14430
  }
14387
14431
  if (result.success && resetOnSuccess) {
@@ -14631,6 +14675,6 @@ var useRestrictedInfo = (options) => {
14631
14675
  };
14632
14676
  };
14633
14677
 
14634
- export { AssetHistoryStatusEnum, DefaultLayoutConfig, DistributionId, ENVType2 as ENVType, ExtendedConfigStore, MarketsStorageKey, MarketsType, OrderlyConfigProvider, OrderlyContext, OrderlyProvider, StatusContext, StatusProvider, TWType, WalletConnectorContext, WsNetworkStatus, checkNotional, cleanStringStyle, getMinNotional, 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, useRestrictedInfo, useSessionStorage, useSettleSubscription, useSimpleDI, useStatisticsDaily, useStorageChain, useStorageLedgerAddress, useSymbolLeverage, useSymbolPriceRange, useSymbolsInfo, useTPSLOrder, useTickerStream, useTrack, useTrackingInstance, useWS, useWalletConnector, useWalletRewardsHistory, useWalletSubscription, useWithdraw, useWsStatus, utils_exports as utils, version_default as version };
14678
+ export { AssetHistoryStatusEnum, DefaultLayoutConfig, DistributionId, ENVType2 as ENVType, ExtendedConfigStore, MaintenanceStatus, MarketsStorageKey, MarketsType, OrderlyConfigProvider, OrderlyContext, OrderlyProvider, StatusContext, StatusProvider, TWType, WalletConnectorContext, WsNetworkStatus, checkNotional, cleanStringStyle, getMinNotional, 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, useInfiniteQuery, 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, useRestrictedInfo, useSessionStorage, useSettleSubscription, useSimpleDI, useStatisticsDaily, useStorageChain, useStorageLedgerAddress, useSymbolLeverage, useSymbolPriceRange, useSymbolsInfo, useTPSLOrder, useTickerStream, useTrack, useTrackingInstance, useWS, useWalletConnector, useWalletRewardsHistory, useWalletSubscription, useWithdraw, useWsStatus, utils_exports as utils, version_default as version };
14635
14679
  //# sourceMappingURL=out.js.map
14636
14680
  //# sourceMappingURL=index.mjs.map