@solana/connector 0.2.0 → 0.2.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.
Files changed (79) hide show
  1. package/README.md +11 -11
  2. package/dist/{chunk-HPQ5T32K.mjs → chunk-3623Z2QL.mjs} +4 -4
  3. package/dist/{chunk-HPQ5T32K.mjs.map → chunk-3623Z2QL.mjs.map} +1 -1
  4. package/dist/{chunk-UCISIAOG.mjs → chunk-A7WQ3K75.mjs} +3 -3
  5. package/dist/{chunk-UCISIAOG.mjs.map → chunk-A7WQ3K75.mjs.map} +1 -1
  6. package/dist/{chunk-SITQ4JWM.js → chunk-BF67LVVM.js} +17 -21
  7. package/dist/chunk-BF67LVVM.js.map +1 -0
  8. package/dist/{chunk-RTXUS5KG.mjs → chunk-DFHJYZKZ.mjs} +84 -71
  9. package/dist/chunk-DFHJYZKZ.mjs.map +1 -0
  10. package/dist/chunk-E3DAIOYS.mjs +22 -0
  11. package/dist/chunk-E3DAIOYS.mjs.map +1 -0
  12. package/dist/chunk-FG7HTQTV.mjs +7 -0
  13. package/dist/chunk-FG7HTQTV.mjs.map +1 -0
  14. package/dist/{chunk-BJAVJQLK.js → chunk-I2XX5FUG.js} +6 -6
  15. package/dist/{chunk-BJAVJQLK.js.map → chunk-I2XX5FUG.js.map} +1 -1
  16. package/dist/chunk-L5FWMNWO.js +9 -0
  17. package/dist/chunk-L5FWMNWO.js.map +1 -0
  18. package/dist/{chunk-HN5AJF7F.js → chunk-NLPEO5GT.js} +5 -5
  19. package/dist/{chunk-HN5AJF7F.js.map → chunk-NLPEO5GT.js.map} +1 -1
  20. package/dist/chunk-QST7XLMB.js +26 -0
  21. package/dist/chunk-QST7XLMB.js.map +1 -0
  22. package/dist/{chunk-ZZTY3O4N.mjs → chunk-SJCQ3KZE.mjs} +4 -7
  23. package/dist/chunk-SJCQ3KZE.mjs.map +1 -0
  24. package/dist/{chunk-IDTUFDNB.mjs → chunk-SQ2JEA2M.mjs} +58 -11
  25. package/dist/chunk-SQ2JEA2M.mjs.map +1 -0
  26. package/dist/{chunk-BZ2VBJCZ.js → chunk-TRSJSU33.js} +141 -94
  27. package/dist/chunk-TRSJSU33.js.map +1 -0
  28. package/dist/{chunk-EM4KNOKG.js → chunk-VVLY6QPI.js} +202 -189
  29. package/dist/chunk-VVLY6QPI.js.map +1 -0
  30. package/dist/compat.js +2 -2
  31. package/dist/compat.mjs +1 -1
  32. package/dist/fireblocks-FLKRTJU3.js +67 -0
  33. package/dist/fireblocks-FLKRTJU3.js.map +1 -0
  34. package/dist/fireblocks-KCJV3GEK.mjs +65 -0
  35. package/dist/fireblocks-KCJV3GEK.mjs.map +1 -0
  36. package/dist/headless.d.mts +6 -11
  37. package/dist/headless.d.ts +6 -11
  38. package/dist/headless.js +147 -147
  39. package/dist/headless.mjs +4 -4
  40. package/dist/index.d.mts +1 -1
  41. package/dist/index.d.ts +1 -1
  42. package/dist/index.js +188 -188
  43. package/dist/index.mjs +5 -5
  44. package/dist/privy-6LYDE24Z.mjs +64 -0
  45. package/dist/privy-6LYDE24Z.mjs.map +1 -0
  46. package/dist/privy-ID4YFTKR.js +66 -0
  47. package/dist/privy-ID4YFTKR.js.map +1 -0
  48. package/dist/protocol-G-z1lRqo.d.mts +166 -0
  49. package/dist/protocol-G-z1lRqo.d.ts +166 -0
  50. package/dist/react.d.mts +18 -6
  51. package/dist/react.d.ts +18 -6
  52. package/dist/react.js +49 -49
  53. package/dist/react.mjs +2 -2
  54. package/dist/remote.d.mts +46 -0
  55. package/dist/remote.d.ts +46 -0
  56. package/dist/remote.js +212 -0
  57. package/dist/remote.js.map +1 -0
  58. package/dist/remote.mjs +198 -0
  59. package/dist/remote.mjs.map +1 -0
  60. package/dist/server.d.mts +141 -0
  61. package/dist/server.d.ts +141 -0
  62. package/dist/server.js +189 -0
  63. package/dist/server.js.map +1 -0
  64. package/dist/server.mjs +187 -0
  65. package/dist/server.mjs.map +1 -0
  66. package/dist/{standard-shim-tmnQelaJ.d.ts → standard-shim-Cg6fmjK_.d.ts} +10 -0
  67. package/dist/{standard-shim-CGB88PPO.d.mts → standard-shim-Cz4UNS7t.d.mts} +10 -0
  68. package/dist/{walletconnect-447EY3OJ.js → walletconnect-F2M3PAAN.js} +8 -8
  69. package/dist/{walletconnect-447EY3OJ.js.map → walletconnect-F2M3PAAN.js.map} +1 -1
  70. package/dist/walletconnect-Z6LPGALR.mjs +3 -0
  71. package/dist/{walletconnect-U455PO4I.mjs.map → walletconnect-Z6LPGALR.mjs.map} +1 -1
  72. package/package.json +27 -2
  73. package/dist/chunk-BZ2VBJCZ.js.map +0 -1
  74. package/dist/chunk-EM4KNOKG.js.map +0 -1
  75. package/dist/chunk-IDTUFDNB.mjs.map +0 -1
  76. package/dist/chunk-RTXUS5KG.mjs.map +0 -1
  77. package/dist/chunk-SITQ4JWM.js.map +0 -1
  78. package/dist/chunk-ZZTY3O4N.mjs.map +0 -1
  79. package/dist/walletconnect-U455PO4I.mjs +0 -3
@@ -1,17 +1,18 @@
1
1
  'use strict';
2
2
 
3
- var chunkBZ2VBJCZ_js = require('./chunk-BZ2VBJCZ.js');
4
- var chunkSITQ4JWM_js = require('./chunk-SITQ4JWM.js');
5
- var React2 = require('react');
3
+ var chunkTRSJSU33_js = require('./chunk-TRSJSU33.js');
4
+ var chunkBF67LVVM_js = require('./chunk-BF67LVVM.js');
5
+ var chunkL5FWMNWO_js = require('./chunk-L5FWMNWO.js');
6
+ var React4 = require('react');
6
7
  var jsxRuntime = require('react/jsx-runtime');
7
8
  var addresses = require('@solana/addresses');
8
9
  var keys = require('@solana/keys');
9
10
 
10
11
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
12
 
12
- var React2__default = /*#__PURE__*/_interopDefault(React2);
13
+ var React4__default = /*#__PURE__*/_interopDefault(React4);
13
14
 
