@embarkai/ui-kit 0.4.116 → 0.4.117

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.js CHANGED
@@ -17395,8 +17395,65 @@ var init_useHasInjectedWallet = __esm({
17395
17395
  }
17396
17396
  });
17397
17397
 
17398
+ // src/internal/components/ConnectExternalWalletMenu/walletProviders.ts
17399
+ function isConnectorAllowedByProject(connector, walletProviders) {
17400
+ if (!walletProviders) return true;
17401
+ const connectorId = connector.id.toLowerCase();
17402
+ return walletProviders.some((provider) => {
17403
+ const id = provider.toLowerCase();
17404
+ if (id === OTHER_BROWSER_WALLETS) return !KNOWN_CONNECTOR_IDS.has(connectorId);
17405
+ return PROVIDER_CONNECTOR_IDS[id]?.includes(connectorId) ?? false;
17406
+ });
17407
+ }
17408
+ function parseWalletProviders(metadata) {
17409
+ const value = metadata?.walletProviders;
17410
+ return Array.isArray(value) ? value.filter((item) => typeof item === "string") : null;
17411
+ }
17412
+ var PROVIDER_CONNECTOR_IDS, OTHER_BROWSER_WALLETS, KNOWN_CONNECTOR_IDS;
17413
+ var init_walletProviders = __esm({
17414
+ "src/internal/components/ConnectExternalWalletMenu/walletProviders.ts"() {
17415
+ PROVIDER_CONNECTOR_IDS = {
17416
+ metamask: ["metamasksdk", "metamask", "io.metamask", "io.metamask.flask", "io.metamask.mobile"],
17417
+ walletconnect: ["walletconnect"],
17418
+ coinbase: ["coinbasewalletsdk", "coinbasewallet", "com.coinbase.wallet"],
17419
+ phantom: ["app.phantom"],
17420
+ trust: ["com.trustwallet.app"],
17421
+ rabby: ["io.rabby"]
17422
+ };
17423
+ OTHER_BROWSER_WALLETS = "injected";
17424
+ KNOWN_CONNECTOR_IDS = new Set(Object.values(PROVIDER_CONNECTOR_IDS).flat());
17425
+ }
17426
+ });
17427
+
17428
+ // src/internal/components/ConnectExternalWalletMenu/useProjectWalletProviders.ts
17429
+ import { useQuery as useQuery9 } from "@tanstack/react-query";
17430
+ async function fetchProjectWalletProviders(projectId) {
17431
+ const dashboardUrl = (getServiceUrls().dashboardUrl || DEFAULT_DASHBOARD_URL).replace(/\/+$/, "");
17432
+ const response = await fetch(`${dashboardUrl}/api/public/project/${encodeURIComponent(projectId)}/metadata`);
17433
+ if (!response.ok) throw new Error(`Project metadata request failed with status ${response.status}`);
17434
+ return parseWalletProviders(await response.json());
17435
+ }
17436
+ function useProjectWalletProviders(projectId) {
17437
+ const query = useQuery9({
17438
+ queryKey: ["embarkai", "project-wallet-providers", projectId],
17439
+ queryFn: () => fetchProjectWalletProviders(projectId),
17440
+ enabled: !!projectId,
17441
+ staleTime: 6e4,
17442
+ retry: 1
17443
+ });
17444
+ return { walletProviders: query.data ?? null, isLoading: query.isLoading };
17445
+ }
17446
+ var DEFAULT_DASHBOARD_URL;
17447
+ var init_useProjectWalletProviders = __esm({
17448
+ "src/internal/components/ConnectExternalWalletMenu/useProjectWalletProviders.ts"() {
17449
+ init_initial();
17450
+ init_walletProviders();
17451
+ DEFAULT_DASHBOARD_URL = "https://dashboard.embarkai.io";
17452
+ }
17453
+ });
17454
+
17398
17455
  // src/internal/components/ConnectExternalWalletMenu/ConnectExternalWalletMenu.tsx
17399
- import { useMutation as useMutation10, useQuery as useQuery9, useQueryClient as useQueryClient14 } from "@tanstack/react-query";
17456
+ import { useMutation as useMutation10, useQuery as useQuery10, useQueryClient as useQueryClient14 } from "@tanstack/react-query";
17400
17457
  import { ArrowLeft as ArrowLeft8, Loader as Loader11, Wallet2Icon as Wallet2Icon2 } from "lucide-react";
17401
17458
  import { useCallback as useCallback18, useMemo as useMemo9, useState as useState14 } from "react";
