@solana/connector 0.2.0 → 0.2.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.
@@ -1,6 +1,6 @@
1
1
  import { installPolyfills, isMainnetCluster, isDevnetCluster, isTestnetCluster, isLocalCluster, getClusterExplorerUrl, getClusterType, formatAddress, copyAddressToClipboard, createConnectorId, createTransactionSigner, createKitTransactionSigner, formatLamportsToSolSafe, getTransactionUrl, ConnectorClient, formatBigIntBalance, formatBigIntUsd } from './chunk-IDTUFDNB.mjs';
2
2
  import { createLogger, __publicField, WalletErrorType, createSolanaClient, NetworkError, prepareTransaction, isConnectorError } from './chunk-ZZTY3O4N.mjs';
3
- import React2, { createContext, Component, useTransition, useState, useCallback, useMemo, useRef, useEffect, useContext, useSyncExternalStore } from 'react';
3
+ import React4, { createContext, Component, useTransition, useState, useCallback, useMemo, useRef, useEffect, useContext, useSyncExternalStore } from 'react';
4
4
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
5
  import { address } from '@solana/addresses';
6
6
  import { signature } from '@solana/keys';
@@ -315,7 +315,7 @@ function ConnectorProviderInternal({
315
315
  config,
316
316
  mobile
317
317
  }) {
318
- let clientRef = useRef(null), client = React2.useCallback(() => {
318
+ let clientRef = useRef(null), client = React4.useCallback(() => {
319
319
  if (!clientRef.current)
320
320
  try {
321
321
  clientRef.current = new ConnectorClient(config), typeof window < "u" && (window.__connectorClient = clientRef.current), config?.debug && logger2.info("Client initialized successfully");
@@ -330,7 +330,7 @@ function ConnectorProviderInternal({
330
330
  }
331
331
  return clientRef.current;
332
332
  }, [config])();
333
- return React2.useEffect(() => {
333
+ return React4.useEffect(() => {
334
334
  let currentClient = clientRef.current;
335
335
  if (currentClient) {
336
336
  let privateClient = currentClient;
@@ -339,7 +339,7 @@ function ConnectorProviderInternal({
339
339
  return () => {
340
340
  typeof window < "u" && (window.__connectorClient = void 0), currentClient && typeof currentClient.destroy == "function" && currentClient.destroy();
341
341
  };
342
- }, []), React2.useEffect(() => {
342
+ }, []), React4.useEffect(() => {
343
343
  if (!mobile) return;
344
344
  let cancelled = false;
345
345
  return (async () => {
@@ -394,9 +394,9 @@ function useConnector() {
394
394
  "useConnector must be used within ConnectorProvider. Wrap your app with <ConnectorProvider> or <UnifiedProvider> to use connector hooks."
395
395
  );
396
396
  let { uri: walletConnectUri, clearUri: clearWalletConnectUri } = useWalletConnectUri(), state = useSyncExternalStore(
397
- React2.useCallback((cb) => client.subscribe(cb), [client]),
398
- React2.useCallback(() => client.getSnapshot(), [client]),
399
- React2.useCallback(() => client.getSnapshot(), [client])
397
+ React4.useCallback((cb) => client.subscribe(cb), [client]),
398
+ React4.useCallback(() => client.getSnapshot(), [client]),
399
+ React4.useCallback(() => client.getSnapshot(), [client])
400
400
  ), methods = useMemo(
401
401
  () => ({
402
402
  // Legacy (kept for backwards compatibility)
@@ -576,7 +576,7 @@ function useCluster() {
576
576
  }, [cluster, clusters, setCluster]);
577
577
  }
578
578
  function useAccount() {
579
- let { selectedAccount, accounts, connected, selectAccount } = useConnector(), [copied, setCopied] = useState(false), copyTimeoutRef = React2.useRef(void 0), account = useMemo(
579
+ let { selectedAccount, accounts, connected, selectAccount } = useConnector(), [copied, setCopied] = useState(false), copyTimeoutRef = React4.useRef(void 0), account = useMemo(
580
580
  () => accounts.find((a) => a.address === selectedAccount) ?? null,
581
581
  [accounts, selectedAccount]
582
582
  ), formatted = useMemo(() => selectedAccount ? formatAddress(selectedAccount) : "", [selectedAccount]), copy = useCallback(async () => selectedAccount ? (copyTimeoutRef.current && clearTimeout(copyTimeoutRef.current), await copyAddressToClipboard(selectedAccount, {
@@ -588,7 +588,7 @@ function useAccount() {
588
588
  error: "empty_value" /* EMPTY_VALUE */,
589
589
  errorMessage: "No account selected"
590
590
  }, [selectedAccount]);
591
- return React2.useEffect(() => () => {
591
+ return React4.useEffect(() => () => {
592
592
  copyTimeoutRef.current && clearTimeout(copyTimeoutRef.current);
593
593
  }, []), useMemo(
594
594
  () => ({
@@ -991,13 +991,13 @@ function useWalletAssets(options = {}) {
991
991
  refetchIntervalMs = false,
992
992
  client: clientOverride,
993
993
  select
994
- } = options, { address: address$1, connected } = useAccount(), { client: providerClient } = useSolanaClient(), rpcClient = clientOverride ?? providerClient, key = useMemo(() => {
995
- if (!enabled || !connected || !address$1 || !rpcClient) return null;
994
+ } = options, { account, isConnected: isConnected2 } = useWallet(), address$1 = account ? String(account) : null, { client: providerClient } = useSolanaClient(), rpcClient = clientOverride ?? providerClient, key = useMemo(() => {
995
+ if (!enabled || !isConnected2 || !address$1 || !rpcClient) return null;
996
996
  let rpcUrl = rpcClient.urlOrMoniker instanceof URL ? rpcClient.urlOrMoniker.toString() : String(rpcClient.urlOrMoniker);
997
997
  return getWalletAssetsQueryKey(rpcUrl, address$1);
998
- }, [enabled, connected, address$1, rpcClient]), queryFn = useCallback(
998
+ }, [enabled, isConnected2, address$1, rpcClient]), queryFn = useCallback(
999
999
  async (signal) => {
1000
- if (!connected || !address$1 || !rpcClient)
1000
+ if (!isConnected2 || !address$1 || !rpcClient)
1001
1001
  return { lamports: 0n, tokenAccounts: [] };
1002
1002
  if (signal.aborted)
1003
1003
  throw new DOMException("Query aborted", "AbortError");
@@ -1013,12 +1013,12 @@ function useWalletAssets(options = {}) {
1013
1013
  if (signal.aborted)
1014
1014
  throw new DOMException("Query aborted", "AbortError");
1015
1015
  let tokenAccounts = [];
1016
- for (let account of tokenAccountsResult.value) {
1017
- let parsed = parseTokenAccount(account, "token");
1016
+ for (let account2 of tokenAccountsResult.value) {
1017
+ let parsed = parseTokenAccount(account2, "token");
1018
1018
  parsed && tokenAccounts.push(parsed);
1019
1019
  }
1020
- for (let account of token2022AccountsResult.value) {
1021
- let parsed = parseTokenAccount(account, "token-2022");
1020
+ for (let account2 of token2022AccountsResult.value) {
1021
+ let parsed = parseTokenAccount(account2, "token-2022");
1022
1022
  parsed && tokenAccounts.push(parsed);
1023
1023
  }
1024
1024
  return {
@@ -1026,7 +1026,7 @@ function useWalletAssets(options = {}) {
1026
1026
  tokenAccounts
1027
1027
  };
1028
1028
  },
1029
- [connected, address$1, rpcClient]
1029
+ [isConnected2, address$1, rpcClient]
1030
1030
  ), { data, error, status, updatedAt, isFetching, refetch, abort } = useSharedQuery(
1031
1031
  key,
1032
1032
  queryFn,
@@ -1484,7 +1484,7 @@ function useTransactions(options = {}) {
1484
1484
  // 5 minutes
1485
1485
  refetchOnMount = "stale",
1486
1486
  client: clientOverride
1487
- } = options, { address: address$1, connected } = useAccount(), { cluster } = useCluster(), { client: providerClient } = useSolanaClient(), connectorClient = useConnectorClient(), [paginatedTransactions, setPaginatedTransactions] = useState([]), [isPaginationLoading, setIsPaginationLoading] = useState(false), [hasMore, setHasMore] = useState(true), beforeSignatureRef = useRef(void 0), rpcClient = clientOverride ?? providerClient, connectorConfig = connectorClient?.getConfig(), imageProxy = connectorConfig?.imageProxy, programLabels = connectorConfig?.programLabels, parseTransaction = useCallback(
1487
+ } = options, { account, isConnected: isConnected2 } = useWallet(), address$1 = useMemo(() => account ? String(account) : null, [account]), { cluster } = useCluster(), { client: providerClient } = useSolanaClient(), connectorClient = useConnectorClient(), [paginatedTransactions, setPaginatedTransactions] = useState([]), [isPaginationLoading, setIsPaginationLoading] = useState(false), [hasMore, setHasMore] = useState(true), beforeSignatureRef = useRef(void 0), rpcClient = clientOverride ?? providerClient, connectorConfig = connectorClient?.getConfig(), imageProxy = connectorConfig?.imageProxy, programLabels = connectorConfig?.programLabels, parseTransaction = useCallback(
1488
1488
  (tx, walletAddress, sig, blockTime, slot, err, explorerUrl) => {
1489
1489
  let { date, time } = formatDate(blockTime), baseInfo = {
1490
1490
  signature: sig,
@@ -1536,10 +1536,10 @@ function useTransactions(options = {}) {
1536
1536
  },
1537
1537
  [programLabels]
1538
1538
  ), key = useMemo(() => {
1539
- if (!enabled || !connected || !address$1 || !rpcClient || !cluster) return null;
1539
+ if (!enabled || !isConnected2 || !address$1 || !rpcClient || !cluster) return null;
1540
1540
  let rpcUrl = rpcClient.urlOrMoniker instanceof URL ? rpcClient.urlOrMoniker.toString() : String(rpcClient.urlOrMoniker);
1541
1541
  return getTransactionsQueryKey({ rpcUrl, address: address$1, clusterId: cluster.id, limit, fetchDetails });
1542
- }, [enabled, connected, address$1, rpcClient, cluster, limit, fetchDetails]);
1542
+ }, [enabled, isConnected2, address$1, rpcClient, cluster, limit, fetchDetails]);
1543
1543
  useEffect(() => {
1544
1544
  beforeSignatureRef.current = void 0, setPaginatedTransactions([]), setIsPaginationLoading(false), setHasMore(true);
1545
1545
  }, [key]);
@@ -1647,13 +1647,13 @@ function useTransactions(options = {}) {
1647
1647
  [rpcClient, address$1, limit, fetchDetails, detailsConcurrency, parseTransaction, imageProxy]
1648
1648
  ), queryFn = useCallback(
1649
1649
  async (signal) => {
1650
- if (!connected || !address$1 || !rpcClient || !cluster)
1650
+ if (!isConnected2 || !address$1 || !rpcClient || !cluster)
1651
1651
  return [];
1652
1652
  throwIfAborted(signal);
1653
1653
  let result = await fetchAndEnrichTransactions(void 0, cluster, signal);
1654
1654
  return throwIfAborted(signal), result.transactions;
1655
1655
  },
1656
- [connected, address$1, rpcClient, cluster, fetchAndEnrichTransactions]
1656
+ [isConnected2, address$1, rpcClient, cluster, fetchAndEnrichTransactions]
1657
1657
  ), {
1658
1658
  data: initialTransactions,
1659
1659
  error,
@@ -1914,7 +1914,7 @@ function useTokens(options = {}) {
1914
1914
  // 5 minutes
1915
1915
  refetchOnMount = "stale",
1916
1916
  client: clientOverride
1917
- } = options, { address, connected } = useAccount(), { type: clusterType } = useCluster(), connectorConfig = useConnectorClient()?.getConfig(), imageProxy = connectorConfig?.imageProxy, coingeckoConfig = connectorConfig?.coingecko, selectFn = useCallback(
1917
+ } = options, { account, isConnected: isConnected2 } = useWallet(), address = useMemo(() => account ? String(account) : null, [account]), { type: clusterType } = useCluster(), connectorConfig = useConnectorClient()?.getConfig(), imageProxy = connectorConfig?.imageProxy, coingeckoConfig = connectorConfig?.coingecko, selectFn = useCallback(
1918
1918
  (assets) => selectTokens(assets, address ?? ""),
1919
1919
  [address]
1920
1920
  ), {
@@ -1943,16 +1943,16 @@ function useTokens(options = {}) {
1943
1943
  isFrozen: false,
1944
1944
  owner: walletAddress
1945
1945
  });
1946
- for (let account of tokenAccounts)
1947
- !includeZeroBalance && account.amount === 0n || result.push({
1948
- mint: account.mint,
1949
- tokenAccount: account.pubkey,
1950
- amount: account.amount,
1951
- decimals: account.decimals,
1952
- formatted: formatBalance(account.amount, account.decimals),
1953
- isFrozen: account.isFrozen,
1954
- owner: account.owner,
1955
- programId: account.programId
1946
+ for (let account2 of tokenAccounts)
1947
+ !includeZeroBalance && account2.amount === 0n || result.push({
1948
+ mint: account2.mint,
1949
+ tokenAccount: account2.pubkey,
1950
+ amount: account2.amount,
1951
+ decimals: account2.decimals,
1952
+ formatted: formatBalance(account2.amount, account2.decimals),
1953
+ isFrozen: account2.isFrozen,
1954
+ owner: account2.owner,
1955
+ programId: account2.programId
1956
1956
  });
1957
1957
  return result;
1958
1958
  }, [lamports, tokenAccounts, walletAddress, includeNativeSol, includeZeroBalance]), mints = useMemo(() => {
@@ -1994,10 +1994,10 @@ function useTokens(options = {}) {
1994
1994
  };
1995
1995
  }).sort(sortByValueDesc) : baseTokens.slice().sort(sortByValueDesc), [baseTokens, fetchMetadata, imageProxy, metadataVersion]), totalAccounts = tokenAccounts.length + (includeNativeSol ? 1 : 0);
1996
1996
  useEffect(() => (startCacheCleanup(), () => stopCacheCleanup()), []);
1997
- let wasConnectedRef = useRef(connected);
1997
+ let wasConnectedRef = useRef(isConnected2);
1998
1998
  useEffect(() => {
1999
- wasConnectedRef.current && !connected && clearTokenCaches(), wasConnectedRef.current = connected;
2000
- }, [connected]);
1999
+ wasConnectedRef.current && !isConnected2 && clearTokenCaches(), wasConnectedRef.current = isConnected2;
2000
+ }, [isConnected2]);
2001
2001
  let visibleError = updatedAt ? null : error, refetch = useCallback(
2002
2002
  async (opts) => {
2003
2003
  await sharedRefetch(opts);
@@ -2026,17 +2026,12 @@ function DisconnectElement({
2026
2026
  onDisconnect,
2027
2027
  render
2028
2028
  }) {
2029
- let { disconnect, connecting } = useConnector(), [disconnecting, setDisconnecting] = React2.useState(false), handleDisconnect = async () => {
2030
- setDisconnecting(true);
2031
- try {
2032
- await disconnect(), onDisconnect?.();
2033
- } finally {
2034
- setDisconnecting(false);
2035
- }
2029
+ let { isConnecting: isConnecting2 } = useWallet(), { disconnect, isDisconnecting } = useDisconnectWallet(), handleDisconnect = async () => {
2030
+ await disconnect(), onDisconnect?.();
2036
2031
  };
2037
2032
  if (render)
2038
- return /* @__PURE__ */ jsx(Fragment, { children: render({ disconnect: handleDisconnect, disconnecting }) });
2039
- let isDisabled = connecting || disconnecting, content = /* @__PURE__ */ jsxs(Fragment, { children: [
2033
+ return /* @__PURE__ */ jsx(Fragment, { children: render({ disconnect: handleDisconnect, disconnecting: isDisconnecting }) });
2034
+ let isDisabled = isConnecting2 || isDisconnecting, content = /* @__PURE__ */ jsxs(Fragment, { children: [
2040
2035
  showIcon && (icon || showIcon && !icon && /* @__PURE__ */ jsxs(
2041
2036
  "svg",
2042
2037
  {
@@ -2068,7 +2063,7 @@ function DisconnectElement({
2068
2063
  disabled: isDisabled,
2069
2064
  "data-slot": "disconnect-element",
2070
2065
  "data-variant": "button",
2071
- "data-disconnecting": disconnecting,
2066
+ "data-disconnecting": isDisconnecting,
2072
2067
  children: content
2073
2068
  }
2074
2069
  ) : variant === "link" ? /* @__PURE__ */ jsx(
@@ -2080,7 +2075,7 @@ function DisconnectElement({
2080
2075
  disabled: isDisabled,
2081
2076
  "data-slot": "disconnect-element",
2082
2077
  "data-variant": "link",
2083
- "data-disconnecting": disconnecting,
2078
+ "data-disconnecting": isDisconnecting,
2084
2079
  children: content
2085
2080
  }
2086
2081
  ) : /* @__PURE__ */ jsx(
@@ -2093,7 +2088,7 @@ function DisconnectElement({
2093
2088
  disabled: isDisabled,
2094
2089
  "data-slot": "disconnect-element",
2095
2090
  "data-variant": "menuitem",
2096
- "data-disconnecting": disconnecting,
2091
+ "data-disconnecting": isDisconnecting,
2097
2092
  children: content
2098
2093
  }
2099
2094
  );
@@ -2108,8 +2103,16 @@ function AccountElement({
2108
2103
  variant = "compact",
2109
2104
  render
2110
2105
  }) {
2111
- let { address, formatted, copy, copied } = useAccount(), { name: walletName, icon: walletIcon } = useWalletInfo();
2112
- if (render)
2106
+ let { account, connectorId } = useWallet(), connectors = useWalletConnectors(), address = React4.useMemo(() => account ? String(account) : null, [account]), formatted = React4.useMemo(() => address ? formatAddress(address) : "", [address]), connector = React4.useMemo(() => connectorId ? connectors.find((c) => c.id === connectorId) ?? null : null, [connectors, connectorId]), walletName = connector?.name ?? null, walletIcon = connector?.icon ? connector.icon : null, [copied, setCopied] = React4.useState(false), copyTimeoutRef = React4.useRef(void 0), copy = React4.useCallback(async () => address ? (copyTimeoutRef.current && clearTimeout(copyTimeoutRef.current), await copyAddressToClipboard(address, {
2107
+ onSuccess: () => {
2108
+ setCopied(true), copyTimeoutRef.current = setTimeout(() => setCopied(false), 2e3);
2109
+ }
2110
+ })) : {
2111
+ success: false
2112
+ }, [address]);
2113
+ if (React4.useEffect(() => () => {
2114
+ copyTimeoutRef.current && clearTimeout(copyTimeoutRef.current);
2115
+ }, []), render)
2113
2116
  return /* @__PURE__ */ jsx(Fragment, { children: render({ address, formatted, walletName, walletIcon, copy, copied }) });
2114
2117
  if (!address) return null;
2115
2118
  let displayAddress = showFullAddress ? address : formatted, handleCopy = async (e) => {
@@ -2270,7 +2273,7 @@ function ClusterElement({
2270
2273
  labels = {},
2271
2274
  render
2272
2275
  }) {
2273
- let { cluster, clusters, setCluster, isMainnet, isDevnet, isTestnet, isLocal } = useCluster(), [isOpen, setIsOpen] = React2.useState(false);
2276
+ let { cluster, clusters, setCluster, isMainnet, isDevnet, isTestnet, isLocal } = useCluster(), [isOpen, setIsOpen] = React4.useState(false);
2274
2277
  if (render)
2275
2278
  return /* @__PURE__ */ jsx(Fragment, { children: render({ cluster, clusters, setCluster, isMainnet, isDevnet, isTestnet, isLocal }) });
2276
2279
  if (!cluster) return null;
@@ -2481,19 +2484,28 @@ function WalletListElement({
2481
2484
  render,
2482
2485
  renderWallet
2483
2486
  }) {
2484
- let { wallets, connecting } = useWalletInfo(), { select } = useConnector(), installedWallets = wallets.filter((w) => w.installed), displayWallets = installedOnly ? installedWallets : wallets, handleSelect = async (walletName) => {
2485
- await select(walletName), onSelect?.(walletName);
2486
- }, handleConnectById = async (connectorId) => {
2487
- let wallet = wallets.find((w) => w.connectorId === connectorId);
2487
+ let connectors = useWalletConnectors(), { isConnecting: isConnectingGlobal } = useWallet(), { connect, isConnecting: isConnectingLocal } = useConnectWallet(), connecting = isConnectingGlobal || isConnectingLocal, wallets = React4.useMemo(
2488
+ () => connectors.map((c) => ({
2489
+ name: c.name,
2490
+ connectorId: c.id,
2491
+ icon: c.icon || void 0,
2492
+ installed: c.ready,
2493
+ connectable: c.ready
2494
+ })),
2495
+ [connectors]
2496
+ ), installedWallets = wallets.filter((w) => w.installed), displayWallets = installedOnly ? installedWallets : wallets, handleSelect = async (walletName) => {
2497
+ let wallet = wallets.find((w) => w.name === walletName);
2488
2498
  if (!wallet) {
2489
- let availableConnectorIds = wallets.map((w) => w.connectorId);
2499
+ let availableWalletNames = wallets.map((w) => w.name);
2490
2500
  console.warn(
2491
- `[WalletListElement] Wallet not found for connectorId: ${connectorId}. Available connectorIds (${availableConnectorIds.length}):`,
2492
- availableConnectorIds
2501
+ `[WalletListElement] Wallet not found for walletName: ${walletName}. Available wallets (${availableWalletNames.length}):`,
2502
+ availableWalletNames
2493
2503
  );
2494
2504
  return;
2495
2505
  }
2496
- await select(wallet.name), onConnect?.(connectorId);
2506
+ await connect(wallet.connectorId), onSelect?.(walletName), onConnect?.(wallet.connectorId);
2507
+ }, handleConnectById = async (connectorId) => {
2508
+ await connect(connectorId), onConnect?.(connectorId);
2497
2509
  };
2498
2510
  if (render)
2499
2511
  return /* @__PURE__ */ jsx(Fragment, { children: render({
@@ -2562,7 +2574,7 @@ function WalletListElement({
2562
2574
  "data-variant": "grid",
2563
2575
  children: displayWallets.map((wallet) => {
2564
2576
  let handleWalletConnect = () => handleConnectById(wallet.connectorId);
2565
- return renderWallet ? /* @__PURE__ */ jsx(React2.Fragment, { children: renderWallet({
2577
+ return renderWallet ? /* @__PURE__ */ jsx(React4.Fragment, { children: renderWallet({
2566
2578
  wallet,
2567
2579
  select: handleWalletConnect,
2568
2580
  connect: handleWalletConnect,
@@ -2573,7 +2585,7 @@ function WalletListElement({
2573
2585
  type: "button",
2574
2586
  className: "ck-wallet-list-item ck-wallet-list-item--grid",
2575
2587
  onClick: handleWalletConnect,
2576
- disabled: connecting || !wallet.installed && installedOnly,
2588
+ disabled: connecting || !wallet.connectable,
2577
2589
  "data-slot": "wallet-list-item",
2578
2590
  "data-wallet": wallet.name,
2579
2591
  "data-connector-id": wallet.connectorId,
@@ -2596,7 +2608,7 @@ function WalletListElement({
2596
2608
  "data-variant": "compact",
2597
2609
  children: displayWallets.map((wallet) => {
2598
2610
  let handleWalletConnect = () => handleConnectById(wallet.connectorId);
2599
- return renderWallet ? /* @__PURE__ */ jsx(React2.Fragment, { children: renderWallet({
2611
+ return renderWallet ? /* @__PURE__ */ jsx(React4.Fragment, { children: renderWallet({
2600
2612
  wallet,
2601
2613
  select: handleWalletConnect,
2602
2614
  connect: handleWalletConnect,
@@ -2607,7 +2619,7 @@ function WalletListElement({
2607
2619
  type: "button",
2608
2620
  className: "ck-wallet-list-item ck-wallet-list-item--compact",
2609
2621
  onClick: handleWalletConnect,
2610
- disabled: connecting || !wallet.installed && installedOnly,
2622
+ disabled: connecting || !wallet.connectable,
2611
2623
  "data-slot": "wallet-list-item",
2612
2624
  "data-wallet": wallet.name,
2613
2625
  "data-connector-id": wallet.connectorId,
@@ -2629,7 +2641,7 @@ function WalletListElement({
2629
2641
  "data-variant": "list",
2630
2642
  children: displayWallets.map((wallet) => {
2631
2643
  let handleWalletConnect = () => handleConnectById(wallet.connectorId);
2632
- return renderWallet ? /* @__PURE__ */ jsx(React2.Fragment, { children: renderWallet({
2644
+ return renderWallet ? /* @__PURE__ */ jsx(React4.Fragment, { children: renderWallet({
2633
2645
  wallet,
2634
2646
  select: handleWalletConnect,
2635
2647
  connect: handleWalletConnect,
@@ -2640,7 +2652,7 @@ function WalletListElement({
2640
2652
  type: "button",
2641
2653
  className: "ck-wallet-list-item ck-wallet-list-item--list",
2642
2654
  onClick: handleWalletConnect,
2643
- disabled: connecting || !wallet.installed && installedOnly,
2655
+ disabled: connecting || !wallet.connectable,
2644
2656
  "data-slot": "wallet-list-item",
2645
2657
  "data-wallet": wallet.name,
2646
2658
  "data-connector-id": wallet.connectorId,
@@ -2716,7 +2728,7 @@ function injectStyles() {
2716
2728
  }
2717
2729
  }
2718
2730
  function SkeletonShine() {
2719
- return React2.useEffect(() => {
2731
+ return React4.useEffect(() => {
2720
2732
  injectStyles();
2721
2733
  }, []), /* @__PURE__ */ jsx("div", { className: "ck-skeleton-shine", "data-slot": "skeleton-shine" });
2722
2734
  }
@@ -3251,5 +3263,5 @@ function TokenListElement({
3251
3263
  TokenListElement.displayName = "TokenListElement";
3252
3264
 
3253
3265
  export { AccountElement, AppProvider, BalanceElement, ClusterElement, ConnectorErrorBoundary, ConnectorProvider, DisconnectElement, SkeletonShine, TokenListElement, TransactionHistoryElement, UnifiedProvider, WalletConnectProvider, WalletListElement, clearSharedQueryCache, clearTokenCaches, getBalanceQueryKey, getTokensQueryKey, getTransactionsQueryKey, getWalletAssetsQueryKey, invalidateSharedQuery, useAccount, useBalance, useCluster, useConnectWallet, useConnector, useConnectorClient, useDisconnectWallet, useGillSolanaClient, useGillTransactionSigner, useKitTransactionSigner, useSolanaClient, useTokens, useTransactionPreparer, useTransactionSigner, useTransactions, useWallet, useWalletConnectUri, useWalletConnectors, useWalletInfo, withErrorBoundary };
3254
- //# sourceMappingURL=chunk-RTXUS5KG.mjs.map
3255
- //# sourceMappingURL=chunk-RTXUS5KG.mjs.map
3266
+ //# sourceMappingURL=chunk-MDR4Y37Z.mjs.map
3267
+ //# sourceMappingURL=chunk-MDR4Y37Z.mjs.map