@abstraxn/signer-react 3.1.1 → 3.1.3

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 (71) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/dist/src/WalletModal.js +1 -1
  3. package/dist/src/components/AbstraxnProvider/AbstraxnProvider.js +52 -23
  4. package/dist/src/components/OnboardingUI/components/EmailForm.js +1 -1
  5. package/dist/src/components/OnboardingUI/components/OtpForm.js +1 -1
  6. package/dist/src/components/WalletModal/components/ExportKeyModal.js +1 -1
  7. package/dist/src/components/WalletModal/components/ExportWarningModal.js +1 -1
  8. package/dist/src/components/WalletModal/components/ManageWalletModal.js +1 -6
  9. package/dist/src/components/icons.d.ts +23 -0
  10. package/dist/src/components/icons.js +35 -0
  11. package/dist/src/hooks.d.ts +20 -13
  12. package/dist/src/hooks.js +3 -3
  13. package/dist/src/wagmiConfig.d.ts +7 -1
  14. package/dist/src/wagmiConfig.js +31 -15
  15. package/package.json +4 -3
  16. package/dist/src/AbstraxnProvider.js.map +0 -1
  17. package/dist/src/ConnectButton.js.map +0 -1
  18. package/dist/src/ExternalWalletButtons.js.map +0 -1
  19. package/dist/src/OnboardingUI.js.map +0 -1
  20. package/dist/src/WalletModal.js.map +0 -1
  21. package/dist/src/chains.js.map +0 -1
  22. package/dist/src/components/AbstraxnProvider/AbstraxnProvider.js.map +0 -1
  23. package/dist/src/components/AbstraxnProvider/AbstraxnProviderInner.js.map +0 -1
  24. package/dist/src/components/AbstraxnProvider/AbstraxnProviderWithWagmi.js.map +0 -1
  25. package/dist/src/components/AbstraxnProvider/AbstraxnProviderWithoutWagmi.js.map +0 -1
  26. package/dist/src/components/AbstraxnProvider/context.js.map +0 -1
  27. package/dist/src/components/AbstraxnProvider/index.js.map +0 -1
  28. package/dist/src/components/AbstraxnProvider/useAbstraxnProviderBase.js.map +0 -1
  29. package/dist/src/components/AbstraxnProvider/useAbstraxnWallet.js.map +0 -1
  30. package/dist/src/components/AbstraxnProvider/useOAuthCallbacks.js.map +0 -1
  31. package/dist/src/components/AbstraxnProvider/useWalletInitialization.js.map +0 -1
  32. package/dist/src/components/AbstraxnProvider/utils.js.map +0 -1
  33. package/dist/src/components/OnboardingUI/OnboardingUIReact.js.map +0 -1
  34. package/dist/src/components/OnboardingUI/OnboardingUIWeb.js.map +0 -1
  35. package/dist/src/components/OnboardingUI/components/EmailForm.js.map +0 -1
  36. package/dist/src/components/OnboardingUI/components/MfaForm.js.map +0 -1
  37. package/dist/src/components/OnboardingUI/components/Modal.js.map +0 -1
  38. package/dist/src/components/OnboardingUI/components/OtpForm.js.map +0 -1
  39. package/dist/src/components/OnboardingUI/components/PasskeyButton.js.map +0 -1
  40. package/dist/src/components/OnboardingUI/components/SocialButtons.js.map +0 -1
  41. package/dist/src/components/OnboardingUI/components/index.js.map +0 -1
  42. package/dist/src/components/OnboardingUI/hooks/index.js.map +0 -1
  43. package/dist/src/components/OnboardingUI/hooks/useAuthMethods.js.map +0 -1
  44. package/dist/src/components/OnboardingUI/hooks/useOnboarding.js.map +0 -1
  45. package/dist/src/components/OnboardingUI/index.js.map +0 -1
  46. package/dist/src/components/QRCode.js.map +0 -1
  47. package/dist/src/components/WalletModal/components/ChainSelector.js.map +0 -1
  48. package/dist/src/components/WalletModal/components/ExportKeyModal.js.map +0 -1
  49. package/dist/src/components/WalletModal/components/ExportWarningModal.js.map +0 -1
  50. package/dist/src/components/WalletModal/components/ManageWalletModal.js.map +0 -1
  51. package/dist/src/components/WalletModal/components/PreviewTransactionModal.js.map +0 -1
  52. package/dist/src/components/WalletModal/components/ReceiveModal.js.map +0 -1
  53. package/dist/src/components/WalletModal/components/SendModal.js.map +0 -1
  54. package/dist/src/components/WalletModal/components/SuccessModal.js.map +0 -1
  55. package/dist/src/components/WalletModal/components/TokenSelectorModal.js.map +0 -1
  56. package/dist/src/components/WalletModal/components/UserAvatar.js.map +0 -1
  57. package/dist/src/components/WalletModal/components/index.js.map +0 -1
  58. package/dist/src/components/WalletModal/hooks/index.js.map +0 -1
  59. package/dist/src/components/WalletModal/hooks/useAddressValidation.js.map +0 -1
  60. package/dist/src/components/WalletModal/hooks/useAmountValidation.js.map +0 -1
  61. package/dist/src/components/WalletModal/hooks/useSendTransaction.js.map +0 -1
  62. package/dist/src/components/WalletModal/index.js.map +0 -1
  63. package/dist/src/components/WalletModal/utils/addressUtils.js.map +0 -1
  64. package/dist/src/components/WalletModal/utils/formatUtils.js.map +0 -1
  65. package/dist/src/components/WalletModal/utils/index.js.map +0 -1
  66. package/dist/src/connectors.js.map +0 -1
  67. package/dist/src/hooks.js.map +0 -1
  68. package/dist/src/index.js.map +0 -1
  69. package/dist/src/types.js.map +0 -1
  70. package/dist/src/wagmiConfig.js.map +0 -1
  71. package/dist/tsconfig.tsbuildinfo +0 -1
