@abstraxn/signer-react 3.1.3 → 3.2.0

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.
@@ -27,7 +27,10 @@ export const OnboardingUIReact = ({ config = {}, modal = false, onClose, externa
27
27
  const authMethods = config.authMethods || ["otp", "google"];
28
28
  const showModalCloseButton = config.showCloseButton === true;
29
29
  const onboarding = useOnboarding(config);
30
- const authMethodsHook = useAuthMethods(config);
30
+ const authMethodsHook = useAuthMethods({
31
+ ...config,
32
+ onPasskeyPendingMfa: config.onPasskeyPendingMfa ?? (() => onboarding.setStep("mfa")),
33
+ });
31
34
  const { user, isConnected, whoami, loading: providerLoading, error: providerError, emailForOtp, } = useAbstraxnWallet();
32
35
  const [showExternalWallets, setShowExternalWallets] = useState(false);
33
36
  const [oauthLoading, setOauthLoading] = useState(false);
@@ -4286,8 +4286,11 @@ export class OnboardingUIWeb {
4286
4286
  this.setLoading(true, "passkey");
4287
4287
  this.hidePasskeyError();
4288
4288
  if (this.config.onPasskeyLogin) {
4289
- await this.config.onPasskeyLogin();
4290
- // Call onLoginSuccess to close modal and update state
4289
+ const result = await this.config.onPasskeyLogin();
4290
+ if (result && typeof result === "object" && result.mfaRequired === true) {
4291
+ this.showMfaVerificationScreenForOAuth();
4292
+ return;
4293
+ }
4291
4294
  if (this.config.onLoginSuccess) {
4292
4295
  this.config.onLoginSuccess({ user: null });
4293
4296
  }
@@ -4318,8 +4321,11 @@ export class OnboardingUIWeb {
4318
4321
  this.setLoading(true, "passkey");
4319
4322
  this.hidePasskeyError();
4320
4323
  if (this.config.onPasskeySignup) {
4321
- await this.config.onPasskeySignup();
4322
- // Call onLoginSuccess to close modal and update state
4324
+ const result = await this.config.onPasskeySignup();
4325
+ if (result && typeof result === "object" && result.mfaRequired === true) {
4326
+ this.showMfaVerificationScreenForOAuth();
4327
+ return;
4328
+ }
4323
4329
  if (this.config.onLoginSuccess) {
4324
4330
  this.config.onLoginSuccess({ user: null });
4325
4331
  }
@@ -192,6 +192,11 @@ export const useAuthMethods = (config) => {
192
192
  else {
193
193
  await wallet.loginWithPasskey();
194
194
  }
195
+ const mfaPending = wallet.getAuthManager().getLastAuthState()?.mfaRequired === true;
196
+ if (mfaPending) {
197
+ config?.onPasskeyPendingMfa?.();
198
+ return;
199
+ }
195
200
  config?.onLoginSuccess?.({});
196
201
  }
197
202
  catch (err) {
@@ -225,6 +230,11 @@ export const useAuthMethods = (config) => {
225
230
  else {
226
231
  await wallet.signupWithPasskey();
227
232
  }
233
+ const mfaPending = wallet.getAuthManager().getLastAuthState()?.mfaRequired === true;
234
+ if (mfaPending) {
235
+ config?.onPasskeyPendingMfa?.();
236
+ return;
237
+ }
228
238
  config?.onLoginSuccess?.({});
229
239
  }
230
240
  catch (err) {
@@ -95,7 +95,7 @@ export function useSendTransaction({ sendTransaction, currentChain, fromAddress,
95
95
  data: '0x',
96
96
  chainId: currentChain.id,
97
97
  gas: {
98
- gasLimit,
98
+ gasLimit: gasLimit,
99
99
  maxFeePerGas: gasFees.maxFeePerGas,
100
100
  maxPriorityFeePerGas: gasFees.maxPriorityFeePerGas,
101
101
  gasPrice: gasFees.gasPrice,
@@ -9,7 +9,7 @@ export declare function formatAddress(addr: string | null | undefined): string;
9
9
  * Formats a balance with proper decimals and symbol
10
10
  * Removes trailing zeros and unnecessary decimals
11
11
  */
12
- export declare function formatBalance(balance: bigint | null | undefined, decimals: number, symbol: string): string;
12
+ export declare function formatBalance(balance: bigint | null | undefined, decimals: number, symbol: string, maxFractionDigits?: number): string;
13
13
  /**
14
14
  * Formats a balance value (number) with proper decimals
15
15
  */
@@ -15,13 +15,12 @@ export function formatAddress(addr) {
15
15
  * Formats a balance with proper decimals and symbol
16
16
  * Removes trailing zeros and unnecessary decimals
17
17
  */
18
- export function formatBalance(balance, decimals, symbol) {
18
+ export function formatBalance(balance, decimals, symbol, maxFractionDigits = decimals) {
19
19
  if (!balance || balance === 0n)
20
20
  return `0 ${symbol}`;
21
21
  const balanceValue = Number(balance) / Math.pow(10, decimals);
22
- // Remove trailing zeros and unnecessary decimals
23
- // Use toFixed with max decimals, then remove trailing zeros
24
- const formatted = balanceValue.toFixed(decimals);
22
+ const safeFractionDigits = Math.max(0, Math.min(maxFractionDigits, decimals));
23
+ const formatted = balanceValue.toFixed(safeFractionDigits);
25
24
  // Remove trailing zeros and decimal point if not needed
26
25
  const trimmed = formatted.replace(/\.?0+$/, '');
27
26
  return `${trimmed} ${symbol}`;
@@ -1,4 +1,4 @@
1
- import type { WhoamiResponse, TransactionRequest, EnableMfaResponse, VerifySetupMfaResponse, DisableMfaResponse } from '@abstraxn/signer-core';
1
+ import type { WhoamiResponse, TransactionRequest, EnableMfaResponse, VerifySetupMfaResponse, DisableMfaResponse, SupportedAuthMethod, LinkedAuthMethod } from '@abstraxn/signer-core';
2
2
  import type { Chain, PublicClient, Address, Abi, GetContractReturnType, TransactionReceipt } from 'viem';
3
3
  import { Connection as SolanaConnection, Transaction as SolanaTransaction, TransactionInstruction, type Commitment, type SendOptions } from '@solana/web3.js';
4
4
  import type { TypedData, TypedDataDomain } from 'viem';
@@ -46,6 +46,20 @@ export { useAbstraxnWallet } from './AbstraxnProvider';
46
46
  * Hook to get wallet instance (for advanced usage)
47
47
  */
48
48
  export declare function useWallet(): import("@abstraxn/signer-core").AbstraxnWallet | null;
49
+ export interface SmartAccountOwnerOptions {
50
+ /** Override the signer address. By default, uses connected wallet address from context. */
51
+ address?: Address;
52
+ }
53
+ export interface SmartAccountOwnerResult {
54
+ smartAccountOwner: any | null;
55
+ isReady: boolean;
56
+ address: Address | null;
57
+ }
58
+ /**
59
+ * Hook to get an AA-compatible owner account for permissionless-compatible SDKs.
60
+ * This does not include bundler/paymaster integration; apps can plug in any provider.
61
+ */
62
+ export declare function useSmartAccountOwner(options?: SmartAccountOwnerOptions): SmartAccountOwnerResult;
49
63
  /**
50
64
  * Hook to export wallet private key
51
65
  * Returns the export bundle containing the private key
@@ -127,6 +141,28 @@ export declare function useDisableMfa(): {
127
141
  confirmDisable: () => Promise<DisableMfaResponse | null>;
128
142
  reset: () => void;
129
143
  };
144
+ export interface UseAuthMethodLinkingReturn {
145
+ supportedMethods: SupportedAuthMethod[];
146
+ linkedMethods: LinkedAuthMethod[];
147
+ loading: boolean;
148
+ actionProvider: string | null;
149
+ error: string | null;
150
+ refreshAuthMethods: (options?: {
151
+ force?: boolean;
152
+ }) => Promise<void>;
153
+ isLinked: (provider: string) => boolean;
154
+ linkProvider: (provider: 'google' | 'discord' | 'twitter' | 'x' | 'passkey') => Promise<void>;
155
+ requestEmailLinkOtp: (email: string) => Promise<{
156
+ otpId: string;
157
+ }>;
158
+ confirmEmailLink: (otpId: string, otpCode: string) => Promise<void>;
159
+ unlinkProvider: (provider: string) => Promise<void>;
160
+ }
161
+ /**
162
+ * Hook for linking/unlinking auth methods without any UI concerns.
163
+ * It exposes state and actions only; consumers own rendering and messaging.
164
+ */
165
+ export declare function useAuthMethodLinking(): UseAuthMethodLinkingReturn;
130
166
  /**
131
167
  * Hook to access external wallet functionality
132
168
  * Returns external wallet connection state and methods
@@ -270,7 +306,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
270
306
  request?: (parameters: import("viem").CcipRequestParameters) => Promise<import("viem/_types/utils/ccip").CcipRequestReturnType>;
271
307
  } | undefined;
272
308
  chain: Chain | undefined;
273
- dataSuffix?: import("viem").DataSuffix | undefined;
274
309
  experimental_blockTag?: import("viem").BlockTag | undefined;
275
310
  key: string;
276
311
  name: string;
@@ -322,6 +357,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
322
357
  withdrawalsRoot?: `0x${string}` | undefined;
323
358
  transactions: includeTransactions extends true ? ({
324
359
  type: "legacy";
360
+ value: bigint;
325
361
  yParity?: undefined | undefined;
326
362
  from: Address;
327
363
  gas: bigint;
@@ -333,7 +369,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
333
369
  to: Address | null;
334
370
  typeHex: import("viem").Hex | null;
335
371
  v: bigint;
336
- value: bigint;
337
372
  accessList?: undefined | undefined;
338
373
  authorizationList?: undefined | undefined;
339
374
  blobVersionedHashes?: undefined | undefined;
@@ -347,6 +382,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
347
382
  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;
348
383
  } | {
349
384
  type: "eip2930";
385
+ value: bigint;
350
386
  yParity: number;
351
387
  from: Address;
352
388
  gas: bigint;
@@ -358,7 +394,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
358
394
  to: Address | null;
359
395
  typeHex: import("viem").Hex | null;
360
396
  v: bigint;
361
- value: bigint;
362
397
  accessList: import("viem").AccessList;
363
398
  authorizationList?: undefined | undefined;
364
399
  blobVersionedHashes?: undefined | undefined;
@@ -372,6 +407,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
372
407
  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;
373
408
  } | {
374
409
  type: "eip1559";
410
+ value: bigint;
375
411
  yParity: number;
376
412
  from: Address;
377
413
  gas: bigint;
@@ -383,7 +419,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
383
419
  to: Address | null;
384
420
  typeHex: import("viem").Hex | null;
385
421
  v: bigint;
386
- value: bigint;
387
422
  accessList: import("viem").AccessList;
388
423
  authorizationList?: undefined | undefined;
389
424
  blobVersionedHashes?: undefined | undefined;
@@ -397,6 +432,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
397
432
  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;
398
433
  } | {
399
434
  type: "eip4844";
435
+ value: bigint;
400
436
  yParity: number;
401
437
  from: Address;
402
438
  gas: bigint;
@@ -408,7 +444,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
408
444
  to: Address | null;
409
445
  typeHex: import("viem").Hex | null;
410
446
  v: bigint;
411
- value: bigint;
412
447
  accessList: import("viem").AccessList;
413
448
  authorizationList?: undefined | undefined;
414
449
  blobVersionedHashes: readonly import("viem").Hex[];
@@ -422,6 +457,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
422
457
  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;
423
458
  } | {
424
459
  type: "eip7702";
460
+ value: bigint;
425
461
  yParity: number;
426
462
  from: Address;
427
463
  gas: bigint;
@@ -433,7 +469,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
433
469
  to: Address | null;
434
470
  typeHex: import("viem").Hex | null;
435
471
  v: bigint;
436
- value: bigint;
437
472
  accessList: import("viem").AccessList;
438
473
  authorizationList: import("viem").SignedAuthorizationList;
439
474
  blobVersionedHashes?: undefined | undefined;
@@ -453,7 +488,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
453
488
  getChainId: () => Promise<import("viem").GetChainIdReturnType>;
454
489
  getCode: (args: import("viem").GetBytecodeParameters) => Promise<import("viem").GetBytecodeReturnType>;
455
490
  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>;
457
491
  getEip712Domain: (args: import("viem").GetEip712DomainParameters) => Promise<import("viem").GetEip712DomainReturnType>;
458
492
  getEnsAddress: (args: import("viem").GetEnsAddressParameters) => Promise<import("viem").GetEnsAddressReturnType>;
459
493
  getEnsAvatar: (args: import("viem").GetEnsAvatarParameters) => Promise<import("viem").GetEnsAvatarReturnType>;
@@ -473,6 +507,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
473
507
  getStorageAt: (args: import("viem").GetStorageAtParameters) => Promise<import("viem").GetStorageAtReturnType>;
474
508
  getTransaction: <blockTag extends import("viem").BlockTag = "latest">(args: import("viem").GetTransactionParameters<blockTag>) => Promise<{
475
509
  type: "legacy";
510
+ value: bigint;
476
511
  yParity?: undefined | undefined;
477
512
  from: Address;
478
513
  gas: bigint;
@@ -484,7 +519,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
484
519
  to: Address | null;
485
520
  typeHex: import("viem").Hex | null;
486
521
  v: bigint;
487
- value: bigint;
488
522
  accessList?: undefined | undefined;
489
523
  authorizationList?: undefined | undefined;
490
524
  blobVersionedHashes?: undefined | undefined;
@@ -498,6 +532,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
498
532
  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;
499
533
  } | {
500
534
  type: "eip2930";
535
+ value: bigint;
501
536
  yParity: number;
502
537
  from: Address;
503
538
  gas: bigint;
@@ -509,7 +544,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
509
544
  to: Address | null;
510
545
  typeHex: import("viem").Hex | null;
511
546
  v: bigint;
512
- value: bigint;
513
547
  accessList: import("viem").AccessList;
514
548
  authorizationList?: undefined | undefined;
515
549
  blobVersionedHashes?: undefined | undefined;
@@ -523,6 +557,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
523
557
  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;
524
558
  } | {
525
559
  type: "eip1559";
560
+ value: bigint;
526
561
  yParity: number;
527
562
  from: Address;
528
563
  gas: bigint;
@@ -534,7 +569,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
534
569
  to: Address | null;
535
570
  typeHex: import("viem").Hex | null;
536
571
  v: bigint;
537
- value: bigint;
538
572
  accessList: import("viem").AccessList;
539
573
  authorizationList?: undefined | undefined;
540
574
  blobVersionedHashes?: undefined | undefined;
@@ -548,6 +582,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
548
582
  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;
549
583
  } | {
550
584
  type: "eip4844";
585
+ value: bigint;
551
586
  yParity: number;
552
587
  from: Address;
553
588
  gas: bigint;
@@ -559,7 +594,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
559
594
  to: Address | null;
560
595
  typeHex: import("viem").Hex | null;
561
596
  v: bigint;
562
- value: bigint;
563
597
  accessList: import("viem").AccessList;
564
598
  authorizationList?: undefined | undefined;
565
599
  blobVersionedHashes: readonly import("viem").Hex[];
@@ -573,6 +607,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
573
607
  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;
574
608
  } | {
575
609
  type: "eip7702";
610
+ value: bigint;
576
611
  yParity: number;
577
612
  from: Address;
578
613
  gas: bigint;
@@ -584,7 +619,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
584
619
  to: Address | null;
585
620
  typeHex: import("viem").Hex | null;
586
621
  v: bigint;
587
- value: bigint;
588
622
  accessList: import("viem").AccessList;
589
623
  authorizationList: import("viem").SignedAuthorizationList;
590
624
  blobVersionedHashes?: undefined | undefined;
@@ -3879,7 +3913,6 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
3879
3913
  cacheTime?: undefined;
3880
3914
  ccipRead?: undefined;
3881
3915
  chain?: undefined;
3882
- dataSuffix?: undefined;
3883
3916
  experimental_blockTag?: undefined;
3884
3917
  key?: undefined;
3885
3918
  name?: undefined;
@@ -3888,7 +3921,7 @@ export declare function usePublicClient(chain: Chain, rpcUrl: string): {
3888
3921
  transport?: undefined;
3889
3922
  type?: undefined;
3890
3923
  uid?: 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>>;
3924
+ } & 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>>;
3892
3925
  };
3893
3926
  };
3894
3927
  /**
@@ -3929,7 +3962,6 @@ export declare function useWalletClient(chain: any, rpcUrl?: string): {
3929
3962
  request?: (parameters: import("viem").CcipRequestParameters) => Promise<import("viem/_types/utils/ccip").CcipRequestReturnType>;
3930
3963
  } | undefined;
3931
3964
  chain: Chain | undefined;
3932
- dataSuffix?: import("viem").DataSuffix | undefined;
3933
3965
  experimental_blockTag?: import("viem").BlockTag | undefined;
3934
3966
  key: string;
3935
3967
  name: string;
@@ -8341,7 +8373,6 @@ export declare function useWalletClient(chain: any, rpcUrl?: string): {
8341
8373
  cacheTime?: undefined;
8342
8374
  ccipRead?: undefined;
8343
8375
  chain?: undefined;
8344
- dataSuffix?: undefined;
8345
8376
  experimental_blockTag?: undefined;
8346
8377
  key?: undefined;
8347
8378
  name?: undefined;
@@ -8350,7 +8381,7 @@ export declare function useWalletClient(chain: any, rpcUrl?: string): {
8350
8381
  transport?: undefined;
8351
8382
  type?: undefined;
8352
8383
  uid?: 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>>;
8384
+ } & 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>>;
8354
8385
  };
8355
8386
  };
8356
8387
  /**
@@ -8868,7 +8899,6 @@ export declare function useExternalWalletClient(): {
8868
8899
  request?: (parameters: import("viem").CcipRequestParameters) => Promise<import("viem/_types/utils/ccip").CcipRequestReturnType>;
8869
8900
  } | undefined;
8870
8901
  chain: Chain;
8871
- dataSuffix?: import("viem").DataSuffix | undefined;
8872
8902
  experimental_blockTag?: import("viem").BlockTag | undefined;
8873
8903
  key: string;
8874
8904
  name: string;
@@ -13280,7 +13310,6 @@ export declare function useExternalWalletClient(): {
13280
13310
  cacheTime?: undefined;
13281
13311
  ccipRead?: undefined;
13282
13312
  chain?: undefined;
13283
- dataSuffix?: undefined;
13284
13313
  experimental_blockTag?: undefined;
13285
13314
  key?: undefined;
13286
13315
  name?: undefined;
@@ -13289,7 +13318,7 @@ export declare function useExternalWalletClient(): {
13289
13318
  transport?: undefined;
13290
13319
  type?: undefined;
13291
13320
  uid?: undefined;
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>>;
13321
+ } & 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>>;
13293
13322
  } | null;
13294
13323
  isConnected: boolean;
13295
13324
  isPending: boolean;