14
- var logger = chunkSITQ4JWM_js.createLogger("ErrorBoundary");
15
+ var logger = chunkBF67LVVM_js.createLogger("ErrorBoundary");
15
16
  var ErrorLogger = class {
16
17
  static log(error, errorInfo, context) {
17
18
  if (process.env.NODE_ENV === "development" && logger.error(error.message, {
@@ -31,39 +32,39 @@ var ErrorLogger = class {
31
32
  }
32
33
  };
33
34
  function classifyError(error) {
34
- if (chunkSITQ4JWM_js.isConnectorError(error)) {
35
+ if (chunkBF67LVVM_js.isConnectorError(error)) {
35
36
  let typeMapping = {
36
- WALLET_NOT_CONNECTED: chunkSITQ4JWM_js.WalletErrorType.CONNECTION_FAILED,
37
- WALLET_NOT_FOUND: chunkSITQ4JWM_js.WalletErrorType.WALLET_NOT_FOUND,
38
- CONNECTION_FAILED: chunkSITQ4JWM_js.WalletErrorType.CONNECTION_FAILED,
39
- USER_REJECTED: chunkSITQ4JWM_js.WalletErrorType.USER_REJECTED,
40
- RPC_ERROR: chunkSITQ4JWM_js.WalletErrorType.NETWORK_ERROR,
41
- NETWORK_TIMEOUT: chunkSITQ4JWM_js.WalletErrorType.NETWORK_ERROR,
42
- SIGNING_FAILED: chunkSITQ4JWM_js.WalletErrorType.TRANSACTION_FAILED,
43
- SEND_FAILED: chunkSITQ4JWM_js.WalletErrorType.TRANSACTION_FAILED
37
+ WALLET_NOT_CONNECTED: chunkBF67LVVM_js.WalletErrorType.CONNECTION_FAILED,
38
+ WALLET_NOT_FOUND: chunkBF67LVVM_js.WalletErrorType.WALLET_NOT_FOUND,
39
+ CONNECTION_FAILED: chunkBF67LVVM_js.WalletErrorType.CONNECTION_FAILED,
40
+ USER_REJECTED: chunkBF67LVVM_js.WalletErrorType.USER_REJECTED,
41
+ RPC_ERROR: chunkBF67LVVM_js.WalletErrorType.NETWORK_ERROR,
42
+ NETWORK_TIMEOUT: chunkBF67LVVM_js.WalletErrorType.NETWORK_ERROR,
43
+ SIGNING_FAILED: chunkBF67LVVM_js.WalletErrorType.TRANSACTION_FAILED,
44
+ SEND_FAILED: chunkBF67LVVM_js.WalletErrorType.TRANSACTION_FAILED
44
45
  };
45
46
  return {
46
47
  ...error,
47
- type: typeMapping[error.code] || chunkSITQ4JWM_js.WalletErrorType.UNKNOWN_ERROR,
48
+ type: typeMapping[error.code] || chunkBF67LVVM_js.WalletErrorType.UNKNOWN_ERROR,
48
49
  recoverable: error.recoverable,
49
50
  context: error.context
50
51
  };
51
52
  }
52
53
  let walletError = error;
53
54
  if (walletError.type) return walletError;
54
- let type = chunkSITQ4JWM_js.WalletErrorType.UNKNOWN_ERROR, recoverable = false;
55
- return error.message.includes("User rejected") || error.message.includes("User denied") ? (type = chunkSITQ4JWM_js.WalletErrorType.USER_REJECTED, recoverable = true) : error.message.includes("Insufficient funds") ? (type = chunkSITQ4JWM_js.WalletErrorType.INSUFFICIENT_FUNDS, recoverable = false) : error.message.includes("Network") || error.message.includes("fetch") ? (type = chunkSITQ4JWM_js.WalletErrorType.NETWORK_ERROR, recoverable = true) : error.message.includes("Wallet not found") || error.message.includes("not installed") ? (type = chunkSITQ4JWM_js.WalletErrorType.WALLET_NOT_FOUND, recoverable = true) : (error.message.includes("Failed to connect") || error.message.includes("Connection")) && (type = chunkSITQ4JWM_js.WalletErrorType.CONNECTION_FAILED, recoverable = true), {
55
+ let type = chunkBF67LVVM_js.WalletErrorType.UNKNOWN_ERROR, recoverable = false;
56
+ return error.message.includes("User rejected") || error.message.includes("User denied") ? (type = chunkBF67LVVM_js.WalletErrorType.USER_REJECTED, recoverable = true) : error.message.includes("Insufficient funds") ? (type = chunkBF67LVVM_js.WalletErrorType.INSUFFICIENT_FUNDS, recoverable = false) : error.message.includes("Network") || error.message.includes("fetch") ? (type = chunkBF67LVVM_js.WalletErrorType.NETWORK_ERROR, recoverable = true) : error.message.includes("Wallet not found") || error.message.includes("not installed") ? (type = chunkBF67LVVM_js.WalletErrorType.WALLET_NOT_FOUND, recoverable = true) : (error.message.includes("Failed to connect") || error.message.includes("Connection")) && (type = chunkBF67LVVM_js.WalletErrorType.CONNECTION_FAILED, recoverable = true), {
56
57
  ...error,
57
58
  type,
58
59
  recoverable,
59
60
  context: { originalMessage: error.message }
60
61
  };
61
62
  }
62
- var ConnectorErrorBoundary = class extends React2.Component {
63
+ var ConnectorErrorBoundary = class extends React4.Component {
63
64
  constructor(props) {
64
65
  super(props);
65
- chunkSITQ4JWM_js.__publicField(this, "retryTimeouts", /* @__PURE__ */ new Set());
66
- chunkSITQ4JWM_js.__publicField(this, "retry", () => {
66
+ chunkL5FWMNWO_js.__publicField(this, "retryTimeouts", /* @__PURE__ */ new Set());
67
+ chunkL5FWMNWO_js.__publicField(this, "retry", () => {
67
68
  let { maxRetries = 3 } = this.props;
68
69
  this.state.retryCount >= maxRetries || this.setState((prevState) => ({
69
70
  hasError: false,
@@ -106,36 +107,36 @@ var ConnectorErrorBoundary = class extends React2.Component {
106
107
  }
107
108
  };
108
109
  function DefaultErrorFallback({ error, onRetry }) {
109
- let [isPending, startTransition] = React2.useTransition(), [isRetrying, setIsRetrying] = React2.useState(false), handleRetry = React2.useCallback(() => {
110
+ let [isPending, startTransition] = React4.useTransition(), [isRetrying, setIsRetrying] = React4.useState(false), handleRetry = React4.useCallback(() => {
110
111
  setIsRetrying(true), startTransition(() => {
111
112
  setTimeout(() => {
112
113
  onRetry(), setIsRetrying(false);
113
114
  }, 500);
114
115
  });
115
- }, [onRetry]), { title, message, actionText, showRetry } = React2.useMemo(() => {
116
+ }, [onRetry]), { title, message, actionText, showRetry } = React4.useMemo(() => {
116
117
  switch (error.type) {
117
- case chunkSITQ4JWM_js.WalletErrorType.USER_REJECTED:
118
+ case chunkBF67LVVM_js.WalletErrorType.USER_REJECTED:
118
119
  return {
119
120
  title: "Transaction Cancelled",
120
121
  message: "You cancelled the transaction. No problem!",
121
122
  actionText: "Try Again",
122
123
  showRetry: true
123
124
  };
124
- case chunkSITQ4JWM_js.WalletErrorType.WALLET_NOT_FOUND:
125
+ case chunkBF67LVVM_js.WalletErrorType.WALLET_NOT_FOUND:
125
126
  return {
126
127
  title: "Wallet Not Found",
127
128
  message: "Please install a supported Solana wallet to continue.",
128
129
  actionText: "Check Wallets",
129
130
  showRetry: true
130
131
  };
131
- case chunkSITQ4JWM_js.WalletErrorType.NETWORK_ERROR:
132
+ case chunkBF67LVVM_js.WalletErrorType.NETWORK_ERROR:
132
133
  return {
133
134
  title: "Network Error",
134
135
  message: "Having trouble connecting. Please check your internet connection.",
135
136
  actionText: "Retry",
136
137
  showRetry: true
137
138
  };
138
- case chunkSITQ4JWM_js.WalletErrorType.INSUFFICIENT_FUNDS:
139
+ case chunkBF67LVVM_js.WalletErrorType.INSUFFICIENT_FUNDS:
139
140
  return {
140
141
  title: "Insufficient Funds",
141
142
  message: "You don't have enough SOL for this transaction.",
@@ -285,25 +286,25 @@ function withErrorBoundary(Component2, errorBoundaryProps) {
285
286
  let WrappedComponent = (props) => /* @__PURE__ */ jsxRuntime.jsx(ConnectorErrorBoundary, { ...errorBoundaryProps, children: /* @__PURE__ */ jsxRuntime.jsx(Component2, { ...props }) });
286
287
  return WrappedComponent.displayName = `withErrorBoundary(${Component2.displayName || Component2.name})`, WrappedComponent;
287
288
  }
288
- var WalletConnectContext = React2.createContext(null);
289
+ var WalletConnectContext = React4.createContext(null);
289
290
  function WalletConnectProvider({ children }) {
290
- let [uri, setUriState] = React2.useState(null), isMountedRef = React2.useRef(false), pendingUriRef = React2.useRef(null);
291
- React2.useEffect(() => (isMountedRef.current = true, pendingUriRef.current !== null && (setUriState(pendingUriRef.current), pendingUriRef.current = null), () => {
291
+ let [uri, setUriState] = React4.useState(null), isMountedRef = React4.useRef(false), pendingUriRef = React4.useRef(null);
292
+ React4.useEffect(() => (isMountedRef.current = true, pendingUriRef.current !== null && (setUriState(pendingUriRef.current), pendingUriRef.current = null), () => {
292
293
  isMountedRef.current = false;
293
294
  }), []);
294
- let setUri = React2.useCallback((newUri) => {
295
+ let setUri = React4.useCallback((newUri) => {
295
296
  if (!isMountedRef.current) {
296
297
  pendingUriRef.current = newUri;
297
298
  return;
298
299
  }
299
300
  setUriState(newUri);
300
- }, []), clearUri = React2.useCallback(() => {
301
+ }, []), clearUri = React4.useCallback(() => {
301
302
  pendingUriRef.current = null, isMountedRef.current && setUriState(null);
302
303
  }, []);
303
304
  return /* @__PURE__ */ jsxRuntime.jsx(WalletConnectContext.Provider, { value: { uri, setUri, clearUri }, children });
304
305
  }
305
306
  function useWalletConnectUri() {
306
- let context = React2.useContext(WalletConnectContext);
307
+ let context = React4.useContext(WalletConnectContext);
307
308
  return context || {
308
309
  uri: null,
309
310
  setUri: () => {
@@ -312,19 +313,19 @@ function useWalletConnectUri() {
312
313
  }
313
314
  };
314
315
  }
315
- var logger2 = chunkSITQ4JWM_js.createLogger("ConnectorProvider");
316
- chunkBZ2VBJCZ_js.installPolyfills();
317
- var ConnectorContext = React2.createContext(null);
316
+ var logger2 = chunkBF67LVVM_js.createLogger("ConnectorProvider");
317
+ chunkTRSJSU33_js.installPolyfills();
318
+ var ConnectorContext = React4.createContext(null);
318
319
  ConnectorContext.displayName = "ConnectorContext";
319
320
  function ConnectorProviderInternal({
320
321
  children,
321
322
  config,
322
323
  mobile
323
324
  }) {
324
- let clientRef = React2.useRef(null), client = React2__default.default.useCallback(() => {
325
+ let clientRef = React4.useRef(null), client = React4__default.default.useCallback(() => {
325
326
  if (!clientRef.current)
326
327
  try {
327
- clientRef.current = new chunkBZ2VBJCZ_js.ConnectorClient(config), typeof window < "u" && (window.__connectorClient = clientRef.current), config?.debug && logger2.info("Client initialized successfully");
328
+ clientRef.current = new chunkTRSJSU33_js.ConnectorClient(config), typeof window < "u" && (window.__connectorClient = clientRef.current), config?.debug && logger2.info("Client initialized successfully");
328
329
  } catch (error) {
329
330
  let err = error;
330
331
  logger2.error("Failed to initialize client", { error: err });
@@ -336,7 +337,7 @@ function ConnectorProviderInternal({
336
337
  }
337
338
  return clientRef.current;
338
339
  }, [config])();
339
- return React2__default.default.useEffect(() => {
340
+ return React4__default.default.useEffect(() => {
340
341
  let currentClient = clientRef.current;
341
342
  if (currentClient) {
342
343
  let privateClient = currentClient;
@@ -345,7 +346,7 @@ function ConnectorProviderInternal({
345
346
  return () => {
346
347
  typeof window < "u" && (window.__connectorClient = void 0), currentClient && typeof currentClient.destroy == "function" && currentClient.destroy();
347
348
  };
348
- }, []), React2__default.default.useEffect(() => {
349
+ }, []), React4__default.default.useEffect(() => {
349
350
  if (!mobile) return;
350
351
  let cancelled = false;
351
352
  return (async () => {
@@ -394,16 +395,16 @@ function ConnectorProvider({
394
395
  ) : /* @__PURE__ */ jsxRuntime.jsx(ConnectorProviderInternal, { config, mobile, children });
395
396
  }
396
397
  function useConnector() {
397
- let client = React2.useContext(ConnectorContext);
398
+ let client = React4.useContext(ConnectorContext);
398
399
  if (!client)
399
400
  throw new Error(
400
401
  "useConnector must be used within ConnectorProvider. Wrap your app with <ConnectorProvider> or <UnifiedProvider> to use connector hooks."
401
402
  );
402
- let { uri: walletConnectUri, clearUri: clearWalletConnectUri } = useWalletConnectUri(), state = React2.useSyncExternalStore(
403
- React2__default.default.useCallback((cb) => client.subscribe(cb), [client]),
404
- React2__default.default.useCallback(() => client.getSnapshot(), [client]),
405
- React2__default.default.useCallback(() => client.getSnapshot(), [client])
406
- ), methods = React2.useMemo(
403
+ let { uri: walletConnectUri, clearUri: clearWalletConnectUri } = useWalletConnectUri(), state = React4.useSyncExternalStore(
404
+ React4__default.default.useCallback((cb) => client.subscribe(cb), [client]),
405
+ React4__default.default.useCallback(() => client.getSnapshot(), [client]),
406
+ React4__default.default.useCallback(() => client.getSnapshot(), [client])
407
+ ), methods = React4.useMemo(
407
408
  () => ({
408
409
  // Legacy (kept for backwards compatibility)
409
410
  select: client.select.bind(client),
@@ -414,7 +415,7 @@ function useConnector() {
414
415
  disconnectWallet: client.disconnectWallet.bind(client)
415
416
  }),
416
417
  [client]
417
- ), vNextFields = React2.useMemo(() => {
418
+ ), vNextFields = React4.useMemo(() => {
418
419
  let walletStatus = state.wallet, isConnected2 = walletStatus.status === "connected", isConnecting2 = walletStatus.status === "connecting", isError = walletStatus.status === "error", connectorId = null, account = null, sessionAccounts = [], walletError = null;
419
420
  walletStatus.status === "connected" ? (connectorId = walletStatus.session.connectorId, account = walletStatus.session.selectedAccount.address, sessionAccounts = walletStatus.session.accounts) : walletStatus.status === "connecting" ? connectorId = walletStatus.connectorId : walletStatus.status === "error" && (walletError = walletStatus.error, connectorId = walletStatus.connectorId ?? null);
420
421
  let connector = connectorId ? state.connectors.find((c) => c.id === connectorId) ?? null : null;
@@ -430,7 +431,7 @@ function useConnector() {
430
431
  connector
431
432
  };
432
433
  }, [state.wallet, state.connectors]);
433
- return React2.useMemo(
434
+ return React4.useMemo(
434
435
  () => ({
435
436
  ...state,
436
437
  ...methods,
@@ -442,10 +443,10 @@ function useConnector() {
442
443
  );
443
444
  }
444
445
  function useConnectorClient() {
445
- return React2.useContext(ConnectorContext);
446
+ return React4.useContext(ConnectorContext);
446
447
  }
447
448
  function AppProviderInner({ children, connectorConfig, mobile, providers = [] }) {
448
- let { setUri, clearUri } = useWalletConnectUri(), enhancedConfig = React2.useMemo(() => {
449
+ let { setUri, clearUri } = useWalletConnectUri(), enhancedConfig = React4.useMemo(() => {
449
450
  if (!connectorConfig?.walletConnect?.enabled)
450
451
  return connectorConfig;
451
452
  let wcConfig = connectorConfig.walletConnect;
@@ -471,17 +472,17 @@ function AppProvider(props) {
471
472
  }
472
473
  var UnifiedProvider = AppProvider;
473
474
  function useWallet() {
474
- let client = React2.useContext(ConnectorContext);
475
+ let client = React4.useContext(ConnectorContext);
475
476
  if (!client)
476
477
  throw new Error(
477
478
  "useWallet must be used within ConnectorProvider. Wrap your app with <ConnectorProvider> or <UnifiedProvider> to use wallet hooks."
478
479
  );
479
- let walletStatus = React2.useSyncExternalStore(
480
- React2.useCallback((cb) => client.subscribe(cb), [client]),
481
- React2.useCallback(() => client.getSnapshot().wallet, [client]),
482
- React2.useCallback(() => client.getSnapshot().wallet, [client])
480
+ let walletStatus = React4.useSyncExternalStore(
481
+ React4.useCallback((cb) => client.subscribe(cb), [client]),
482
+ React4.useCallback(() => client.getSnapshot().wallet, [client]),
483
+ React4.useCallback(() => client.getSnapshot().wallet, [client])
483
484
  );
484
- return React2.useMemo(() => {
485
+ return React4.useMemo(() => {
485
486
  let status = walletStatus.status, isConnected2 = status === "connected", isConnecting2 = status === "connecting", isError = status === "error", connectorId = null, account = null, accounts = [], session = null, error = null;
486
487
  return walletStatus.status === "connected" ? (connectorId = walletStatus.session.connectorId, account = walletStatus.session.selectedAccount.address, accounts = walletStatus.session.accounts, session = walletStatus.session) : walletStatus.status === "connecting" ? connectorId = walletStatus.connectorId : walletStatus.status === "error" && (error = walletStatus.error, connectorId = walletStatus.connectorId ?? null), {
487
488
  status,
@@ -498,24 +499,24 @@ function useWallet() {
498
499
  }, [walletStatus]);
499
500
  }
500
501
  function useWalletConnectors() {
501
- let client = React2.useContext(ConnectorContext);
502
+ let client = React4.useContext(ConnectorContext);
502
503
  if (!client)
503
504
  throw new Error(
504
505
  "useWalletConnectors must be used within ConnectorProvider. Wrap your app with <ConnectorProvider> or <UnifiedProvider> to use wallet hooks."
505
506
  );
506
- return React2.useSyncExternalStore(
507
- React2.useCallback((cb) => client.subscribe(cb), [client]),
508
- React2.useCallback(() => client.getSnapshot().connectors, [client]),
509
- React2.useCallback(() => client.getSnapshot().connectors, [client])
507
+ return React4.useSyncExternalStore(
508
+ React4.useCallback((cb) => client.subscribe(cb), [client]),
509
+ React4.useCallback(() => client.getSnapshot().connectors, [client]),
510
+ React4.useCallback(() => client.getSnapshot().connectors, [client])
510
511
  );
511
512
  }
512
513
  function useConnectWallet() {
513
- let client = React2.useContext(ConnectorContext), [isConnecting2, setIsConnecting] = React2.useState(false), [error, setError] = React2.useState(null);
514
+ let client = React4.useContext(ConnectorContext), [isConnecting2, setIsConnecting] = React4.useState(false), [error, setError] = React4.useState(null);
514
515
  if (!client)
515
516
  throw new Error(
516
517
  "useConnectWallet must be used within ConnectorProvider. Wrap your app with <ConnectorProvider> or <UnifiedProvider> to use wallet hooks."
517
518
  );
518
- let connect = React2.useCallback(
519
+ let connect = React4.useCallback(
519
520
  async (connectorId, options) => {
520
521
  setIsConnecting(true), setError(null);
521
522
  try {
@@ -528,7 +529,7 @@ function useConnectWallet() {
528
529
  }
529
530
  },
530
531
  [client]
531
- ), resetError = React2.useCallback(() => {
532
+ ), resetError = React4.useCallback(() => {
532
533
  setError(null);
533
534
  }, []);
534
535
  return {
@@ -539,13 +540,13 @@ function useConnectWallet() {
539
540
  };
540
541
  }
541
542
  function useDisconnectWallet() {
542
- let client = React2.useContext(ConnectorContext), [isDisconnecting, setIsDisconnecting] = React2.useState(false);
543
+ let client = React4.useContext(ConnectorContext), [isDisconnecting, setIsDisconnecting] = React4.useState(false);
543
544
  if (!client)
544
545
  throw new Error(
545
546
  "useDisconnectWallet must be used within ConnectorProvider. Wrap your app with <ConnectorProvider> or <UnifiedProvider> to use wallet hooks."
546
547
  );
547
548
  return {
548
- disconnect: React2.useCallback(async () => {
549
+ disconnect: React4.useCallback(async () => {
549
550
  setIsDisconnecting(true);
550
551
  try {
551
552
  await client.disconnectWallet();
@@ -560,14 +561,14 @@ function useCluster() {
560
561
  let { cluster, clusters } = useConnector(), client = useConnectorClient();
561
562
  if (!client)
562
563
  throw new Error("useCluster must be used within ConnectorProvider");
563
- let setCluster = React2.useMemo(
564
+ let setCluster = React4.useMemo(
564
565
  () => async (id) => {
565
566
  await client.setCluster(id);
566
567
  },
567
568
  [client]
568
569
  );
569
- return React2.useMemo(() => {
570
- let isMainnet = cluster ? chunkBZ2VBJCZ_js.isMainnetCluster(cluster) : false, isDevnet = cluster ? chunkBZ2VBJCZ_js.isDevnetCluster(cluster) : false, isTestnet = cluster ? chunkBZ2VBJCZ_js.isTestnetCluster(cluster) : false, isLocal = cluster ? chunkBZ2VBJCZ_js.isLocalCluster(cluster) : false, explorerUrl = cluster ? chunkBZ2VBJCZ_js.getClusterExplorerUrl(cluster) : "", type = cluster ? chunkBZ2VBJCZ_js.getClusterType(cluster) : null;
570
+ return React4.useMemo(() => {
571
+ let isMainnet = cluster ? chunkTRSJSU33_js.isMainnetCluster(cluster) : false, isDevnet = cluster ? chunkTRSJSU33_js.isDevnetCluster(cluster) : false, isTestnet = cluster ? chunkTRSJSU33_js.isTestnetCluster(cluster) : false, isLocal = cluster ? chunkTRSJSU33_js.isLocalCluster(cluster) : false, explorerUrl = cluster ? chunkTRSJSU33_js.getClusterExplorerUrl(cluster) : "", type = cluster ? chunkTRSJSU33_js.getClusterType(cluster) : null;
571
572
  return {
572
573
  cluster,
573
574
  clusters,
@@ -582,10 +583,10 @@ function useCluster() {
582
583
  }, [cluster, clusters, setCluster]);
583
584
  }
584
585
  function useAccount() {
585
- let { selectedAccount, accounts, connected, selectAccount } = useConnector(), [copied, setCopied] = React2.useState(false), copyTimeoutRef = React2__default.default.useRef(void 0), account = React2.useMemo(
586
+ let { selectedAccount, accounts, connected, selectAccount } = useConnector(), [copied, setCopied] = React4.useState(false), copyTimeoutRef = React4__default.default.useRef(void 0), account = React4.useMemo(
586
587
  () => accounts.find((a) => a.address === selectedAccount) ?? null,
587
588
  [accounts, selectedAccount]
588
- ), formatted = React2.useMemo(() => selectedAccount ? chunkBZ2VBJCZ_js.formatAddress(selectedAccount) : "", [selectedAccount]), copy = React2.useCallback(async () => selectedAccount ? (copyTimeoutRef.current && clearTimeout(copyTimeoutRef.current), await chunkBZ2VBJCZ_js.copyAddressToClipboard(selectedAccount, {
589
+ ), formatted = React4.useMemo(() => selectedAccount ? chunkTRSJSU33_js.formatAddress(selectedAccount) : "", [selectedAccount]), copy = React4.useCallback(async () => selectedAccount ? (copyTimeoutRef.current && clearTimeout(copyTimeoutRef.current), await chunkTRSJSU33_js.copyAddressToClipboard(selectedAccount, {
589
590
  onSuccess: () => {
590
591
  setCopied(true), copyTimeoutRef.current = setTimeout(() => setCopied(false), 2e3);
591
592
  }
@@ -594,9 +595,9 @@ function useAccount() {
594
595
  error: "empty_value" /* EMPTY_VALUE */,
595
596
  errorMessage: "No account selected"
596
597
  }, [selectedAccount]);
597
- return React2__default.default.useEffect(() => () => {
598
+ return React4__default.default.useEffect(() => () => {
598
599
  copyTimeoutRef.current && clearTimeout(copyTimeoutRef.current);
599
- }, []), React2.useMemo(
600
+ }, []), React4.useMemo(
600
601
  () => ({
601
602
  address: selectedAccount,
602
603
  account,
@@ -611,18 +612,18 @@ function useAccount() {
611
612
  );
612
613
  }
613
614
  function useWalletInfo() {
614
- let { selectedWallet, wallets, connected, connecting } = useConnector(), mappedWallets = React2.useMemo(
615
+ let { selectedWallet, wallets, connected, connecting } = useConnector(), mappedWallets = React4.useMemo(
615
616
  () => wallets.map(
616
617
  (walletInfo) => ({
617
618
  name: walletInfo.wallet.name,
618
- connectorId: chunkBZ2VBJCZ_js.createConnectorId(walletInfo.wallet.name),
619
+ connectorId: chunkTRSJSU33_js.createConnectorId(walletInfo.wallet.name),
619
620
  icon: walletInfo.wallet.icon,
620
621
  installed: walletInfo.installed,
621
622
  connectable: walletInfo.connectable
622
623
  })
623
624
  ),
624
625
  [wallets]
625
- ), selectedWalletInfo = React2.useMemo(() => {
626
+ ), selectedWalletInfo = React4.useMemo(() => {
626
627
  if (!selectedWallet)
627
628
  return {
628
629
  name: null,
@@ -638,7 +639,7 @@ function useWalletInfo() {
638
639
  connectable: walletInfo?.connectable ?? false
639
640
  };
640
641
  }, [selectedWallet, wallets]);
641
- return React2.useMemo(
642
+ return React4.useMemo(
642
643
  () => ({
643
644
  ...selectedWalletInfo,
644
645
  connected,
@@ -649,10 +650,10 @@ function useWalletInfo() {
649
650
  );
650
651
  }
651
652
  function useTransactionSigner() {
652
- let { selectedWallet, selectedAccount, accounts, cluster, connected } = useConnector(), client = useConnectorClient(), account = React2.useMemo(
653
+ let { selectedWallet, selectedAccount, accounts, cluster, connected } = useConnector(), client = useConnectorClient(), account = React4.useMemo(
653
654
  () => accounts.find((a) => a.address === selectedAccount)?.raw ?? null,
654
655
  [accounts, selectedAccount]
655
- ), signer = React2.useMemo(() => !connected || !selectedWallet || !account ? null : chunkBZ2VBJCZ_js.createTransactionSigner({
656
+ ), signer = React4.useMemo(() => !connected || !selectedWallet || !account ? null : chunkTRSJSU33_js.createTransactionSigner({
656
657
  wallet: selectedWallet,
657
658
  account,
658
659
  cluster: cluster ?? void 0,
@@ -661,7 +662,7 @@ function useTransactionSigner() {
661
662
  client.emitEvent(event);
662
663
  }
663
664
  } : void 0
664
- }), [connected, selectedWallet, account, cluster, client]), capabilities = React2.useMemo(
665
+ }), [connected, selectedWallet, account, cluster, client]), capabilities = React4.useMemo(
665
666
  () => signer?.getCapabilities() ?? {
666
667
  canSign: false,
667
668
  canSend: false,
@@ -680,27 +681,27 @@ function useTransactionSigner() {
680
681
  function useKitTransactionSigner() {
681
682
  let { signer: connectorSigner, ready } = useTransactionSigner();
682
683
  return {
683
- signer: React2.useMemo(() => connectorSigner ? chunkBZ2VBJCZ_js.createKitTransactionSigner(connectorSigner) : null, [connectorSigner]),
684
+ signer: React4.useMemo(() => connectorSigner ? chunkTRSJSU33_js.createKitTransactionSigner(connectorSigner) : null, [connectorSigner]),
684
685
  ready
685
686
  };
686
687
  }
687
688
  var useGillTransactionSigner = useKitTransactionSigner;
688
- var logger3 = chunkSITQ4JWM_js.createLogger("useSolanaClient");
689
+ var logger3 = chunkBF67LVVM_js.createLogger("useSolanaClient");
689
690
  function useSolanaClient() {
690
- let { type } = useCluster(), connectorClient = useConnectorClient(), client = React2.useMemo(() => {
691
+ let { type } = useCluster(), connectorClient = useConnectorClient(), client = React4.useMemo(() => {
691
692
  if (!type || !connectorClient) return null;
692
693
  try {
693
694
  let rpcUrl = connectorClient.getRpcUrl();
694
- return rpcUrl ? chunkSITQ4JWM_js.createSolanaClient({
695
+ return rpcUrl ? chunkBF67LVVM_js.createSolanaClient({
695
696
  urlOrMoniker: rpcUrl
696
- }) : type !== "custom" ? chunkSITQ4JWM_js.createSolanaClient({
697
+ }) : type !== "custom" ? chunkBF67LVVM_js.createSolanaClient({
697
698
  urlOrMoniker: type
698
699
  }) : null;
699
700
  } catch (error) {
700
701
  return logger3.error("Failed to create Solana client", { error }), null;
701
702
  }
702
703
  }, [type, connectorClient]);
703
- return React2.useMemo(
704
+ return React4.useMemo(
704
705
  () => ({
705
706
  client,
706
707
  ready: !!client,
@@ -711,11 +712,11 @@ function useSolanaClient() {
711
712
  }
712
713
  var useGillSolanaClient = useSolanaClient;
713
714
  function useTransactionPreparer() {
714
- let { client, ready } = useSolanaClient(), prepare = React2.useCallback(
715
+ let { client, ready } = useSolanaClient(), prepare = React4.useCallback(
715
716
  async (transaction, options = {}) => {
716
717
  if (!client)
717
- throw new chunkSITQ4JWM_js.NetworkError("RPC_ERROR", "Solana client not available. Cannot prepare transaction.");
718
- return chunkSITQ4JWM_js.prepareTransaction({
718
+ throw new chunkBF67LVVM_js.NetworkError("RPC_ERROR", "Solana client not available. Cannot prepare transaction.");
719
+ return chunkBF67LVVM_js.prepareTransaction({
719
720
  transaction,
720
721
  rpc: client.rpc,
721
722
  computeUnitLimitMultiplier: options.computeUnitLimitMultiplier,
@@ -725,7 +726,7 @@ function useTransactionPreparer() {
725
726
  },
726
727
  [client]
727
728
  );
728
- return React2.useMemo(
729
+ return React4.useMemo(
729
730
  () => ({
730
731
  prepare,
731
732
  ready
@@ -864,13 +865,13 @@ function useSharedQuery(key, queryFn, options = {}) {
864
865
  refetchOnMount = "stale",
865
866
  refetchIntervalMs = false,
866
867
  select
867
- } = options, queryFnRef = React2.useRef(queryFn);
868
+ } = options, queryFnRef = React4.useRef(queryFn);
868
869
  queryFnRef.current = queryFn;
869
- let stableQueryFn = React2.useCallback((signal) => queryFnRef.current(signal), []), subscribe = React2.useCallback(
870
+ let stableQueryFn = React4.useCallback((signal) => queryFnRef.current(signal), []), subscribe = React4.useCallback(
870
871
  (onChange) => key ? subscribeSharedQuery(key, onChange, cacheTimeMs) : () => {
871
872
  },
872
873
  [key, cacheTimeMs]
873
- ), emptySnapshot = React2.useMemo(
874
+ ), emptySnapshot = React4.useMemo(
874
875
  () => ({
875
876
  data: void 0,
876
877
  error: null,
@@ -879,8 +880,8 @@ function useSharedQuery(key, queryFn, options = {}) {
879
880
  isFetching: false
880
881
  }),
881
882
  []
882
- ), getSnapshot = React2.useCallback(() => key ? getOrCreateEntry(key).snapshot : emptySnapshot, [key, emptySnapshot]), snapshot = React2.useSyncExternalStore(subscribe, getSnapshot, getSnapshot), selectedData = React2.useMemo(() => select ? select(snapshot.data) : snapshot.data, [snapshot.data, select]), prevSelectedRef = React2.useRef(selectedData), stableSelectedData = React2.useMemo(() => Object.is(prevSelectedRef.current, selectedData) ? prevSelectedRef.current : (prevSelectedRef.current = selectedData, selectedData), [selectedData]), fetchedKeyRef = React2.useRef(null);
883
- React2.useEffect(() => {
883
+ ), getSnapshot = React4.useCallback(() => key ? getOrCreateEntry(key).snapshot : emptySnapshot, [key, emptySnapshot]), snapshot = React4.useSyncExternalStore(subscribe, getSnapshot, getSnapshot), selectedData = React4.useMemo(() => select ? select(snapshot.data) : snapshot.data, [snapshot.data, select]), prevSelectedRef = React4.useRef(selectedData), stableSelectedData = React4.useMemo(() => Object.is(prevSelectedRef.current, selectedData) ? prevSelectedRef.current : (prevSelectedRef.current = selectedData, selectedData), [selectedData]), fetchedKeyRef = React4.useRef(null);
884
+ React4.useEffect(() => {
884
885
  if (!key || !enabled) {
885
886
  fetchedKeyRef.current = null;
886
887
  return;
@@ -894,7 +895,7 @@ function useSharedQuery(key, queryFn, options = {}) {
894
895
  force: refetchOnMount === true
895
896
  }).catch(() => {
896
897
  })) : fetchedKeyRef.current = key;
897
- }, [key, enabled, staleTimeMs, refetchOnMount, stableQueryFn]), React2.useEffect(() => {
898
+ }, [key, enabled, staleTimeMs, refetchOnMount, stableQueryFn]), React4.useEffect(() => {
898
899
  if (!key || !enabled || refetchIntervalMs === false) return;
899
900
  let entry = getOrCreateEntry(key);
900
901
  entry.queryFn = stableQueryFn;
@@ -904,7 +905,7 @@ function useSharedQuery(key, queryFn, options = {}) {
904
905
  count <= 1 ? entry.intervalCounts.delete(refetchIntervalMs) : entry.intervalCounts.set(refetchIntervalMs, count - 1), startOrRestartInterval(key, entry);
905
906
  };
906
907
  }, [key, enabled, refetchIntervalMs, stableQueryFn]);
907
- let refetch = React2.useCallback(
908
+ let refetch = React4.useCallback(
908
909
  async (refetchOptions) => {
909
910
  if (key)
910
911
  return fetchSharedQuery(key, stableQueryFn, {
@@ -913,12 +914,12 @@ function useSharedQuery(key, queryFn, options = {}) {
913
914
  });
914
915
  },
915
916
  [key, stableQueryFn]
916
- ), abort = React2.useCallback(() => {
917
+ ), abort = React4.useCallback(() => {
917
918
  if (!key) return;
918
919
  let entry = store.get(key);
919
920
  entry?.abortController && entry.abortController.abort();
920
921
  }, [key]);
921
- return React2.useMemo(
922
+ return React4.useMemo(
922
923
  () => ({
923
924
  data: stableSelectedData,
924
925
  error: snapshot.error,
@@ -997,13 +998,13 @@ function useWalletAssets(options = {}) {
997
998
  refetchIntervalMs = false,
998
999
  client: clientOverride,
999
1000
  select
1000
- } = options, { address, connected } = useAccount(), { client: providerClient } = useSolanaClient(), rpcClient = clientOverride ?? providerClient, key = React2.useMemo(() => {
1001
- if (!enabled || !connected || !address || !rpcClient) return null;
1001
+ } = options, { account, isConnected: isConnected2 } = useWallet(), address = account ? String(account) : null, { client: providerClient } = useSolanaClient(), rpcClient = clientOverride ?? providerClient, key = React4.useMemo(() => {
1002
+ if (!enabled || !isConnected2 || !address || !rpcClient) return null;
1002
1003
  let rpcUrl = rpcClient.urlOrMoniker instanceof URL ? rpcClient.urlOrMoniker.toString() : String(rpcClient.urlOrMoniker);
1003
1004
  return getWalletAssetsQueryKey(rpcUrl, address);
1004
- }, [enabled, connected, address, rpcClient]), queryFn = React2.useCallback(
1005
+ }, [enabled, isConnected2, address, rpcClient]), queryFn = React4.useCallback(
1005
1006
  async (signal) => {
1006
- if (!connected || !address || !rpcClient)
1007
+ if (!isConnected2 || !address || !rpcClient)
1007
1008
  return { lamports: 0n, tokenAccounts: [] };
1008
1009
  if (signal.aborted)
1009
1010
  throw new DOMException("Query aborted", "AbortError");
@@ -1019,12 +1020,12 @@ function useWalletAssets(options = {}) {
1019
1020
  if (signal.aborted)
1020
1021
  throw new DOMException("Query aborted", "AbortError");
1021
1022
  let tokenAccounts = [];
1022
- for (let account of tokenAccountsResult.value) {
1023
- let parsed = parseTokenAccount(account, "token");
1023
+ for (let account2 of tokenAccountsResult.value) {
1024
+ let parsed = parseTokenAccount(account2, "token");
1024
1025
  parsed && tokenAccounts.push(parsed);
1025
1026
  }
1026
- for (let account of token2022AccountsResult.value) {
1027
- let parsed = parseTokenAccount(account, "token-2022");
1027
+ for (let account2 of token2022AccountsResult.value) {
1028
+ let parsed = parseTokenAccount(account2, "token-2022");
1028
1029
  parsed && tokenAccounts.push(parsed);
1029
1030
  }
1030
1031
  return {
@@ -1032,7 +1033,7 @@ function useWalletAssets(options = {}) {
1032
1033
  tokenAccounts
1033
1034
  };
1034
1035
  },
1035
- [connected, address, rpcClient]
1036
+ [isConnected2, address, rpcClient]
1036
1037
  ), { data, error, status, updatedAt, isFetching, refetch, abort } = useSharedQuery(
1037
1038
  key,
1038
1039
  queryFn,
@@ -1045,7 +1046,7 @@ function useWalletAssets(options = {}) {
1045
1046
  select
1046
1047
  }
1047
1048
  ), isLoading = status === "loading" || status === "idle";
1048
- return React2.useMemo(
1049
+ return React4.useMemo(
1049
1050
  () => ({
1050
1051
  data,
1051
1052
  isLoading,
@@ -1065,7 +1066,7 @@ function getBalanceQueryKey(rpcUrl, address) {
1065
1066
  }
1066
1067
  var LAMPORTS_PER_SOL2 = 1000000000n;
1067
1068
  function formatTokenAccount(account) {
1068
- let formatted = chunkBZ2VBJCZ_js.formatBigIntBalance(account.amount, account.decimals, {
1069
+ let formatted = chunkTRSJSU33_js.formatBigIntBalance(account.amount, account.decimals, {
1069
1070
  maxDecimals: Math.min(account.decimals, 6)
1070
1071
  });
1071
1072
  return {
@@ -1109,13 +1110,13 @@ function useBalance(options = {}) {
1109
1110
  refetchIntervalMs: autoRefresh ? refreshInterval : false,
1110
1111
  client: clientOverride,
1111
1112
  select: selectBalance
1112
- }), lamports = data?.lamports ?? 0n, tokens = data?.tokens ?? [], solBalance = React2.useMemo(() => Number(lamports) / Number(LAMPORTS_PER_SOL2), [lamports]), formattedSol = React2.useMemo(() => chunkBZ2VBJCZ_js.formatLamportsToSolSafe(lamports, { maxDecimals: 4, suffix: true }), [lamports]), visibleError = updatedAt ? null : error, refetch = React2.useCallback(
1113
+ }), lamports = data?.lamports ?? 0n, tokens = data?.tokens ?? [], solBalance = React4.useMemo(() => Number(lamports) / Number(LAMPORTS_PER_SOL2), [lamports]), formattedSol = React4.useMemo(() => chunkTRSJSU33_js.formatLamportsToSolSafe(lamports, { maxDecimals: 4, suffix: true }), [lamports]), visibleError = updatedAt ? null : error, refetch = React4.useCallback(
1113
1114
  async (opts) => {
1114
1115
  await sharedRefetch(opts);
1115
1116
  },
1116
1117
  [sharedRefetch]
1117
1118
  );
1118
- return React2.useMemo(
1119
+ return React4.useMemo(
1119
1120
  () => ({
1120
1121
  solBalance,
1121
1122
  lamports,
@@ -1490,7 +1491,7 @@ function useTransactions(options = {}) {
1490
1491
  // 5 minutes
1491
1492
  refetchOnMount = "stale",
1492
1493
  client: clientOverride
1493
- } = options, { address, connected } = useAccount(), { cluster } = useCluster(), { client: providerClient } = useSolanaClient(), connectorClient = useConnectorClient(), [paginatedTransactions, setPaginatedTransactions] = React2.useState([]), [isPaginationLoading, setIsPaginationLoading] = React2.useState(false), [hasMore, setHasMore] = React2.useState(true), beforeSignatureRef = React2.useRef(void 0), rpcClient = clientOverride ?? providerClient, connectorConfig = connectorClient?.getConfig(), imageProxy = connectorConfig?.imageProxy, programLabels = connectorConfig?.programLabels, parseTransaction = React2.useCallback(
1494
+ } = options, { account, isConnected: isConnected2 } = useWallet(), address = React4.useMemo(() => account ? String(account) : null, [account]), { cluster } = useCluster(), { client: providerClient } = useSolanaClient(), connectorClient = useConnectorClient(), [paginatedTransactions, setPaginatedTransactions] = React4.useState([]), [isPaginationLoading, setIsPaginationLoading] = React4.useState(false), [hasMore, setHasMore] = React4.useState(true), beforeSignatureRef = React4.useRef(void 0), rpcClient = clientOverride ?? providerClient, connectorConfig = connectorClient?.getConfig(), imageProxy = connectorConfig?.imageProxy, programLabels = connectorConfig?.programLabels, parseTransaction = React4.useCallback(
1494
1495
  (tx, walletAddress, sig, blockTime, slot, err, explorerUrl) => {
1495
1496
  let { date, time } = formatDate(blockTime), baseInfo = {
1496
1497
  signature: sig,
@@ -1541,15 +1542,15 @@ function useTransactions(options = {}) {
1541
1542
  }
1542
1543
  },
1543
1544
  [programLabels]
1544
- ), key = React2.useMemo(() => {
1545
- if (!enabled || !connected || !address || !rpcClient || !cluster) return null;
1545
+ ), key = React4.useMemo(() => {
1546
+ if (!enabled || !isConnected2 || !address || !rpcClient || !cluster) return null;
1546
1547
  let rpcUrl = rpcClient.urlOrMoniker instanceof URL ? rpcClient.urlOrMoniker.toString() : String(rpcClient.urlOrMoniker);
1547
1548
  return getTransactionsQueryKey({ rpcUrl, address, clusterId: cluster.id, limit, fetchDetails });
1548
- }, [enabled, connected, address, rpcClient, cluster, limit, fetchDetails]);
1549
- React2.useEffect(() => {
1549
+ }, [enabled, isConnected2, address, rpcClient, cluster, limit, fetchDetails]);
1550
+ React4.useEffect(() => {
1550
1551
  beforeSignatureRef.current = void 0, setPaginatedTransactions([]), setIsPaginationLoading(false), setHasMore(true);
1551
1552
  }, [key]);
1552
- let fetchAndEnrichTransactions = React2.useCallback(
1553
+ let fetchAndEnrichTransactions = React4.useCallback(
1553
1554
  async (beforeSignature, currentCluster, signal) => {
1554
1555
  if (!rpcClient || !address)
1555
1556
  return { transactions: [], hasMore: false };
@@ -1578,7 +1579,7 @@ function useTransactions(options = {}) {
1578
1579
  blockTimeNum,
1579
1580
  Number(sig.slot),
1580
1581
  sig.err,
1581
- chunkBZ2VBJCZ_js.getTransactionUrl(String(sig.signature), currentCluster)
1582
+ chunkTRSJSU33_js.getTransactionUrl(String(sig.signature), currentCluster)
1582
1583
  );
1583
1584
  });
1584
1585
  } else
@@ -1593,7 +1594,7 @@ function useTransactions(options = {}) {
1593
1594
  type: "unknown",
1594
1595
  formattedDate: date,
1595
1596
  formattedTime: time,
1596
- explorerUrl: chunkBZ2VBJCZ_js.getTransactionUrl(String(sig.signature), currentCluster)
1597
+ explorerUrl: chunkTRSJSU33_js.getTransactionUrl(String(sig.signature), currentCluster)
1597
1598
  };
1598
1599
  });
1599
1600
  let mintsToFetch = [
@@ -1607,7 +1608,7 @@ function useTransactions(options = {}) {
1607
1608
  throwIfAborted(signal);
1608
1609
  let tokenMetadata = await fetchTransactionTokenMetadata(mintsToFetch, {
1609
1610
  signal,
1610
- cluster: chunkBZ2VBJCZ_js.getClusterType(currentCluster)
1611
+ cluster: chunkTRSJSU33_js.getClusterType(currentCluster)
1611
1612
  });
1612
1613
  tokenMetadata.size > 0 && (newTransactions = newTransactions.map((tx) => {
1613
1614
  let enrichedTx = { ...tx };
@@ -1651,15 +1652,15 @@ function useTransactions(options = {}) {
1651
1652
  };
1652
1653
  },
1653
1654
  [rpcClient, address, limit, fetchDetails, detailsConcurrency, parseTransaction, imageProxy]
1654
- ), queryFn = React2.useCallback(
1655
+ ), queryFn = React4.useCallback(
1655
1656
  async (signal) => {
1656
- if (!connected || !address || !rpcClient || !cluster)
1657
+ if (!isConnected2 || !address || !rpcClient || !cluster)
1657
1658
  return [];
1658
1659
  throwIfAborted(signal);
1659
1660
  let result = await fetchAndEnrichTransactions(void 0, cluster, signal);
1660
1661
  return throwIfAborted(signal), result.transactions;
1661
1662
  },
1662
- [connected, address, rpcClient, cluster, fetchAndEnrichTransactions]
1663
+ [isConnected2, address, rpcClient, cluster, fetchAndEnrichTransactions]
1663
1664
  ), {
1664
1665
  data: initialTransactions,
1665
1666
  error,
@@ -1674,10 +1675,10 @@ function useTransactions(options = {}) {
1674
1675
  refetchOnMount,
1675
1676
  refetchIntervalMs: autoRefresh ? refreshInterval : false
1676
1677
  });
1677
- React2.useEffect(() => {
1678
+ React4.useEffect(() => {
1678
1679
  initialTransactions && (beforeSignatureRef.current = initialTransactions.length ? initialTransactions[initialTransactions.length - 1].signature : void 0, setHasMore(initialTransactions.length === limit), setPaginatedTransactions((prev) => prev.length ? [] : prev));
1679
1680
  }, [initialTransactions, limit]);
1680
- let loadMoreFn = React2.useCallback(async () => {
1681
+ let loadMoreFn = React4.useCallback(async () => {
1681
1682
  if (!(!hasMore || isPaginationLoading || !cluster)) {
1682
1683
  setIsPaginationLoading(true);
1683
1684
  try {
@@ -1689,13 +1690,13 @@ function useTransactions(options = {}) {
1689
1690
  setIsPaginationLoading(false);
1690
1691
  }
1691
1692
  }
1692
- }, [hasMore, isPaginationLoading, cluster, fetchAndEnrichTransactions]), refetch = React2.useCallback(
1693
+ }, [hasMore, isPaginationLoading, cluster, fetchAndEnrichTransactions]), refetch = React4.useCallback(
1693
1694
  async (opts) => {
1694
1695
  beforeSignatureRef.current = void 0, setPaginatedTransactions([]), setHasMore(true), await sharedRefetch(opts);
1695
1696
  },
1696
1697
  [sharedRefetch]
1697
- ), transactions = React2.useMemo(() => [...initialTransactions ?? [], ...paginatedTransactions], [initialTransactions, paginatedTransactions]), isLoading = isInitialLoading || isPaginationLoading, visibleError = updatedAt ? null : error;
1698
- return React2.useMemo(
1698
+ ), transactions = React4.useMemo(() => [...initialTransactions ?? [], ...paginatedTransactions], [initialTransactions, paginatedTransactions]), isLoading = isInitialLoading || isPaginationLoading, visibleError = updatedAt ? null : error;
1699
+ return React4.useMemo(
1699
1700
  () => ({
1700
1701
  transactions,
1701
1702
  isLoading,
@@ -1714,10 +1715,10 @@ function getTokensQueryKey(rpcUrl, address) {
1714
1715
  }
1715
1716
  var CACHE_MAX_SIZE = 500, PRICE_CACHE_TTL = 6e4, STALE_CLEANUP_INTERVAL = 12e4, COINGECKO_DEFAULT_MAX_RETRIES = 3, COINGECKO_DEFAULT_BASE_DELAY = 1e3, COINGECKO_DEFAULT_MAX_TIMEOUT = 3e4, COINGECKO_API_BASE_URL = "https://api.coingecko.com/api/v3", LRUCache = class {
1716
1717
  constructor(maxSize, options) {
1717
- chunkSITQ4JWM_js.__publicField(this, "cache", /* @__PURE__ */ new Map());
1718
- chunkSITQ4JWM_js.__publicField(this, "maxSize");
1719
- chunkSITQ4JWM_js.__publicField(this, "getTtl");
1720
- chunkSITQ4JWM_js.__publicField(this, "getTimestamp");
1718
+ chunkL5FWMNWO_js.__publicField(this, "cache", /* @__PURE__ */ new Map());
1719
+ chunkL5FWMNWO_js.__publicField(this, "maxSize");
1720
+ chunkL5FWMNWO_js.__publicField(this, "getTtl");
1721
+ chunkL5FWMNWO_js.__publicField(this, "getTimestamp");
1721
1722
  this.maxSize = maxSize, this.getTtl = options?.getTtl, this.getTimestamp = options?.getTimestamp;
1722
1723
  }
1723
1724
  get(key) {
@@ -1887,12 +1888,12 @@ async function fetchTokenMetadataHybrid(mints, coingeckoConfig, options) {
1887
1888
  return didUpdatePrices && options?.onUpdate?.(), didUpdate;
1888
1889
  }
1889
1890
  function formatBalance(amount, decimals) {
1890
- return chunkBZ2VBJCZ_js.formatBigIntBalance(amount, decimals, {
1891
+ return chunkTRSJSU33_js.formatBigIntBalance(amount, decimals, {
1891
1892
  maxDecimals: Math.min(decimals, 6)
1892
1893
  });
1893
1894
  }
1894
1895
  function formatUsd(amount, decimals, usdPrice) {
1895
- return chunkBZ2VBJCZ_js.formatBigIntUsd(amount, decimals, usdPrice);
1896
+ return chunkTRSJSU33_js.formatBigIntUsd(amount, decimals, usdPrice);
1896
1897
  }
1897
1898
  function selectTokens(assets, address) {
1898
1899
  return {
@@ -1920,7 +1921,7 @@ function useTokens(options = {}) {
1920
1921
  // 5 minutes
1921
1922
  refetchOnMount = "stale",
1922
1923
  client: clientOverride
1923
- } = options, { address, connected } = useAccount(), { type: clusterType } = useCluster(), connectorConfig = useConnectorClient()?.getConfig(), imageProxy = connectorConfig?.imageProxy, coingeckoConfig = connectorConfig?.coingecko, selectFn = React2.useCallback(
1924
+ } = options, { account, isConnected: isConnected2 } = useWallet(), address = React4.useMemo(() => account ? String(account) : null, [account]), { type: clusterType } = useCluster(), connectorConfig = useConnectorClient()?.getConfig(), imageProxy = connectorConfig?.imageProxy, coingeckoConfig = connectorConfig?.coingecko, selectFn = React4.useCallback(
1924
1925
  (assets) => selectTokens(assets, address ?? ""),
1925
1926
  [address]
1926
1927
  ), {
@@ -1938,7 +1939,7 @@ function useTokens(options = {}) {
1938
1939
  refetchIntervalMs: autoRefresh ? refreshInterval : false,
1939
1940
  client: clientOverride,
1940
1941
  select: selectFn
1941
- }), lamports = selection?.lamports ?? 0n, tokenAccounts = selection?.tokenAccounts ?? [], walletAddress = selection?.address ?? "", baseTokens = React2.useMemo(() => {
1942
+ }), lamports = selection?.lamports ?? 0n, tokenAccounts = selection?.tokenAccounts ?? [], walletAddress = selection?.address ?? "", baseTokens = React4.useMemo(() => {
1942
1943
  let result = [];
1943
1944
  includeNativeSol && walletAddress && (includeZeroBalance || lamports > 0n) && result.push({
1944
1945
  mint: NATIVE_SOL_MINT,
@@ -1949,25 +1950,25 @@ function useTokens(options = {}) {
1949
1950
  isFrozen: false,
1950
1951
  owner: walletAddress
1951
1952
  });
1952
- for (let account of tokenAccounts)
1953
- !includeZeroBalance && account.amount === 0n || result.push({
1954
- mint: account.mint,
1955
- tokenAccount: account.pubkey,
1956
- amount: account.amount,
1957
- decimals: account.decimals,
1958
- formatted: formatBalance(account.amount, account.decimals),
1959
- isFrozen: account.isFrozen,
1960
- owner: account.owner,
1961
- programId: account.programId
1953
+ for (let account2 of tokenAccounts)
1954
+ !includeZeroBalance && account2.amount === 0n || result.push({
1955
+ mint: account2.mint,
1956
+ tokenAccount: account2.pubkey,
1957
+ amount: account2.amount,
1958
+ decimals: account2.decimals,
1959
+ formatted: formatBalance(account2.amount, account2.decimals),
1960
+ isFrozen: account2.isFrozen,
1961
+ owner: account2.owner,
1962
+ programId: account2.programId
1962
1963
  });
1963
1964
  return result;
1964
- }, [lamports, tokenAccounts, walletAddress, includeNativeSol, includeZeroBalance]), mints = React2.useMemo(() => {
1965
+ }, [lamports, tokenAccounts, walletAddress, includeNativeSol, includeZeroBalance]), mints = React4.useMemo(() => {
1965
1966
  let unique = /* @__PURE__ */ new Set();
1966
1967
  for (let token of baseTokens)
1967
1968
  unique.add(token.mint);
1968
1969
  return [...unique].sort();
1969
- }, [baseTokens]), mintsKey = React2.useMemo(() => mints.join(","), [mints]), [metadataVersion, setMetadataVersion] = React2.useState(0);
1970
- React2.useEffect(() => {
1970
+ }, [baseTokens]), mintsKey = React4.useMemo(() => mints.join(","), [mints]), [metadataVersion, setMetadataVersion] = React4.useState(0);
1971
+ React4.useEffect(() => {
1971
1972
  if (!fetchMetadata || !mintsKey) return;
1972
1973
  let isMounted = true;
1973
1974
  return (async () => {
@@ -1986,7 +1987,7 @@ function useTokens(options = {}) {
1986
1987
  isMounted = false;
1987
1988
  };
1988
1989
  }, [mintsKey, fetchMetadata, coingeckoConfig, clusterType]);
1989
- let tokens = React2.useMemo(() => fetchMetadata ? baseTokens.map((token) => {
1990
+ let tokens = React4.useMemo(() => fetchMetadata ? baseTokens.map((token) => {
1990
1991
  let meta = metadataCache.get(token.mint);
1991
1992
  if (!meta) return token;
1992
1993
  let usdPrice = (meta.coingeckoId ? priceCache.get(meta.coingeckoId) : void 0)?.price ?? meta.usdPrice;
@@ -1999,18 +2000,18 @@ function useTokens(options = {}) {
1999
2000
  formattedUsd: usdPrice ? formatUsd(token.amount, token.decimals, usdPrice) : void 0
2000
2001
  };
2001
2002
  }).sort(sortByValueDesc) : baseTokens.slice().sort(sortByValueDesc), [baseTokens, fetchMetadata, imageProxy, metadataVersion]), totalAccounts = tokenAccounts.length + (includeNativeSol ? 1 : 0);
2002
- React2.useEffect(() => (startCacheCleanup(), () => stopCacheCleanup()), []);
2003
- let wasConnectedRef = React2.useRef(connected);
2004
- React2.useEffect(() => {
2005
- wasConnectedRef.current && !connected && clearTokenCaches(), wasConnectedRef.current = connected;
2006
- }, [connected]);
2007
- let visibleError = updatedAt ? null : error, refetch = React2.useCallback(
2003
+ React4.useEffect(() => (startCacheCleanup(), () => stopCacheCleanup()), []);
2004
+ let wasConnectedRef = React4.useRef(isConnected2);
2005
+ React4.useEffect(() => {
2006
+ wasConnectedRef.current && !isConnected2 && clearTokenCaches(), wasConnectedRef.current = isConnected2;
2007
+ }, [isConnected2]);
2008
+ let visibleError = updatedAt ? null : error, refetch = React4.useCallback(
2008
2009
  async (opts) => {
2009
2010
  await sharedRefetch(opts);
2010
2011
  },
2011
2012
  [sharedRefetch]
2012
2013
  );
2013
- return React2.useMemo(
2014
+ return React4.useMemo(
2014
2015
  () => ({
2015
2016
  tokens,
2016
2017
  isLoading: isFetching,
@@ -2032,17 +2033,12 @@ function DisconnectElement({
2032
2033
  onDisconnect,
2033
2034
  render
2034
2035
  }) {
2035
- let { disconnect, connecting } = useConnector(), [disconnecting, setDisconnecting] = React2__default.default.useState(false), handleDisconnect = async () => {
2036
- setDisconnecting(true);
2037
- try {
2038
- await disconnect(), onDisconnect?.();
2039
- } finally {
2040
- setDisconnecting(false);
2041
- }
2036
+ let { isConnecting: isConnecting2 } = useWallet(), { disconnect, isDisconnecting } = useDisconnectWallet(), handleDisconnect = async () => {
2037
+ await disconnect(), onDisconnect?.();
2042
2038
  };
2043
2039
  if (render)
2044
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: render({ disconnect: handleDisconnect, disconnecting }) });
2045
- let isDisabled = connecting || disconnecting, content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2040
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: render({ disconnect: handleDisconnect, disconnecting: isDisconnecting }) });
2041
+ let isDisabled = isConnecting2 || isDisconnecting, content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2046
2042
  showIcon && (icon || showIcon && !icon && /* @__PURE__ */ jsxRuntime.jsxs(
2047
2043
  "svg",
2048
2044
  {
@@ -2074,7 +2070,7 @@ function DisconnectElement({
2074
2070
  disabled: isDisabled,
2075
2071
  "data-slot": "disconnect-element",
2076
2072
  "data-variant": "button",
2077
- "data-disconnecting": disconnecting,
2073
+ "data-disconnecting": isDisconnecting,
2078
2074
  children: content
2079
2075
  }
2080
2076
  ) : variant === "link" ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -2086,7 +2082,7 @@ function DisconnectElement({
2086
2082
  disabled: isDisabled,
2087
2083
  "data-slot": "disconnect-element",
2088
2084
  "data-variant": "link",
2089
- "data-disconnecting": disconnecting,
2085
+ "data-disconnecting": isDisconnecting,
2090
2086
  children: content
2091
2087
  }
2092
2088
  ) : /* @__PURE__ */ jsxRuntime.jsx(
@@ -2099,7 +2095,7 @@ function DisconnectElement({
2099
2095
  disabled: isDisabled,
2100
2096
  "data-slot": "disconnect-element",
2101
2097
  "data-variant": "menuitem",
2102
- "data-disconnecting": disconnecting,
2098
+ "data-disconnecting": isDisconnecting,
2103
2099
  children: content
2104
2100
  }
2105
2101
  );
@@ -2114,8 +2110,16 @@ function AccountElement({
2114
2110
  variant = "compact",
2115
2111
  render
2116
2112
  }) {
2117
- let { address, formatted, copy, copied } = useAccount(), { name: walletName, icon: walletIcon } = useWalletInfo();
2118
- if (render)
2113
+ let { account, connectorId } = useWallet(), connectors = useWalletConnectors(), address = React4__default.default.useMemo(() => account ? String(account) : null, [account]), formatted = React4__default.default.useMemo(() => address ? chunkTRSJSU33_js.formatAddress(address) : "", [address]), connector = React4__default.default.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__default.default.useState(false), copyTimeoutRef = React4__default.default.useRef(void 0), copy = React4__default.default.useCallback(async () => address ? (copyTimeoutRef.current && clearTimeout(copyTimeoutRef.current), await chunkTRSJSU33_js.copyAddressToClipboard(address, {
2114
+ onSuccess: () => {
2115
+ setCopied(true), copyTimeoutRef.current = setTimeout(() => setCopied(false), 2e3);
2116
+ }
2117
+ })) : {
2118
+ success: false
2119
+ }, [address]);
2120
+ if (React4__default.default.useEffect(() => () => {
2121
+ copyTimeoutRef.current && clearTimeout(copyTimeoutRef.current);
2122
+ }, []), render)
2119
2123
  return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: render({ address, formatted, walletName, walletIcon, copy, copied }) });
2120
2124
  if (!address) return null;
2121
2125
  let displayAddress = showFullAddress ? address : formatted, handleCopy = async (e) => {
@@ -2276,7 +2280,7 @@ function ClusterElement({
2276
2280
  labels = {},
2277
2281
  render
2278
2282
  }) {
2279
- let { cluster, clusters, setCluster, isMainnet, isDevnet, isTestnet, isLocal } = useCluster(), [isOpen, setIsOpen] = React2__default.default.useState(false);
2283
+ let { cluster, clusters, setCluster, isMainnet, isDevnet, isTestnet, isLocal } = useCluster(), [isOpen, setIsOpen] = React4__default.default.useState(false);
2280
2284
  if (render)
2281
2285
  return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: render({ cluster, clusters, setCluster, isMainnet, isDevnet, isTestnet, isLocal }) });
2282
2286
  if (!cluster) return null;
@@ -2487,19 +2491,28 @@ function WalletListElement({
2487
2491
  render,
2488
2492
  renderWallet
2489
2493
  }) {
2490
- let { wallets, connecting } = useWalletInfo(), { select } = useConnector(), installedWallets = wallets.filter((w) => w.installed), displayWallets = installedOnly ? installedWallets : wallets, handleSelect = async (walletName) => {
2491
- await select(walletName), onSelect?.(walletName);
2492
- }, handleConnectById = async (connectorId) => {
2493
- let wallet = wallets.find((w) => w.connectorId === connectorId);
2494
+ let connectors = useWalletConnectors(), { isConnecting: isConnectingGlobal } = useWallet(), { connect, isConnecting: isConnectingLocal } = useConnectWallet(), connecting = isConnectingGlobal || isConnectingLocal, wallets = React4__default.default.useMemo(
2495
+ () => connectors.map((c) => ({
2496
+ name: c.name,
2497
+ connectorId: c.id,
2498
+ icon: c.icon || void 0,
2499
+ installed: c.ready,
2500
+ connectable: c.ready
2501
+ })),
2502
+ [connectors]
2503
+ ), installedWallets = wallets.filter((w) => w.installed), displayWallets = installedOnly ? installedWallets : wallets, handleSelect = async (walletName) => {
2504
+ let wallet = wallets.find((w) => w.name === walletName);
2494
2505
  if (!wallet) {
2495
- let availableConnectorIds = wallets.map((w) => w.connectorId);
2506
+ let availableWalletNames = wallets.map((w) => w.name);
2496
2507
  console.warn(
2497
- `[WalletListElement] Wallet not found for connectorId: ${connectorId}. Available connectorIds (${availableConnectorIds.length}):`,
2498
- availableConnectorIds
2508
+ `[WalletListElement] Wallet not found for walletName: ${walletName}. Available wallets (${availableWalletNames.length}):`,
2509
+ availableWalletNames
2499
2510
  );
2500
2511
  return;
2501
2512
  }
2502
- await select(wallet.name), onConnect?.(connectorId);
2513
+ await connect(wallet.connectorId), onSelect?.(walletName), onConnect?.(wallet.connectorId);
2514
+ }, handleConnectById = async (connectorId) => {
2515
+ await connect(connectorId), onConnect?.(connectorId);
2503
2516
  };
2504
2517
  if (render)
2505
2518
  return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: render({
@@ -2568,7 +2581,7 @@ function WalletListElement({
2568
2581
  "data-variant": "grid",
2569
2582
  children: displayWallets.map((wallet) => {
2570
2583
  let handleWalletConnect = () => handleConnectById(wallet.connectorId);
2571
- return renderWallet ? /* @__PURE__ */ jsxRuntime.jsx(React2__default.default.Fragment, { children: renderWallet({
2584
+ return renderWallet ? /* @__PURE__ */ jsxRuntime.jsx(React4__default.default.Fragment, { children: renderWallet({
2572
2585
  wallet,
2573
2586
  select: handleWalletConnect,
2574
2587
  connect: handleWalletConnect,
@@ -2579,7 +2592,7 @@ function WalletListElement({
2579
2592
  type: "button",
2580
2593
  className: "ck-wallet-list-item ck-wallet-list-item--grid",
2581
2594
  onClick: handleWalletConnect,
2582
- disabled: connecting || !wallet.installed && installedOnly,
2595
+ disabled: connecting || !wallet.connectable,
2583
2596
  "data-slot": "wallet-list-item",
2584
2597
  "data-wallet": wallet.name,
2585
2598
  "data-connector-id": wallet.connectorId,
@@ -2602,7 +2615,7 @@ function WalletListElement({
2602
2615
  "data-variant": "compact",
2603
2616
  children: displayWallets.map((wallet) => {
2604
2617
  let handleWalletConnect = () => handleConnectById(wallet.connectorId);
2605
- return renderWallet ? /* @__PURE__ */ jsxRuntime.jsx(React2__default.default.Fragment, { children: renderWallet({
2618
+ return renderWallet ? /* @__PURE__ */ jsxRuntime.jsx(React4__default.default.Fragment, { children: renderWallet({
2606
2619
  wallet,
2607
2620
  select: handleWalletConnect,
2608
2621
  connect: handleWalletConnect,
@@ -2613,7 +2626,7 @@ function WalletListElement({
2613
2626
  type: "button",
2614
2627
  className: "ck-wallet-list-item ck-wallet-list-item--compact",
2615
2628
  onClick: handleWalletConnect,
2616
- disabled: connecting || !wallet.installed && installedOnly,
2629
+ disabled: connecting || !wallet.connectable,
2617
2630
  "data-slot": "wallet-list-item",
2618
2631
  "data-wallet": wallet.name,
2619
2632
  "data-connector-id": wallet.connectorId,
@@ -2635,7 +2648,7 @@ function WalletListElement({
2635
2648
  "data-variant": "list",
2636
2649
  children: displayWallets.map((wallet) => {
2637
2650
  let handleWalletConnect = () => handleConnectById(wallet.connectorId);
2638
- return renderWallet ? /* @__PURE__ */ jsxRuntime.jsx(React2__default.default.Fragment, { children: renderWallet({
2651
+ return renderWallet ? /* @__PURE__ */ jsxRuntime.jsx(React4__default.default.Fragment, { children: renderWallet({
2639
2652
  wallet,
2640
2653
  select: handleWalletConnect,
2641
2654
  connect: handleWalletConnect,
@@ -2646,7 +2659,7 @@ function WalletListElement({
2646
2659
  type: "button",
2647
2660
  className: "ck-wallet-list-item ck-wallet-list-item--list",
2648
2661
  onClick: handleWalletConnect,
2649
- disabled: connecting || !wallet.installed && installedOnly,
2662
+ disabled: connecting || !wallet.connectable,
2650
2663
  "data-slot": "wallet-list-item",
2651
2664
  "data-wallet": wallet.name,
2652
2665
  "data-connector-id": wallet.connectorId,
@@ -2722,7 +2735,7 @@ function injectStyles() {
2722
2735
  }
2723
2736
  }
2724
2737
  function SkeletonShine() {
2725
- return React2__default.default.useEffect(() => {
2738
+ return React4__default.default.useEffect(() => {
2726
2739
  injectStyles();
2727
2740
  }, []), /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-skeleton-shine", "data-slot": "skeleton-shine" });
2728
2741
  }
@@ -3296,5 +3309,5 @@ exports.useWalletConnectUri = useWalletConnectUri;
3296
3309
  exports.useWalletConnectors = useWalletConnectors;
3297
3310
  exports.useWalletInfo = useWalletInfo;
3298
3311
  exports.withErrorBoundary = withErrorBoundary;
3299
- //# sourceMappingURL=chunk-EM4KNOKG.js.map
3300
- //# sourceMappingURL=chunk-EM4KNOKG.js.map
3312
+ //# sourceMappingURL=chunk-VVLY6QPI.js.map
3313
+ //# sourceMappingURL=chunk-VVLY6QPI.js.map