package/CHANGELOG.md CHANGED
@@ -5,7 +5,29 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [Unreleased]
8
+ ## [3.1.3] - 2026-03-31
9
+
10
+ ### Changed
11
+
12
+ - **Embedded-only wagmi context** – When `externalWallets.enabled` is `false`, the provider still mounts `QueryClientProvider` and `WagmiProvider` using a **connector-free** wagmi config (`createWagmiConfig(..., embedOnly: true)`), so hooks like `useConfig`, `useAccount`, and unified chain switching keep working for email/social embedded flows without registering injected/MetaMask/WalletConnect connectors. If React Query is missing, the error message now describes wagmi hook requirements instead of blaming disabled external wallets.
13
+ - **`createWagmiConfig` embed mode** – New optional `embedOnly` flag builds a minimal wagmi `Config` (empty `connectors`, shared HTTP transports and storage) for embedded-only usage; chain list must still be non-empty.
14
+
15
+ ### Fixed
16
+
17
+ - **`useExternalWalletInfo().switchChain`** – Returns the unified `switchChain` implementation (embedded + external) instead of only the external-wallet switcher, so chain changes behave consistently when external wallets are off.
18
+
19
+ ## [3.1.2] - 2026-03-27
20
+
21
+ ### Changed
22
+
23
+ - **Install footprint optimization** – Narrowed publish contents to runtime artifacts only (`.js`, `.d.ts`, `.css`) so source maps and incremental build metadata are not included in the npm package tarball.
24
+ - **Icon runtime dependency removal** – Replaced `react-icons` runtime usage with local icon components while preserving existing icon component names/usages in the UI.
25
+
26
+ ### Added
27
+
28
+ - **Exact local SVG icon set** – Added `src/components/icons.tsx` with exact SVG path definitions for the currently used icons (mirroring previous visuals) to avoid shipping the heavy `react-icons` package in consumer installs.
29
+
30
+ ## [3.1.1] - 2026-03-27
9
31
 
10
32
  ### Fixed
11
33
 
@@ -10,7 +10,7 @@ import { AbstraxnContext } from "./AbstraxnProvider";
10
10
  import { createRoot } from "react-dom/client";
11
11
  import { useExportWallet } from "./hooks";
12
12
  import { generateP256KeyPair } from "@turnkey/crypto";
13
- import { LuWallet } from "react-icons/lu";
13
+ import { LuWallet } from "./components/icons";
14
14
  import { formatAddress, formatBalance } from "./components/WalletModal/utils";
15
15
  import { SendModal, ReceiveModal, ManageWalletModal, ChainSelector, ExportWarningModal, ExportKeyModal, UserAvatar, } from "./components/WalletModal/components";
16
16
  import "./WalletModal.css";
@@ -168,38 +168,67 @@ export function AbstraxnProvider({ config, children }) {
168
168
  externalSsr,
169
169
  config.wagmiConfig,
170
170
  ]);