17402
17459
  import {
@@ -17427,6 +17484,7 @@ function ConnectExternalWalletMenu() {
17427
17484
  const menuParams = useConnectExternalWalletMenuParams();
17428
17485
  const connectors = useConnectors();
17429
17486
  const hasInjectedWallet2 = useHasInjectedWallet();
17487
+ const { walletProviders, isLoading: isLoadingWalletProviders } = useProjectWalletProviders(config.current?.projectId);
17430
17488
  const wagmiConfig3 = useConfig2();
17431
17489
  const chains = useChains();
17432
17490
  const connections = useConnections2();
@@ -17455,7 +17513,7 @@ function ConnectExternalWalletMenu() {
17455
17513
  }
17456
17514
  };
17457
17515
  const walletMenuOpenedFrom = useLayoutDataStore((st) => st.walletMenuOpenedFrom);
17458
- const { data: providers = [] } = useQuery9({
17516
+ const { data: providers = [] } = useQuery10({
17459
17517
  retry: false,
17460
17518
  enabled: !!embarkAiAddress,
17461
17519
  queryKey: [PROVIDERS_QUERY_KEY, embarkAiAddress],
@@ -17627,14 +17685,14 @@ function ConnectExternalWalletMenu() {
17627
17685
  return false;
17628
17686
  }
17629
17687
  seen.add(connector.uid);
17630
- return true;
17688
+ return isConnectorAllowedByProject(connector, walletProviders);
17631
17689
  });
17632
17690
  if (!allowedWallets?.length) return unique;
17633
17691
  const allowed = allowedWallets.map((id) => id.toLowerCase());
17634
17692
  return unique.filter(
17635
17693
  (connector) => allowed.includes(connector.id.toLowerCase()) || allowed.includes(connector.name.toLowerCase())
17636
17694
  );
17637
- }, [connectors, allowedWallets, hasInjectedWallet2]);
17695
+ }, [connectors, allowedWallets, hasInjectedWallet2, walletProviders]);
17638
17696
  const getInstructionSteps = useCallback18(() => {
17639
17697
  const connectFlowType = getConnectFlowType({
17640
17698
  isEmbarkAI: !!embarkAiAddress,
@@ -17663,7 +17721,8 @@ function ConnectExternalWalletMenu() {
17663
17721
  ),
17664
17722
  /* @__PURE__ */ jsx74("span", { className: "text-xl font-semibold", children: t("passport:connectMenu.connectWallet") })
17665
17723
  ] }),
17666
- visibleConnectors.map((connector) => {
17724
+ isLoadingWalletProviders && /* @__PURE__ */ jsx74("div", { className: "flex items-center justify-center py-[var(--ui-kit-gap)]", children: /* @__PURE__ */ jsx74(Loader11, { className: "w-4 h-4 animate-spin" }) }),
17725
+ (isLoadingWalletProviders ? [] : visibleConnectors).map((connector) => {
17667
17726
  const isConnectingThis = isConnectingExternalWallet && //@ts-expect-error uid exists
17668
17727
  pendingConnectVariables?.connector?.uid === connector.uid;
17669
17728
  const WalletIcon = WALLET_ICONS[connector.id] || Wallet2Icon2;
@@ -17721,7 +17780,7 @@ function ConnectExternalWalletMenu() {
17721
17780
  steps: getInstructionSteps()
17722
17781
  })
17723
17782
  }),
17724
- visibleConnectors.length === 0 && /* @__PURE__ */ jsx74(Highlight, { type: "info", children: t("passport:connectMenu.noWallets") }),
17783
+ !isLoadingWalletProviders && visibleConnectors.length === 0 && /* @__PURE__ */ jsx74(Highlight, { type: "info", children: t("passport:connectMenu.noWallets") }),
17725
17784
  connectError && /* @__PURE__ */ jsxs65(Highlight, { type: "error", className: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
17726
17785
  /* @__PURE__ */ jsx74("p", { children: connectError }),
17727
17786
  /* @__PURE__ */ jsx74(
@@ -17765,6 +17824,8 @@ var init_ConnectExternalWalletMenu = __esm({
17765
17824
  init_highlight();
17766
17825
  init_useConnectExternalWalletMenuParams();
17767
17826
  init_useHasInjectedWallet();
17827
+ init_useProjectWalletProviders();
17828
+ init_walletProviders();
17768
17829
  SIGN_FALLBACK_CHAIN_ID = mainnet.id;
17769
17830
  }
17770
17831
  });
@@ -17865,7 +17926,7 @@ var init_ConnectExternalWalletMenu2 = __esm({
17865
17926
  });
17866
17927
 
17867
17928
  // src/internal/clients/devices.ts
17868
- import { useMutation as useMutation11, useQuery as useQuery10, useQueryClient as useQueryClient15 } from "@tanstack/react-query";
17929
+ import { useMutation as useMutation11, useQuery as useQuery11, useQueryClient as useQueryClient15 } from "@tanstack/react-query";
17869
17930
  async function getDevices() {
17870
17931
  const response = await tssClient.get("/api/auth/devices", true);
17871
17932
  if (!response.success || !response.data) {
@@ -17891,7 +17952,7 @@ async function unlinkDevice(deviceId) {
17891
17952
  }
17892
17953
  }
17893
17954
  function useDevices() {
17894
- return useQuery10({
17955
+ return useQuery11({
17895
17956
  queryKey: [DEVICES_QUERY_KEY],
17896
17957
  queryFn: getDevices
17897
17958
  });
@@ -20598,7 +20659,7 @@ var init_select = __esm({
20598
20659
  });
20599
20660
 
20600
20661
  // src/internal/components/KeyshareRestoreMenu/methods/Cloud.tsx
20601
- import { useQuery as useQuery11 } from "@tanstack/react-query";
20662
+ import { useQuery as useQuery12 } from "@tanstack/react-query";
20602
20663
  import { ArrowLeft as ArrowLeft13, CloudDownload, CloudUpload, Loader as Loader13 } from "lucide-react";
20603
20664
  import { useEffect as useEffect32 } from "react";
20604
20665
  import { Fragment as Fragment27, jsx as jsx85, jsxs as jsxs76 } from "react/jsx-runtime";
@@ -20611,7 +20672,7 @@ function Cloud2(props) {
20611
20672
  data: cloudProviders = [],
20612
20673
  isLoading: isCloudProvidersLoading,
20613
20674
  error: cloudProvidersError
20614
- } = useQuery11({
20675
+ } = useQuery12({
20615
20676
  retry: false,
20616
20677
  enabled: !!passportUserId,
20617
20678
  queryKey: [AVAILABLE_CLOUD_PROVIDERS_QUERY_KEY, passportUserId],
@@ -20859,7 +20920,7 @@ var init_methods = __esm({
20859
20920
  });
20860
20921
 
20861
20922
  // src/internal/components/KeyshareRestoreMenu/KeyshareRestoreMenu.tsx
20862
- import { useMutation as useMutation14, useQuery as useQuery12, useQueryClient as useQueryClient18 } from "@tanstack/react-query";
20923
+ import { useMutation as useMutation14, useQuery as useQuery13, useQueryClient as useQueryClient18 } from "@tanstack/react-query";
20863
20924
  import { AlertCircle as AlertCircle2, CheckCircle2 as CheckCircle22, CloudDownload as CloudDownload2, Loader as Loader14, UserCircle as UserCircle2 } from "lucide-react";
20864
20925
  import { useEffect as useEffect33 } from "react";
20865
20926
  import { Fragment as Fragment29, jsx as jsx87, jsxs as jsxs78 } from "react/jsx-runtime";
@@ -20930,7 +20991,7 @@ var init_KeyshareRestoreMenu = __esm({
20930
20991
  restoreFromCloud,
20931
20992
  isRestoringFromCloud
20932
20993
  } = useRestoreAccount();
20933
- const { data: serverRecoveryStatus, isLoading: isBackupStatusLoading } = useQuery12({
20994
+ const { data: serverRecoveryStatus, isLoading: isBackupStatusLoading } = useQuery13({
20934
20995
  retry: false,
20935
20996
  queryKey: [CHECK_BACKUP_QUERY_KEY, address],
20936
20997
  queryFn: async () => await getShareRecoveryStats()
@@ -21074,7 +21135,7 @@ var init_KeyshareRestoreMenu = __esm({
21074
21135
  });
21075
21136
 
21076
21137
  // src/internal/components/KeyshareRestoreMenu/KeyshareBackupMenu.tsx
21077
- import { useQuery as useQuery13 } from "@tanstack/react-query";
21138
+ import { useQuery as useQuery14 } from "@tanstack/react-query";
21078
21139
  import { AlertCircle as AlertCircle3, ArrowLeft as ArrowLeft14, CheckCircle2 as CheckCircle23, Loader as Loader15, LockIcon } from "lucide-react";
21079
21140
  import { useEffect as useEffect34 } from "react";
21080
21141
  import { Fragment as Fragment30, jsx as jsx88, jsxs as jsxs79 } from "react/jsx-runtime";
@@ -21099,7 +21160,7 @@ function KeyshareBackupMenu() {
21099
21160
  setMethod(null);
21100
21161
  };
21101
21162
  }, []);
21102
- const { data: serverRecoveryStatus, isLoading: isRecoveryLoading } = useQuery13({
21163
+ const { data: serverRecoveryStatus, isLoading: isRecoveryLoading } = useQuery14({
21103
21164
  retry: false,
21104
21165
  enabled: !!address,
21105
21166
  queryKey: [CHECK_BACKUP_QUERY_KEY, address],
@@ -21484,10 +21545,10 @@ var init_KycMenu = __esm({
21484
21545
  });
21485
21546
 
21486
21547
  // src/internal/hooks/useUserProfile.ts
21487
- import { useQuery as useQuery14 } from "@tanstack/react-query";
21548
+ import { useQuery as useQuery15 } from "@tanstack/react-query";
21488
21549
  function useUserProfile() {
21489
21550
  const address = useSession((st) => st.address);
21490
- return useQuery14({
21551
+ return useQuery15({
21491
21552
  queryKey: [QUERY_KEYS.userProfile, address],
21492
21553
  queryFn: getUserProfile,
21493
21554
  enabled: !!address,
@@ -21673,11 +21734,11 @@ var init_constants6 = __esm({
21673
21734
  });
21674
21735
 
21675
21736
  // src/internal/hooks/useBlockscoutAssets/useNativeBalance.ts
21676
- import { useQuery as useQuery15 } from "@tanstack/react-query";
21737
+ import { useQuery as useQuery16 } from "@tanstack/react-query";
21677
21738
  import { formatUnits as formatUnits3 } from "viem";
21678
21739
  function useNativeBalance(options) {
21679
21740
  const { enabled, address, chainId, publicClient, nativeCurrency } = options;
21680
- return useQuery15({
21741
+ return useQuery16({
21681
21742
  enabled: enabled && !!address && !!publicClient && !!nativeCurrency?.symbol,
21682
21743
  ...BALANCE_DEFAULT_QUERY_CFG,
21683
21744
  queryKey: [NATIVE_BALANCE_QUERY_KEY2, chainId, address],
@@ -21699,7 +21760,7 @@ var init_useNativeBalance = __esm({
21699
21760
  });
21700
21761
 
21701
21762
  // src/internal/hooks/useBlockscoutAssets/useWatchTokens.ts
21702
- import { useQuery as useQuery16 } from "@tanstack/react-query";
21763
+ import { useQuery as useQuery17 } from "@tanstack/react-query";
21703
21764
  import { useMemo as useMemo12 } from "react";
21704
21765
  import { erc20Abi as erc20Abi2, formatUnits as formatUnits4 } from "viem";
21705
21766
  function useWatchTokens(options) {
@@ -21710,7 +21771,7 @@ function useWatchTokens(options) {
21710
21771
  const tokensForChain = chainId ? allWatchTokens?.[chainId] || [] : [];
21711
21772
  return tokensForChain;
21712
21773
  }, [config, chainId]);
21713
- return useQuery16({
21774
+ return useQuery17({
21714
21775
  enabled: !!publicClient && !!address && enabled && watchTokens.length > 0,
21715
21776
  ...BALANCE_DEFAULT_QUERY_CFG,
21716
21777
  queryKey: [WATCH_TOKENS_QUERY_KEY, chainId, address, watchTokens.map((t) => t.address).join(",")],
@@ -21913,7 +21974,7 @@ var init_utils9 = __esm({
21913
21974
 
21914
21975
  // src/internal/hooks/useBlockscoutAssets/useBlockscoutAssets.ts
21915
21976
  import { createBlockscoutClient as createBlockscoutClient2, nonBlockscoutClient } from "@embarkai/core";
21916
- import { useQuery as useQuery17, useQueryClient as useQueryClient19 } from "@tanstack/react-query";
21977
+ import { useQuery as useQuery18, useQueryClient as useQueryClient19 } from "@tanstack/react-query";
21917
21978
  import { useCallback as useCallback24, useMemo as useMemo13, useRef as useRef17 } from "react";
21918
21979
  function useBlockscoutAssets(options) {
21919
21980
  const { address, chainId, enabled = true, detectSecurityTokens = true } = options;
@@ -21955,7 +22016,7 @@ function useBlockscoutAssets(options) {
21955
22016
  data: coreTokenBalances = [],
21956
22017
  isLoading: coreTokensLoading,
21957
22018
  isFetching: coreTokensFetching
21958
- } = useQuery17({
22019
+ } = useQuery18({
21959
22020
  enabled: !!address && enabled && !blockscoutClient && !customTokenBalancesQuery && !customTokenBalancesQueryKey,
21960
22021
  ...BALANCE_DEFAULT_QUERY_CFG,
21961
22022
  queryKey: [`NON-${BLOCKSCOUT_QUERY_KEY}`, resolvedChainId, address],
@@ -21971,7 +22032,7 @@ function useBlockscoutAssets(options) {
21971
22032
  data: customItems = [],
21972
22033
  isLoading: customLoading,
21973
22034
  isFetching: customFetching
21974
- } = useQuery17({
22035
+ } = useQuery18({
21975
22036
  enabled: !!address && enabled && !blockscoutClient && !!customTokenBalancesQuery && !!customTokenBalancesQueryKey,
21976
22037
  ...BALANCE_DEFAULT_QUERY_CFG,
21977
22038
  queryKey: customTokenBalancesQueryKey,
@@ -21984,7 +22045,7 @@ function useBlockscoutAssets(options) {
21984
22045
  isFetching: blockscoutFetching,
21985
22046
  error: blockscoutError,
21986
22047
  dataUpdatedAt
21987
- } = useQuery17({
22048
+ } = useQuery18({
21988
22049
  enabled: !!address && enabled && !!blockscoutClient && !customTokenBalancesQuery && !customTokenBalancesQueryKey,
21989
22050
  ...BALANCE_DEFAULT_QUERY_CFG,
21990
22051
  queryKey: [BLOCKSCOUT_QUERY_KEY, resolvedChainId, blockscoutApiUrl, address],
@@ -21995,7 +22056,7 @@ function useBlockscoutAssets(options) {
21995
22056
  data: nftItems,
21996
22057
  isLoading: nftsLoading,
21997
22058
  isFetching: nftsFetching
21998
- } = useQuery17({
22059
+ } = useQuery18({
21999
22060
  enabled: !!address && enabled && !!blockscoutClient,
22000
22061
  ...BALANCE_DEFAULT_QUERY_CFG,
22001
22062
  queryKey: [BLOCKSCOUT_QUERY_KEY, "nfts", resolvedChainId, blockscoutApiUrl, address],
@@ -22005,7 +22066,7 @@ function useBlockscoutAssets(options) {
22005
22066
  if (!blockscoutItems) return [];
22006
22067
  return blockscoutItems.filter((tb) => tb.token.type === "ERC-20").map((tb) => tb.token.address_hash);
22007
22068
  }, [blockscoutItems]);
22008
- const { data: erc3643Results } = useQuery17({
22069
+ const { data: erc3643Results } = useQuery18({
22009
22070
  queryKey: [ERC3643_DETECTION_QUERY_KEY, resolvedChainId, address, erc20TokenAddresses],
22010
22071
  queryFn: async () => {
22011
22072
  if (!publicClient || erc20TokenAddresses.length === 0) {
@@ -22272,7 +22333,7 @@ var init_BalanceView2 = __esm({
22272
22333
  });
22273
22334
 
22274
22335
  // src/internal/components/PortfolioMenu/PortfolioItem.tsx
22275
- import { useQuery as useQuery18 } from "@tanstack/react-query";
22336
+ import { useQuery as useQuery19 } from "@tanstack/react-query";
22276
22337
  import { LoaderIcon as LoaderIcon11, ShieldAlertIcon, SparklesIcon } from "lucide-react";
22277
22338
  import { useMemo as useMemo14, useState as useState22 } from "react";
22278
22339
  import { formatUnits as formatUnits7 } from "viem";
@@ -22388,7 +22449,7 @@ function PortfolioItem(props) {
22388
22449
  queryKey: asset.balanceQueryKey,
22389
22450
  queryFn: asset.balanceQuery
22390
22451
  } : void 0;
22391
- const { data: projectAssetBalance } = useQuery18({
22452
+ const { data: projectAssetBalance } = useQuery19({
22392
22453
  enabled: !!projectAssetQuery,
22393
22454
  retry: false,
22394
22455
  queryKey: projectAssetQuery?.queryKey ?? ["project-asset-balance-disabled", asset.symbol],
@@ -22398,7 +22459,7 @@ function PortfolioItem(props) {
22398
22459
  const isSecurity = isSecurityToken(asset);
22399
22460
  const embeddedRate = Number(asset.exchangeRateUsd || 0);
22400
22461
  const hasEmbeddedRate = Number.isFinite(embeddedRate) && embeddedRate > 0;
22401
- const { data: assetRate, isLoading: isRateLoading } = useQuery18({
22462
+ const { data: assetRate, isLoading: isRateLoading } = useQuery19({
22402
22463
  enabled: !!address && !hasEmbeddedRate && !isProjectAsset && !isNft && !isSecurity,
22403
22464
  // (!!customAssetRateQuery || !!isAssetRateAvailable(asset.symbol)),
22404
22465
  retry: false,
@@ -23097,7 +23158,7 @@ var init_NicknameEditForm = __esm({
23097
23158
  });
23098
23159
 
23099
23160
  // src/internal/components/NicknameMenu/NicknameMenu.tsx
23100
- import { useQuery as useQuery19 } from "@tanstack/react-query";
23161
+ import { useQuery as useQuery20 } from "@tanstack/react-query";
23101
23162
  import dayjs5 from "dayjs";
23102
23163
  import { ArrowLeft as ArrowLeft18, Loader as Loader18 } from "lucide-react";
23103
23164
  import { useEffect as useEffect38 } from "react";
@@ -23113,7 +23174,7 @@ function NicknameMenu() {
23113
23174
  data: nicknameInfo,
23114
23175
  isLoading: isNicknameInfoLoading,
23115
23176
  error: nicknameInfoError
23116
- } = useQuery19({
23177
+ } = useQuery20({
23117
23178
  retry: 1,
23118
23179
  enabled: !!address,
23119
23180
  queryKey: [QUERY_KEYS.nicknameInfo, address],
@@ -23309,7 +23370,7 @@ var init_nickname_fingerprint = __esm({
23309
23370
  });
23310
23371
 
23311
23372
  // src/internal/components/ReceiveMenu/ReceiveMenu.tsx
23312
- import { useQuery as useQuery20 } from "@tanstack/react-query";
23373
+ import { useQuery as useQuery21 } from "@tanstack/react-query";
23313
23374
  import { ArrowLeft as ArrowLeft19, AtSignIcon as AtSignIcon2, CheckCircle2 as CheckCircle24, Copy as Copy2, FingerprintIcon, LoaderIcon as LoaderIcon13, Wallet2Icon as Wallet2Icon4 } from "lucide-react";
23314
23375
  import QRCode from "qrcode";
23315
23376
  import { useEffect as useEffect39, useMemo as useMemo15, useState as useState24 } from "react";
@@ -23319,7 +23380,7 @@ function ReceiveMenu() {
23319
23380
  const session = useSession((st) => st.session);
23320
23381
  const chainConfig = useSession((st) => st.chainConfig);
23321
23382
  const address = session?.smartAccountAddress ?? null;
23322
- const { data: nicknameInfo, isLoading: isNicknameInfoLoading } = useQuery20({
23383
+ const { data: nicknameInfo, isLoading: isNicknameInfoLoading } = useQuery21({
23323
23384
  retry: 1,
23324
23385
  enabled: !!address,
23325
23386
  queryKey: [QUERY_KEYS.nicknameInfo, address],
@@ -23555,11 +23616,11 @@ var init_constants7 = __esm({
23555
23616
  });
23556
23617
 
23557
23618
  // src/internal/components/SecurityMenu/ConnectedApps/useConnectedApps.ts
23558
- import { useQuery as useQuery21 } from "@tanstack/react-query";
23619
+ import { useQuery as useQuery22 } from "@tanstack/react-query";
23559
23620
  function useConnectedApps() {
23560
23621
  const session = useSession((st) => st.session);
23561
23622
  const userId = session?.mpcUserId || null;
23562
- return useQuery21({
23623
+ return useQuery22({
23563
23624
  retry: false,
23564
23625
  enabled: !!userId,
23565
23626
  queryKey: [CONNECTED_TRUSTED_APPS_QUERY, userId],
@@ -23930,11 +23991,11 @@ var init_LastBackup = __esm({
23930
23991
  });
23931
23992
 
23932
23993
  // src/internal/components/SecurityMenu/Keyshare/useKeyshareRecoveryStats.ts
23933
- import { useQuery as useQuery22 } from "@tanstack/react-query";
23994
+ import { useQuery as useQuery23 } from "@tanstack/react-query";
23934
23995
  function useKeyshareRecoveryStats() {
23935
23996
  const session = useSession((st) => st.session);
23936
23997
  const userId = session?.mpcUserId || null;
23937
- return useQuery22({
23998
+ return useQuery23({
23938
23999
  enabled: !!userId,
23939
24000
  queryKey: [KEYSHARE_RECOVERY_STATS_QUERY, userId],
23940
24001
  queryFn: async () => {
@@ -24200,10 +24261,10 @@ var init_usePolicyForm = __esm({
24200
24261
  });
24201
24262
 
24202
24263
  // src/internal/components/SecurityMenu/UserPolicies/useUserAssetsPolicies.ts
24203
- import { useQuery as useQuery23 } from "@tanstack/react-query";
24264
+ import { useQuery as useQuery24 } from "@tanstack/react-query";
24204
24265
  function useUserAssetsPolicies(activeChainId) {
24205
24266
  const mpcUserId = useSession((st) => st.session?.mpcUserId);
24206
- return useQuery23({
24267
+ return useQuery24({
24207
24268
  retry: 1,
24208
24269
  enabled: !!mpcUserId && !!activeChainId,
24209
24270
  queryKey: [USER_POLICIES_QUERY_KEY, mpcUserId, activeChainId],
@@ -25755,7 +25816,7 @@ var init_useBridge = __esm({
25755
25816
  });
25756
25817
 
25757
25818
  // src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneRoutes.ts
25758
- import { useQuery as useQuery24 } from "@tanstack/react-query";
25819
+ import { useQuery as useQuery25 } from "@tanstack/react-query";
25759
25820
  import { useEffect as useEffect44 } from "react";
25760
25821
  function useHyperlaneRoutes() {
25761
25822
  const address = useSession((st) => st.address);
@@ -25766,7 +25827,7 @@ function useHyperlaneRoutes() {
25766
25827
  data: hyperlaneWarpRoutes = [],
25767
25828
  isLoading: isLoadingWarpRoutes,
25768
25829
  error: errorWarpRoutes
25769
- } = useQuery24({
25830
+ } = useQuery25({
25770
25831
  retry: false,
25771
25832
  enabled: !!address && page === "send" /* SEND */ && flow === "bridge",
25772
25833
  queryKey: [HYPERLANE_WARP_ROUTES_QUERY_KEY, address],
@@ -26019,7 +26080,7 @@ var init_ResolveChainIcon = __esm({
26019
26080
 
26020
26081
  // src/internal/components/SendMenu/hyperbridge/hooks/useBridgeBalance.ts
26021
26082
  import { CHAINS_BROWSERS_TRANSPORTS as CHAINS_BROWSERS_TRANSPORTS2 } from "@embarkai/core";
26022
- import { useQuery as useQuery25, useQueryClient as useQueryClient26 } from "@tanstack/react-query";
26083
+ import { useQuery as useQuery26, useQueryClient as useQueryClient26 } from "@tanstack/react-query";
26023
26084
  import { useCallback as useCallback30, useEffect as useEffect46 } from "react";
26024
26085
  import { createPublicClient as createPublicClient2, erc20Abi as erc20Abi3, formatUnits as formatUnits9, http as http3 } from "viem";
26025
26086
  import { useSwitchChain as useSwitchChain3 } from "wagmi";
@@ -26052,7 +26113,7 @@ function useBridgeBalance(isLoadingWarpRoutes, hyperlaneWarpRoutes) {
26052
26113
  const embarkTokenBalanace = assets.find((a) => selectedWarpRoute?.symbol === checkWrapedTokenSymbol(a.symbol));
26053
26114
  const originChainMeta = CHAINS_UI_META[originChain];
26054
26115
  const isSelectedTokenNative = selectedWarpRoute?.symbol?.toUpperCase() === originChainMeta?.chain?.nativeCurrency?.symbol?.toUpperCase();
26055
- const { data: externalBalanceData, isLoading: isExternalBalanceLoading } = useQuery25({
26116
+ const { data: externalBalanceData, isLoading: isExternalBalanceLoading } = useQuery26({
26056
26117
  retry: false,
26057
26118
  enabled: bridgeSender === "direct-wallet" && !isSelectedTokenNative && !!directWalletAddress && !!routeTokenAddress && !!originChain,
26058
26119
  queryKey: [EXTERNAL_WALLET_BRIDGING_BALANCE_QUERY, originChain, directWalletAddress, routeTokenAddress],
@@ -26095,7 +26156,7 @@ function useBridgeBalance(isLoadingWarpRoutes, hyperlaneWarpRoutes) {
26095
26156
  return { value, decimals, symbol, formatted };
26096
26157
  }
26097
26158
  });
26098
- const { data: externalNativeBalanceData, isLoading: isExternalNativeBalanceLoading } = useQuery25({
26159
+ const { data: externalNativeBalanceData, isLoading: isExternalNativeBalanceLoading } = useQuery26({
26099
26160
  retry: false,
26100
26161
  enabled: bridgeSender === "direct-wallet" && isSelectedTokenNative && !!directWalletAddress && !!originChain,
26101
26162
  queryKey: [EXTERNAL_WALLET_BRIDGING_NATIVE_BALANCE_QUERY, originChain, directWalletAddress],
@@ -27251,7 +27312,7 @@ var init_useErc3643Compliance = __esm({
27251
27312
  });
27252
27313
 
27253
27314
  // src/hooks/useNicknameResolve.ts
27254
- import { useQuery as useQuery26 } from "@tanstack/react-query";
27315
+ import { useQuery as useQuery27 } from "@tanstack/react-query";
27255
27316
  import { useEffect as useEffect48, useMemo as useMemo18, useState as useState29 } from "react";
27256
27317
  function looksLikeNickname(input) {
27257
27318
  if (!input) return false;
@@ -27281,7 +27342,7 @@ function useNicknameResolve(input, options) {
27281
27342
  clearTimeout(timer);
27282
27343
  };
27283
27344
  }, [normalized, isNicknameInput, enabled]);
27284
- const query = useQuery26({
27345
+ const query = useQuery27({
27285
27346
  queryKey: [...QUERY_KEYS.nicknameResolve(debouncedInput), chainId],
27286
27347
  queryFn: async () => await resolveNickname(debouncedInput, chainId),
27287
27348
  enabled: enabled && isNicknameInput && debouncedInput.length > 0,
@@ -27821,7 +27882,7 @@ var init_components3 = __esm({
27821
27882
  });
27822
27883
 
27823
27884
  // src/internal/components/SendMenu/send/useTokenBalance.ts
27824
- import { useQuery as useQuery27 } from "@tanstack/react-query";
27885
+ import { useQuery as useQuery28 } from "@tanstack/react-query";
27825
27886
  import { erc20Abi as erc20Abi4, formatUnits as formatUnits12 } from "viem";
27826
27887
  function isNftAsset4(asset) {
27827
27888
  if (!asset) return false;
@@ -27830,7 +27891,7 @@ function isNftAsset4(asset) {
27830
27891
  function useTokenBalance(asset) {
27831
27892
  const address = useSession((st) => st.address);
27832
27893
  const chainConfig = useSession((st) => st.chainConfig);
27833
- return useQuery27({
27894
+ return useQuery28({
27834
27895
  retry: false,
27835
27896
  enabled: !!address && !!chainConfig?.id && !!asset?.symbol,
27836
27897
  refetchInterval: 5e3,
@@ -29558,7 +29619,7 @@ var init_TransactionsGroup = __esm({
29558
29619
  });
29559
29620
 
29560
29621
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
29561
- import { useQuery as useQuery28, useQueryClient as useQueryClient28 } from "@tanstack/react-query";
29622
+ import { useQuery as useQuery29, useQueryClient as useQueryClient28 } from "@tanstack/react-query";
29562
29623
  import { ArrowLeft as ArrowLeft22, Loader as Loader29, RefreshCw as RefreshCw3, XCircle as XCircle2 } from "lucide-react";
29563
29624
  import { useCallback as useCallback32, useState as useState32 } from "react";
29564
29625
  import { jsx as jsx128, jsxs as jsxs116 } from "react/jsx-runtime";
@@ -29576,7 +29637,7 @@ function TransactionsMenu() {
29576
29637
  isLoading: isTxHistoryLoading,
29577
29638
  isFetching: isTxHistoryFetching,
29578
29639
  error: txHistoryError
29579
- } = useQuery28({
29640
+ } = useQuery29({
29580
29641
  retry: false,
29581
29642
  enabled: !!address && !!chainConfig?.id && historySupported,
29582
29643
  queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, chainConfig.id, address],
@@ -29679,7 +29740,7 @@ var init_constants9 = __esm({
29679
29740
  });
29680
29741
 
29681
29742
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
29682
- import { useQuery as useQuery29 } from "@tanstack/react-query";
29743
+ import { useQuery as useQuery30 } from "@tanstack/react-query";
29683
29744
  import { ArrowLeft as ArrowLeft23, HardDrive as HardDrive3 } from "lucide-react";
29684
29745
  import { jsx as jsx129, jsxs as jsxs117 } from "react/jsx-runtime";
29685
29746
  function useSettingsButtons(chainId) {
@@ -29711,7 +29772,7 @@ function SettingsMenu() {
29711
29772
  const setPage = useLayoutDataStore((st) => st.setPage);
29712
29773
  const settingsButtons = useSettingsButtons(activeChainId);
29713
29774
  useProvidersList();
29714
- useQuery29({
29775
+ useQuery30({
29715
29776
  retry: 1,
29716
29777
  enabled: !!address,
29717
29778
  queryKey: [QUERY_KEYS.nicknameInfo, address],
@@ -30051,7 +30112,7 @@ var init_package = __esm({
30051
30112
  "package.json"() {
30052
30113
  package_default = {
30053
30114
  name: "@embarkai/ui-kit",
30054
- version: "0.4.116",
30115
+ version: "0.4.117",
30055
30116
  description: "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
30056
30117
  type: "module",
30057
30118
  main: "./dist/index.cjs",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@embarkai/ui-kit",
3
- "version": "0.4.116",
3
+ "version": "0.4.117",
4
4
  "description": "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",