171
- // If external wallets are enabled, wrap with QueryClientProvider and WagmiProvider
172
- if (externalWalletsEnabled) {
173
- // Check if React Query is available BEFORE doing anything else
174
- // This prevents errors from happening in the first place
171
+ // Connector-free wagmi config so `useConfig` / `useAccount` / etc. never throw when
172
+ // `externalWallets.enabled` is false (embedded email/social only). React Query is required
173
+ // for WagmiProvider the same as for the full external-wallet tree.
174
+ const { embedWagmiConfig, embedConfigError } = useMemo(() => {
175
+ if (externalWalletsEnabled) {
176
+ return { embedWagmiConfig: null, embedConfigError: null };
177
+ }
178
+ try {
179
+ const cfg = createWagmiConfig(wagmiChains, undefined, undefined, wagmiThemeRef.current, externalSsr, true);
180
+ return { embedWagmiConfig: cfg, embedConfigError: null };
181
+ }
182
+ catch (error) {
183
+ console.error("Failed to create embed-only wagmi config:", error);
184
+ return {
185
+ embedWagmiConfig: null,
186
+ embedConfigError: error instanceof Error
187
+ ? error
188
+ : new Error("Failed to create embed-only wagmi config"),
189
+ };
190
+ }
191
+ }, [externalWalletsEnabled, chainsKey, externalSsr]);
192
+ // Embedded-only mode: still mount WagmiProvider (no connectors) when React Query is available.
193
+ if (!externalWalletsEnabled) {
175
194
  const queryCheck = canUseReactQuery();
176
195
  if (!queryCheck.canUse) {
177
- console.error("❌ External wallets are disabled because React Query is not available.\n" +
196
+ console.error("❌ Wagmi hooks require @tanstack/react-query. Install it or wrap your app with QueryClientProvider.\n" +
178
197
  `Reason: ${queryCheck.reason || "Unknown"}\n` +
179
- "Please install @tanstack/react-query@^5.90.16 and ensure there is only one React instance.\n" +
180
- "Falling back to Abstraxn wallet only.");
198
+ "Rendering without WagmiProvider; calls to useConfig may throw.");
181
199
  return (_jsx(AbstraxnProviderWithoutWagmi, { config: config, children: children }));
182
200
  }
183
- if (configError) {
184
- console.error("Failed to create wagmi config:", configError);
185
- // Fallback to provider without wagmi if config creation fails
201
+ if (embedConfigError || !embedWagmiConfig) {
202
+ if (embedConfigError) {
203
+ console.error("Failed to create embed-only wagmi config:", embedConfigError);
204
+ }
186
205
  return (_jsx(AbstraxnProviderWithoutWagmi, { config: config, children: children }));
187
206
  }
188
- if (!wagmiConfig) {
189
- // Show loading state while config is being created
190
- // Don't render AbstraxnProviderInner until wagmiConfig is ready
191
- return (_jsx(QueryClientWrapper, { queryClient: queryClient, children: _jsx("div", { style: { display: "none" }, children: "Loading wallet connectors..." }) }));
192
- }
193
- // ✅ For SSR mode, wait for hydration before rendering WagmiProvider
194
- // This ensures injected wallets (Phantom, etc.) are detected properly
195
207
  if (externalSsr && !isHydrated) {
196
- return (_jsx(QueryClientWrapper, { queryClient: queryClient, children: _jsx("div", { style: { display: "none" }, children: "Hydrating wallet connectors..." }) }));
208
+ return (_jsx(QueryClientWrapper, { queryClient: queryClient, children: _jsx("div", { style: { display: "none" }, children: "Hydrating..." }) }));
197
209
  }
198
- // Do NOT pass key to WagmiProvider. Remounting loses connection state and causes
199
- // "Connector not connected" in Next.js (e.g. when config loads after hydration).
200
- return (_jsx(QueryClientWrapper, { queryClient: queryClient, children: _jsx(ConnectionProvider, { endpoint: config.chains?.solanaEndpoint || "https://api.mainnet-beta.solana.com", children: _jsx(WalletProvider, { wallets: solanaWallets, autoConnect: true, children: _jsx(WagmiProvider, { config: wagmiConfig, initialState: config.initialState, children: _jsx(AbstraxnProviderWithWagmi, { config: config, children: children }) }) }) }) }));
210
+ return (_jsx(QueryClientWrapper, { queryClient: queryClient, children: _jsx(WagmiProvider, { config: embedWagmiConfig, children: _jsx(AbstraxnProviderWithoutWagmi, { config: config, children: children }) }) }));
211
+ }
212
+ // External wallets enabled: full connectors + Solana adapter tree
213
+ // Check if React Query is available BEFORE doing anything else
214
+ const queryCheck = canUseReactQuery();
215
+ if (!queryCheck.canUse) {
216
+ console.error("❌ External wallets are disabled because React Query is not available.\n" +
217
+ `Reason: ${queryCheck.reason || "Unknown"}\n` +
218
+ "Please install @tanstack/react-query@^5.90.16 and ensure there is only one React instance.\n" +
219
+ "Falling back to Abstraxn wallet only.");
220
+ return (_jsx(AbstraxnProviderWithoutWagmi, { config: config, children: children }));
221
+ }
222
+ if (configError) {
223
+ console.error("Failed to create wagmi config:", configError);
224
+ return (_jsx(AbstraxnProviderWithoutWagmi, { config: config, children: children }));
225
+ }
226
+ if (!wagmiConfig) {
227
+ return (_jsx(QueryClientWrapper, { queryClient: queryClient, children: _jsx("div", { style: { display: "none" }, children: "Loading wallet connectors..." }) }));
228
+ }
229
+ if (externalSsr && !isHydrated) {
230
+ return (_jsx(QueryClientWrapper, { queryClient: queryClient, children: _jsx("div", { style: { display: "none" }, children: "Hydrating wallet connectors..." }) }));
201
231
  }
202
- // If external wallets are disabled, use the provider without wagmi
203
- return (_jsx(AbstraxnProviderWithoutWagmi, { config: config, children: children }));
232
+ return (_jsx(QueryClientWrapper, { queryClient: queryClient, children: _jsx(ConnectionProvider, { endpoint: config.chains?.solanaEndpoint || "https://api.mainnet-beta.solana.com", children: _jsx(WalletProvider, { wallets: solanaWallets, autoConnect: true, children: _jsx(WagmiProvider, { config: wagmiConfig, initialState: config.initialState, children: _jsx(AbstraxnProviderWithWagmi, { config: config, children: children }) }) }) }) }));
204
233
  }
205
234
  //# sourceMappingURL=AbstraxnProvider.js.map
@@ -4,7 +4,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  * Email input form for OTP authentication
5
5
  */
6
6
  import { useMemo } from "react";
7
- import { TfiEmail } from "react-icons/tfi";
7
+ import { TfiEmail } from "../../icons";
8
8
  import { isValidEmail } from "@abstraxn/signer-core";
9
9
  import "../OnboardingUI.css";
10
10
  export const EmailForm = ({ email, onChange, onSubmit, loading = false, error = null, config, readOnly = false, }) => {
@@ -4,7 +4,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
4
4
  * OTP input form for verification
5
5
  */
6
6
  import React, { useRef, useEffect } from "react";
7
- import { TfiEmail } from "react-icons/tfi";
7
+ import { TfiEmail } from "../../icons";
8
8
  import "../OnboardingUI.css";
9
9
  export const OtpForm = ({ email, otp, onChange, onSubmit, onResend, onBack, loading = false, resending = false, requireManualVerify = false, error = null, resendCooldown = 0, config, }) => {
10
10
  const theme = config?.theme || "light";
@@ -5,7 +5,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import { useState, useCallback } from 'react';
6
6
  import './ExportKeyModal.css';
7
7
  import '../../../WalletModal.css';
8
- import { FiInfo } from 'react-icons/fi';
8
+ import { FiInfo } from '../../icons';
9
9
  export function ExportKeyModal({ isOpen, onClose, privateKey, theme = 'dark', style, }) {
10
10
  const [copied, setCopied] = useState(false);
11
11
  const handleCopy = useCallback(() => {
@@ -5,7 +5,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import { useState } from 'react';
6
6
  import '../../../WalletModal.css';
7
7
  import './ExportWarningModal.css';
8
- import { IoKeyOutline } from 'react-icons/io5';
8
+ import { IoKeyOutline } from '../../icons';
9
9
  export function ExportWarningModal({ isOpen, onClose, onAcknowledge, currentChain: _currentChain, isExporting, theme = 'dark', style, }) {
10
10
  const [acknowledged, setAcknowledged] = useState(false);
11
11
  const handleReveal = () => {
@@ -4,12 +4,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
4
4
  */
5
5
  import { useEffect, useRef, useState, useCallback } from "react";
6
6
  import { createPortal } from "react-dom";
7
- import { IoKeyOutline, IoCopyOutline, IoCheckmarkOutline, IoCloudDownloadOutline, IoChevronBack, IoClose, IoPhonePortraitOutline } from "react-icons/io5";
8
- import { SiWalletconnect, SiDiscord, SiX } from "react-icons/si";
9
- import { FcGoogle } from "react-icons/fc";
10
- import { FiUsers, FiLink } from "react-icons/fi";
11
- import { TfiEmail } from "react-icons/tfi";
12
- import { BiShieldQuarter } from "react-icons/bi";
7
+ import { IoKeyOutline, IoCopyOutline, IoCheckmarkOutline, IoCloudDownloadOutline, IoChevronBack, IoClose, IoPhonePortraitOutline, SiWalletconnect, SiDiscord, SiX, FcGoogle, FiUsers, FiLink, TfiEmail, BiShieldQuarter, } from "../../icons";
13
8
  import { useAbstraxnWallet } from "../../../AbstraxnProvider";
14
9
  import { useEnableMfa } from "../../../hooks";
15
10
  import "./ManageWalletModal.css";
@@ -0,0 +1,23 @@
1
+ import * as React from "react";
2
+ type IconProps = React.SVGProps<SVGSVGElement> & {
3
+ size?: string | number;
4
+ };
5
+ export declare function TfiEmail(props: IconProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
6
+ export declare function LuWallet(props: IconProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
7
+ export declare function IoPhonePortraitOutline(props: IconProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
8
+ export declare function IoKeyOutline(props: IconProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
9
+ export declare function IoCopyOutline(props: IconProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
10
+ export declare function IoCloudDownloadOutline(props: IconProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
11
+ export declare function IoClose(props: IconProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
12
+ export declare function IoChevronBack(props: IconProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
13
+ export declare function IoCheckmarkOutline(props: IconProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
14
+ export declare function SiX(props: IconProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
15
+ export declare function SiWalletconnect(props: IconProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
16
+ export declare function SiDiscord(props: IconProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
17
+ export declare function FcGoogle(props: IconProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
18
+ export declare function FiUsers(props: IconProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
19
+ export declare function FiMail(props: IconProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
20
+ export declare function FiLink(props: IconProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
21
+ export declare function FiInfo(props: IconProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
22
+ export declare function BiShieldQuarter(props: IconProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
23
+ export {};
@@ -0,0 +1,35 @@
1
+ import * as React from "react";
2
+ function tree2Element(tree) {
3
+ return tree && tree.map((node, i) => React.createElement(node.tag, { key: i, ...node.attr }, tree2Element(node.child)));
4
+ }
5
+ function GenIcon(data) {
6
+ return (props) => React.createElement("svg", {
7
+ stroke: "currentColor",
8
+ fill: "currentColor",
9
+ strokeWidth: "0",
10
+ ...data.attr,
11
+ ...props,
12
+ height: props.size ?? "1em",
13
+ width: props.size ?? "1em",
14
+ xmlns: "http://www.w3.org/2000/svg",
15
+ }, tree2Element(data.child));
16
+ }
17
+ export function TfiEmail(props) { return GenIcon({ "tag": "svg", "attr": { "version": "1.1", "viewBox": "0 0 17 17" }, "child": [{ "tag": "g", "attr": {}, "child": [] }, { "tag": "path", "attr": { "d": "M0 2v13h17v-13h-17zM8.494 9.817l-6.896-6.817h13.82l-6.924 6.817zM5.755 8.516l-4.755 4.682v-9.383l4.755 4.701zM6.466 9.219l2.026 2.003 1.996-1.966 4.8 4.744h-13.677l4.855-4.781zM11.201 8.555l4.799-4.725v9.467l-4.799-4.742z" }, "child": [] }] })(props); }
18
+ export function LuWallet(props) { return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24", "fill": "none", "stroke": "currentColor", "strokeWidth": "2", "strokeLinecap": "round", "strokeLinejoin": "round" }, "child": [{ "tag": "path", "attr": { "d": "M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1" }, "child": [] }, { "tag": "path", "attr": { "d": "M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4" }, "child": [] }] })(props); }
19
+ export function IoPhonePortraitOutline(props) { return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 512 512" }, "child": [{ "tag": "rect", "attr": { "width": "256", "height": "480", "x": "128", "y": "16", "fill": "none", "strokeLinecap": "round", "strokeLinejoin": "round", "strokeWidth": "32", "rx": "48", "ry": "48" }, "child": [] }, { "tag": "path", "attr": { "fill": "none", "strokeLinecap": "round", "strokeLinejoin": "round", "strokeWidth": "32", "d": "M176 16h24a8 8 0 0 1 8 8h0a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16h0a8 8 0 0 1 8-8h24" }, "child": [] }] })(props); }
20
+ export function IoKeyOutline(props) { return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 512 512" }, "child": [{ "tag": "path", "attr": { "fill": "none", "strokeLinejoin": "round", "strokeWidth": "32", "d": "M218.1 167.17c0 13 0 25.6 4.1 37.4-43.1 50.6-156.9 184.3-167.5 194.5a20.17 20.17 0 0 0-6.7 15c0 8.5 5.2 16.7 9.6 21.3 6.6 6.9 34.8 33 40 28 15.4-15 18.5-19 24.8-25.2 9.5-9.3-1-28.3 2.3-36s6.8-9.2 12.5-10.4 15.8 2.9 23.7 3c8.3.1 12.8-3.4 19-9.2 5-4.6 8.6-8.9 8.7-15.6.2-9-12.8-20.9-3.1-30.4s23.7 6.2 34 5 22.8-15.5 24.1-21.6-11.7-21.8-9.7-30.7c.7-3 6.8-10 11.4-11s25 6.9 29.6 5.9c5.6-1.2 12.1-7.1 17.4-10.4 15.5 6.7 29.6 9.4 47.7 9.4 68.5 0 124-53.4 124-119.2S408.5 48 340 48s-121.9 53.37-121.9 119.17zM400 144a32 32 0 1 1-32-32 32 32 0 0 1 32 32z" }, "child": [] }] })(props); }
21
+ export function IoCopyOutline(props) { return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 512 512" }, "child": [{ "tag": "rect", "attr": { "width": "336", "height": "336", "x": "128", "y": "128", "fill": "none", "strokeLinejoin": "round", "strokeWidth": "32", "rx": "57", "ry": "57" }, "child": [] }, { "tag": "path", "attr": { "fill": "none", "strokeLinecap": "round", "strokeLinejoin": "round", "strokeWidth": "32", "d": "m383.5 128 .5-24a56.16 56.16 0 0 0-56-56H112a64.19 64.19 0 0 0-64 64v216a56.16 56.16 0 0 0 56 56h24" }, "child": [] }] })(props); }
22
+ export function IoCloudDownloadOutline(props) { return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 512 512" }, "child": [{ "tag": "path", "attr": { "fill": "none", "strokeLinecap": "round", "strokeLinejoin": "round", "strokeWidth": "32", "d": "M320 336h76c55 0 100-21.21 100-75.6s-53-73.47-96-75.6C391.11 99.74 329 48 256 48c-69 0-113.44 45.79-128 91.2-60 5.7-112 35.88-112 98.4S70 336 136 336h56m0 64.1 64 63.9 64-63.9M256 224v224.03" }, "child": [] }] })(props); }
23
+ export function IoClose(props) { return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 512 512" }, "child": [{ "tag": "path", "attr": { "d": "m289.94 256 95-95A24 24 0 0 0 351 127l-95 95-95-95a24 24 0 0 0-34 34l95 95-95 95a24 24 0 1 0 34 34l95-95 95 95a24 24 0 0 0 34-34z" }, "child": [] }] })(props); }
24
+ export function IoChevronBack(props) { return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 512 512" }, "child": [{ "tag": "path", "attr": { "fill": "none", "strokeLinecap": "round", "strokeLinejoin": "round", "strokeWidth": "48", "d": "M328 112 184 256l144 144" }, "child": [] }] })(props); }
25
+ export function IoCheckmarkOutline(props) { return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 512 512" }, "child": [{ "tag": "path", "attr": { "fill": "none", "strokeLinecap": "round", "strokeLinejoin": "round", "strokeWidth": "32", "d": "M416 128 192 384l-96-96" }, "child": [] }] })(props); }
26
+ export function SiX(props) { return GenIcon({ "tag": "svg", "attr": { "role": "img", "viewBox": "0 0 24 24" }, "child": [{ "tag": "path", "attr": { "d": "M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z" }, "child": [] }] })(props); }
27
+ export function SiWalletconnect(props) { return GenIcon({ "tag": "svg", "attr": { "role": "img", "viewBox": "0 0 24 24" }, "child": [{ "tag": "path", "attr": { "d": "M4.913 7.519c3.915-3.831 10.26-3.831 14.174 0l.471.461a.483.483 0 0 1 0 .694l-1.611 1.577a.252.252 0 0 1-.354 0l-.649-.634c-2.73-2.673-7.157-2.673-9.887 0l-.694.68a.255.255 0 0 1-.355 0L4.397 8.719a.482.482 0 0 1 0-.693l.516-.507Zm17.506 3.263 1.434 1.404a.483.483 0 0 1 0 .694l-6.466 6.331a.508.508 0 0 1-.709 0l-4.588-4.493a.126.126 0 0 0-.178 0l-4.589 4.493a.508.508 0 0 1-.709 0L.147 12.88a.483.483 0 0 1 0-.694l1.434-1.404a.508.508 0 0 1 .709 0l4.589 4.493c.05.048.129.048.178 0l4.589-4.493a.508.508 0 0 1 .709 0l4.589 4.493c.05.048.128.048.178 0l4.589-4.493a.507.507 0 0 1 .708 0Z" }, "child": [] }] })(props); }
28
+ export function SiDiscord(props) { return GenIcon({ "tag": "svg", "attr": { "role": "img", "viewBox": "0 0 24 24" }, "child": [{ "tag": "path", "attr": { "d": "M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z" }, "child": [] }] })(props); }
29
+ export function FcGoogle(props) { return GenIcon({ "tag": "svg", "attr": { "version": "1.1", "x": "0px", "y": "0px", "viewBox": "0 0 48 48", "enableBackground": "new 0 0 48 48" }, "child": [{ "tag": "path", "attr": { "fill": "#FFC107", "d": "M43.611,20.083H42V20H24v8h11.303c-1.649,4.657-6.08,8-11.303,8c-6.627,0-12-5.373-12-12\r\n\tc0-6.627,5.373-12,12-12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C12.955,4,4,12.955,4,24\r\n\tc0,11.045,8.955,20,20,20c11.045,0,20-8.955,20-20C44,22.659,43.862,21.35,43.611,20.083z" }, "child": [] }, { "tag": "path", "attr": { "fill": "#FF3D00", "d": "M6.306,14.691l6.571,4.819C14.655,15.108,18.961,12,24,12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657\r\n\tC34.046,6.053,29.268,4,24,4C16.318,4,9.656,8.337,6.306,14.691z" }, "child": [] }, { "tag": "path", "attr": { "fill": "#4CAF50", "d": "M24,44c5.166,0,9.86-1.977,13.409-5.192l-6.19-5.238C29.211,35.091,26.715,36,24,36\r\n\tc-5.202,0-9.619-3.317-11.283-7.946l-6.522,5.025C9.505,39.556,16.227,44,24,44z" }, "child": [] }, { "tag": "path", "attr": { "fill": "#1976D2", "d": "M43.611,20.083H42V20H24v8h11.303c-0.792,2.237-2.231,4.166-4.087,5.571\r\n\tc0.001-0.001,0.002-0.001,0.003-0.002l6.19,5.238C36.971,39.205,44,34,44,24C44,22.659,43.862,21.35,43.611,20.083z" }, "child": [] }] })(props); }
30
+ export function FiUsers(props) { return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24", "fill": "none", "stroke": "currentColor", "strokeWidth": "2", "strokeLinecap": "round", "strokeLinejoin": "round" }, "child": [{ "tag": "path", "attr": { "d": "M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2" }, "child": [] }, { "tag": "circle", "attr": { "cx": "9", "cy": "7", "r": "4" }, "child": [] }, { "tag": "path", "attr": { "d": "M23 21v-2a4 4 0 0 0-3-3.87" }, "child": [] }, { "tag": "path", "attr": { "d": "M16 3.13a4 4 0 0 1 0 7.75" }, "child": [] }] })(props); }
31
+ export function FiMail(props) { return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24", "fill": "none", "stroke": "currentColor", "strokeWidth": "2", "strokeLinecap": "round", "strokeLinejoin": "round" }, "child": [{ "tag": "path", "attr": { "d": "M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z" }, "child": [] }, { "tag": "polyline", "attr": { "points": "22,6 12,13 2,6" }, "child": [] }] })(props); }
32
+ export function FiLink(props) { return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24", "fill": "none", "stroke": "currentColor", "strokeWidth": "2", "strokeLinecap": "round", "strokeLinejoin": "round" }, "child": [{ "tag": "path", "attr": { "d": "M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" }, "child": [] }, { "tag": "path", "attr": { "d": "M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" }, "child": [] }] })(props); }
33
+ export function FiInfo(props) { return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24", "fill": "none", "stroke": "currentColor", "strokeWidth": "2", "strokeLinecap": "round", "strokeLinejoin": "round" }, "child": [{ "tag": "circle", "attr": { "cx": "12", "cy": "12", "r": "10" }, "child": [] }, { "tag": "line", "attr": { "x1": "12", "y1": "16", "x2": "12", "y2": "12" }, "child": [] }, { "tag": "line", "attr": { "x1": "12", "y1": "8", "x2": "12.01", "y2": "8" }, "child": [] }] })(props); }
34
+ export function BiShieldQuarter(props) { return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24" }, "child": [{ "tag": "path", "attr": { "d": "M20.995 6.9a.998.998 0 0 0-.548-.795l-8-4a1 1 0 0 0-.895 0l-8 4a1.002 1.002 0 0 0-.547.795c-.011.107-.961 10.767 8.589 15.014a.987.987 0 0 0 .812 0c9.55-4.247 8.6-14.906 8.589-15.014zM12 19.897V12H5.51a15.473 15.473 0 0 1-.544-4.365L12 4.118V12h6.46c-.759 2.74-2.498 5.979-6.46 7.897z" }, "child": [] }] })(props); }
35
+ //# sourceMappingURL=icons.js.map
@@ -270,6 +270,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
270
270
  request?: (parameters: import("viem").CcipRequestParameters) => Promise<import("viem/_types/utils/ccip").CcipRequestReturnType>;
271
271
  } | undefined;
272
272
  chain: Chain | undefined;
273
+ dataSuffix?: import("viem").DataSuffix | undefined;
273
274
  experimental_blockTag?: import("viem").BlockTag | undefined;
274
275
  key: string;
275
276
  name: string;
@@ -321,7 +322,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
321
322
  withdrawalsRoot?: `0x${string}` | undefined;
322
323
  transactions: includeTransactions extends true ? ({
323
324
  type: "legacy";
324
- value: bigint;
325
325
  yParity?: undefined | undefined;
326
326
  from: Address;
327
327
  gas: bigint;
@@ -333,6 +333,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
333
333
  to: Address | null;
334
334
  typeHex: import("viem").Hex | null;
335
335
  v: bigint;
336
+ value: bigint;
336
337
  accessList?: undefined | undefined;
337
338
  authorizationList?: undefined | undefined;
338
339
  blobVersionedHashes?: undefined | undefined;
@@ -346,7 +347,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
346
347
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_2 ? T_2 extends (blockTag extends "pending" ? true : false) ? T_2 extends true ? null : number : never : never;
347
348
  } | {
348
349
  type: "eip2930";
349
- value: bigint;
350
350
  yParity: number;
351
351
  from: Address;
352
352
  gas: bigint;
@@ -358,6 +358,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
358
358
  to: Address | null;
359
359
  typeHex: import("viem").Hex | null;
360
360
  v: bigint;
361
+ value: bigint;
361
362
  accessList: import("viem").AccessList;
362
363
  authorizationList?: undefined | undefined;
363
364
  blobVersionedHashes?: undefined | undefined;
@@ -371,7 +372,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
371
372
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_5 ? T_5 extends (blockTag extends "pending" ? true : false) ? T_5 extends true ? null : number : never : never;
372
373
  } | {
373
374
  type: "eip1559";
374
- value: bigint;
375
375
  yParity: number;
376
376
  from: Address;
377
377
  gas: bigint;
@@ -383,6 +383,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
383
383
  to: Address | null;
384
384
  typeHex: import("viem").Hex | null;
385
385
  v: bigint;
386
+ value: bigint;
386
387
  accessList: import("viem").AccessList;
387
388
  authorizationList?: undefined | undefined;
388
389
  blobVersionedHashes?: undefined | undefined;
@@ -396,7 +397,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
396
397
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_8 ? T_8 extends (blockTag extends "pending" ? true : false) ? T_8 extends true ? null : number : never : never;
397
398
  } | {
398
399
  type: "eip4844";
399
- value: bigint;
400
400
  yParity: number;
401
401
  from: Address;
402
402
  gas: bigint;
@@ -408,6 +408,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
408
408
  to: Address | null;
409
409
  typeHex: import("viem").Hex | null;
410
410
  v: bigint;
411
+ value: bigint;
411
412
  accessList: import("viem").AccessList;
412
413
  authorizationList?: undefined | undefined;
413
414
  blobVersionedHashes: readonly import("viem").Hex[];
@@ -421,7 +422,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
421
422
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_11 ? T_11 extends (blockTag extends "pending" ? true : false) ? T_11 extends true ? null : number : never : never;
422
423
  } | {
423
424
  type: "eip7702";
424
- value: bigint;
425
425
  yParity: number;
426
426
  from: Address;
427
427
  gas: bigint;
@@ -433,6 +433,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
433
433
  to: Address | null;
434
434
  typeHex: import("viem").Hex | null;
435
435
  v: bigint;
436
+ value: bigint;
436
437
  accessList: import("viem").AccessList;
437
438
  authorizationList: import("viem").SignedAuthorizationList;
438
439
  blobVersionedHashes?: undefined | undefined;
@@ -452,6 +453,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
452
453
  getChainId: () => Promise<import("viem").GetChainIdReturnType>;
453
454
  getCode: (args: import("viem").GetBytecodeParameters) => Promise<import("viem").GetBytecodeReturnType>;
454
455
  getContractEvents: <const abi extends Abi | readonly unknown[], eventName extends import("viem").ContractEventName<abi> | undefined = undefined, strict extends boolean | undefined = undefined, fromBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined, toBlock extends import("viem").BlockNumber | import("viem").BlockTag | undefined = undefined>(args: import("viem").GetContractEventsParameters<abi, eventName, strict, fromBlock, toBlock>) => Promise<import("viem").GetContractEventsReturnType<abi, eventName, strict, fromBlock, toBlock>>;
456
+ getDelegation: (args: import("viem").GetDelegationParameters) => Promise<import("viem").GetDelegationReturnType>;
455
457
  getEip712Domain: (args: import("viem").GetEip712DomainParameters) => Promise<import("viem").GetEip712DomainReturnType>;
456
458
  getEnsAddress: (args: import("viem").GetEnsAddressParameters) => Promise<import("viem").GetEnsAddressReturnType>;
457
459
  getEnsAvatar: (args: import("viem").GetEnsAvatarParameters) => Promise<import("viem").GetEnsAvatarReturnType>;
@@ -471,7 +473,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
471
473
  getStorageAt: (args: import("viem").GetStorageAtParameters) => Promise<import("viem").GetStorageAtReturnType>;
472
474
  getTransaction: <blockTag extends import("viem").BlockTag = "latest">(args: import("viem").GetTransactionParameters<blockTag>) => Promise<{
473
475
  type: "legacy";
474
- value: bigint;
475
476
  yParity?: undefined | undefined;
476
477
  from: Address;
477
478
  gas: bigint;
@@ -483,6 +484,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
483
484
  to: Address | null;
484
485
  typeHex: import("viem").Hex | null;
485
486
  v: bigint;
487
+ value: bigint;
486
488
  accessList?: undefined | undefined;
487
489
  authorizationList?: undefined | undefined;
488
490
  blobVersionedHashes?: undefined | undefined;
@@ -496,7 +498,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
496
498
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_2 ? T_2 extends (blockTag extends "pending" ? true : false) ? T_2 extends true ? null : number : never : never;
497
499
  } | {
498
500
  type: "eip2930";
499
- value: bigint;
500
501
  yParity: number;
501
502
  from: Address;
502
503
  gas: bigint;
@@ -508,6 +509,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
508
509
  to: Address | null;
509
510
  typeHex: import("viem").Hex | null;
510
511
  v: bigint;
512
+ value: bigint;
511
513
  accessList: import("viem").AccessList;
512
514
  authorizationList?: undefined | undefined;
513
515
  blobVersionedHashes?: undefined | undefined;
@@ -521,7 +523,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
521
523
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_5 ? T_5 extends (blockTag extends "pending" ? true : false) ? T_5 extends true ? null : number : never : never;
522
524
  } | {
523
525
  type: "eip1559";
524
- value: bigint;
525
526
  yParity: number;
526
527
  from: Address;
527
528
  gas: bigint;
@@ -533,6 +534,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
533
534
  to: Address | null;
534
535
  typeHex: import("viem").Hex | null;
535
536
  v: bigint;
537
+ value: bigint;
536
538
  accessList: import("viem").AccessList;
537
539
  authorizationList?: undefined | undefined;
538
540
  blobVersionedHashes?: undefined | undefined;
@@ -546,7 +548,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
546
548
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_8 ? T_8 extends (blockTag extends "pending" ? true : false) ? T_8 extends true ? null : number : never : never;
547
549
  } | {
548
550
  type: "eip4844";
549
- value: bigint;
550
551
  yParity: number;
551
552
  from: Address;
552
553
  gas: bigint;
@@ -558,6 +559,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
558
559
  to: Address | null;
559
560
  typeHex: import("viem").Hex | null;
560
561
  v: bigint;
562
+ value: bigint;
561
563
  accessList: import("viem").AccessList;
562
564
  authorizationList?: undefined | undefined;
563
565
  blobVersionedHashes: readonly import("viem").Hex[];
@@ -571,7 +573,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
571
573
  transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_11 ? T_11 extends (blockTag extends "pending" ? true : false) ? T_11 extends true ? null : number : never : never;
572
574
  } | {
573
575
  type: "eip7702";
574
- value: bigint;
575
576
  yParity: number;
576
577
  from: Address;
577
578
  gas: bigint;
@@ -583,6 +584,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
583
584
  to: Address | null;
584
585
  typeHex: import("viem").Hex | null;
585
586
  v: bigint;
587
+ value: bigint;
586
588
  accessList: import("viem").AccessList;
587
589
  authorizationList: import("viem").SignedAuthorizationList;
588
590
  blobVersionedHashes?: undefined | undefined;
@@ -3877,6 +3879,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
3877
3879
  cacheTime?: undefined;
3878
3880
  ccipRead?: undefined;
3879
3881
  chain?: undefined;
3882
+ dataSuffix?: undefined;
3880
3883
  experimental_blockTag?: undefined;
3881
3884
  key?: undefined;
3882
3885
  name?: undefined;
@@ -3885,7 +3888,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
3885
3888
  transport?: undefined;
3886
3889
  type?: undefined;
3887
3890
  uid?: undefined;
3888
- } & import("viem").ExactPartial<Pick<import("viem").PublicActions<import("viem").Transport, Chain | undefined, undefined>, "call" | "createContractEventFilter" | "createEventFilter" | "estimateContractGas" | "estimateGas" | "getBlock" | "getBlockNumber" | "getChainId" | "getContractEvents" | "getEnsText" | "getFilterChanges" | "getGasPrice" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "prepareTransactionRequest" | "readContract" | "sendRawTransaction" | "simulateContract" | "uninstallFilter" | "watchBlockNumber" | "watchContractEvent"> & Pick<import("viem").WalletActions<Chain | undefined, undefined>, "sendTransaction" | "writeContract">>>(fn: (client: import("viem").Client<import("viem").Transport, Chain | undefined, undefined, import("viem").PublicRpcSchema, import("viem").PublicActions<import("viem").Transport, Chain | undefined>>) => client) => import("viem").Client<import("viem").Transport, Chain | undefined, undefined, import("viem").PublicRpcSchema, { [K in keyof client]: client[K]; } & import("viem").PublicActions<import("viem").Transport, Chain | undefined>>;
3891
+ } & import("viem").ExactPartial<Pick<import("viem").PublicActions<import("viem").Transport, Chain | undefined, undefined>, "prepareTransactionRequest" | "call" | "createContractEventFilter" | "createEventFilter" | "estimateContractGas" | "estimateGas" | "getBlock" | "getBlockNumber" | "getChainId" | "getContractEvents" | "getEnsText" | "getFilterChanges" | "getGasPrice" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "readContract" | "sendRawTransaction" | "simulateContract" | "uninstallFilter" | "watchBlockNumber" | "watchContractEvent"> & Pick<import("viem").WalletActions<Chain | undefined, undefined>, "sendTransaction" | "writeContract">>>(fn: (client: import("viem").Client<import("viem").Transport, Chain | undefined, undefined, import("viem").PublicRpcSchema, import("viem").PublicActions<import("viem").Transport, Chain | undefined>>) => client) => import("viem").Client<import("viem").Transport, Chain | undefined, undefined, import("viem").PublicRpcSchema, { [K in keyof client]: client[K]; } & import("viem").PublicActions<import("viem").Transport, Chain | undefined>>;
3889
3892
  };
3890
3893
  };
3891
3894
  /**
@@ -3926,6 +3929,7 @@ export declare function useWalletClient(chain: any, rpcUrl?: string): {
3926
3929
  request?: (parameters: import("viem").CcipRequestParameters) => Promise<import("viem/_types/utils/ccip").CcipRequestReturnType>;
3927
3930
  } | undefined;
3928
3931
  chain: Chain | undefined;
3932
+ dataSuffix?: import("viem").DataSuffix | undefined;
3929
3933
  experimental_blockTag?: import("viem").BlockTag | undefined;
3930
3934
  key: string;
3931
3935
  name: string;
@@ -8337,6 +8341,7 @@ export declare function useWalletClient(chain: any, rpcUrl?: string): {
8337
8341
  cacheTime?: undefined;
8338
8342
  ccipRead?: undefined;
8339
8343
  chain?: undefined;
8344
+ dataSuffix?: undefined;
8340
8345
  experimental_blockTag?: undefined;
8341
8346
  key?: undefined;
8342
8347
  name?: undefined;
@@ -8345,7 +8350,7 @@ export declare function useWalletClient(chain: any, rpcUrl?: string): {
8345
8350
  transport?: undefined;
8346
8351
  type?: undefined;
8347
8352
  uid?: undefined;
8348
- } & import("viem").ExactPartial<Pick<import("viem").PublicActions<import("viem").Transport, Chain | undefined, import("viem").Account | undefined>, "call" | "createContractEventFilter" | "createEventFilter" | "estimateContractGas" | "estimateGas" | "getBlock" | "getBlockNumber" | "getChainId" | "getContractEvents" | "getEnsText" | "getFilterChanges" | "getGasPrice" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "prepareTransactionRequest" | "readContract" | "sendRawTransaction" | "simulateContract" | "uninstallFilter" | "watchBlockNumber" | "watchContractEvent"> & Pick<import("viem").WalletActions<Chain | undefined, import("viem").Account | undefined>, "sendTransaction" | "writeContract">>>(fn: (client: import("viem").Client<import("viem").Transport, Chain | undefined, import("viem").Account | undefined, import("viem").WalletRpcSchema, import("viem").WalletActions<Chain | undefined, import("viem").Account | undefined>>) => client) => import("viem").Client<import("viem").Transport, Chain | undefined, import("viem").Account | undefined, import("viem").WalletRpcSchema, { [K in keyof client]: client[K]; } & import("viem").WalletActions<Chain | undefined, import("viem").Account | undefined>>;
8353
+ } & import("viem").ExactPartial<Pick<import("viem").PublicActions<import("viem").Transport, Chain | undefined, import("viem").Account | undefined>, "prepareTransactionRequest" | "call" | "createContractEventFilter" | "createEventFilter" | "estimateContractGas" | "estimateGas" | "getBlock" | "getBlockNumber" | "getChainId" | "getContractEvents" | "getEnsText" | "getFilterChanges" | "getGasPrice" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "readContract" | "sendRawTransaction" | "simulateContract" | "uninstallFilter" | "watchBlockNumber" | "watchContractEvent"> & Pick<import("viem").WalletActions<Chain | undefined, import("viem").Account | undefined>, "sendTransaction" | "writeContract">>>(fn: (client: import("viem").Client<import("viem").Transport, Chain | undefined, import("viem").Account | undefined, import("viem").WalletRpcSchema, import("viem").WalletActions<Chain | undefined, import("viem").Account | undefined>>) => client) => import("viem").Client<import("viem").Transport, Chain | undefined, import("viem").Account | undefined, import("viem").WalletRpcSchema, { [K in keyof client]: client[K]; } & import("viem").WalletActions<Chain | undefined, import("viem").Account | undefined>>;
8349
8354
  };
8350
8355
  };
8351
8356
  /**
@@ -8863,6 +8868,7 @@ export declare function useExternalWalletClient(): {
8863
8868
  request?: (parameters: import("viem").CcipRequestParameters) => Promise<import("viem/_types/utils/ccip").CcipRequestReturnType>;
8864
8869
  } | undefined;
8865
8870
  chain: Chain;
8871
+ dataSuffix?: import("viem").DataSuffix | undefined;
8866
8872
  experimental_blockTag?: import("viem").BlockTag | undefined;
8867
8873
  key: string;
8868
8874
  name: string;
@@ -13274,6 +13280,7 @@ export declare function useExternalWalletClient(): {
13274
13280
  cacheTime?: undefined;
13275
13281
  ccipRead?: undefined;
13276
13282
  chain?: undefined;
13283
+ dataSuffix?: undefined;
13277
13284
  experimental_blockTag?: undefined;
13278
13285
  key?: undefined;
13279
13286
  name?: undefined;
@@ -13282,7 +13289,7 @@ export declare function useExternalWalletClient(): {
13282
13289
  transport?: undefined;
13283
13290
  type?: undefined;
13284
13291
  uid?: undefined;
13285
- } & import("viem").ExactPartial<Pick<import("viem").PublicActions<import("wagmi").Transport<string, Record<string, any>, import("viem").EIP1193RequestFn>, Chain, import("viem").Account>, "call" | "createContractEventFilter" | "createEventFilter" | "estimateContractGas" | "estimateGas" | "getBlock" | "getBlockNumber" | "getChainId" | "getContractEvents" | "getEnsText" | "getFilterChanges" | "getGasPrice" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "prepareTransactionRequest" | "readContract" | "sendRawTransaction" | "simulateContract" | "uninstallFilter" | "watchBlockNumber" | "watchContractEvent"> & Pick<import("viem").WalletActions<Chain, import("viem").Account>, "sendTransaction" | "writeContract">>>(fn: (client: import("viem").Client<import("wagmi").Transport<string, Record<string, any>, import("viem").EIP1193RequestFn>, Chain, import("viem").Account, import("viem").WalletRpcSchema, import("viem").WalletActions<Chain, import("viem").Account>>) => client) => import("viem").Client<import("wagmi").Transport<string, Record<string, any>, import("viem").EIP1193RequestFn>, Chain, import("viem").Account, import("viem").WalletRpcSchema, { [K in keyof client]: client[K]; } & import("viem").WalletActions<Chain, import("viem").Account>>;
13292
+ } & import("viem").ExactPartial<Pick<import("viem").PublicActions<import("wagmi").Transport<string, Record<string, any>, import("viem").EIP1193RequestFn>, Chain, import("viem").Account>, "prepareTransactionRequest" | "call" | "createContractEventFilter" | "createEventFilter" | "estimateContractGas" | "estimateGas" | "getBlock" | "getBlockNumber" | "getChainId" | "getContractEvents" | "getEnsText" | "getFilterChanges" | "getGasPrice" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "readContract" | "sendRawTransaction" | "simulateContract" | "uninstallFilter" | "watchBlockNumber" | "watchContractEvent"> & Pick<import("viem").WalletActions<Chain, import("viem").Account>, "sendTransaction" | "writeContract">>>(fn: (client: import("viem").Client<import("wagmi").Transport<string, Record<string, any>, import("viem").EIP1193RequestFn>, Chain, import("viem").Account, import("viem").WalletRpcSchema, import("viem").WalletActions<Chain, import("viem").Account>>) => client) => import("viem").Client<import("wagmi").Transport<string, Record<string, any>, import("viem").EIP1193RequestFn>, Chain, import("viem").Account, import("viem").WalletRpcSchema, { [K in keyof client]: client[K]; } & import("viem").WalletActions<Chain, import("viem").Account>>;
13286
13293
  } | null;
13287
13294
  isConnected: boolean;
13288
13295
  isPending: boolean;
package/dist/src/hooks.js CHANGED
@@ -504,7 +504,7 @@ export function useExternalWalletChain() {
504
504
  * ```
505
505
  */
506
506
  export function useExternalWalletInfo() {
507
- const { externalWalletChainId, externalWalletNetwork, switchExternalWalletChain, isExternalWalletConnected, externalWalletAddress, externalWalletBalance, } = useExternalWallet();
507
+ const { externalWalletChainId, externalWalletNetwork, isExternalWalletConnected, externalWalletAddress, externalWalletBalance, } = useExternalWallet();
508
508
  const { sendTransaction, signMessage, signTransaction, switchChain, } = useAbstraxnWallet();
509
509
  const [formattedBalance, setFormattedBalance] = useState('0');
510
510
  useEffect(() => {
@@ -571,8 +571,8 @@ export function useExternalWalletInfo() {
571
571
  // Balance information
572
572
  balance: externalWalletBalance, // BigInt in wei
573
573
  formattedBalance, // String formatted as ETH (e.g., "0.123456")
574
- // Chain switching
575
- switchChain: switchExternalWalletChain,
574
+ // Unified chain switch (embedded + external); not only switchExternalWalletChain.
575
+ switchChain,
576
576
  // Connection status
577
577
  isConnected: isExternalWalletConnected,
578
578
  address: externalWalletAddress,
@@ -9,7 +9,13 @@ import { type Chain as CoreChain } from "@abstraxn/signer-core";
9
9
  * Note: Uses 'injected' connector which automatically detects MetaMask and other wallets
10
10
  * without requiring @metamask/sdk
11
11
  */
12
- export declare function createWagmiConfig(chains?: CoreChain[] | Chain[], walletConnectProjectId?: string, enabledConnectors?: ("injected" | "metaMask" | "walletConnect")[], theme?: "light" | "dark", ssr?: boolean): Config;
12
+ export declare function createWagmiConfig(chains?: CoreChain[] | Chain[], walletConnectProjectId?: string, enabledConnectors?: ("injected" | "metaMask" | "walletConnect")[], theme?: "light" | "dark", ssr?: boolean,
13
+ /**
14
+ * When true, builds a wagmi config with **no** wallet connectors. Used when
15
+ * `externalWallets.enabled` is false so hooks like `useConfig` / `useAccount`
16
+ * still work for embedded flows without exposing MetaMask / WalletConnect.
17
+ */
18
+ embedOnly?: boolean): Config;
13
19
  /**
14
20
  * External wallet connector types
15
21
  */