@dynamic-labs-sdk/react-hooks 1.22.1 → 1.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core.cjs +1 -1
- package/dist/core.esm.js +1 -1
- package/dist/exports/index.d.ts +2 -0
- package/dist/exports/index.d.ts.map +1 -1
- package/dist/hooks/wrappers/functions/useDelegateWaasKeyShares/useDelegateWaasKeyShares.d.ts +1 -1
- package/dist/hooks/wrappers/functions/useUpdateBusinessAccount/index.d.ts +2 -0
- package/dist/hooks/wrappers/functions/useUpdateBusinessAccount/index.d.ts.map +1 -0
- package/dist/hooks/wrappers/functions/useUpdateBusinessAccount/useUpdateBusinessAccount.d.ts +47 -0
- package/dist/hooks/wrappers/functions/useUpdateBusinessAccount/useUpdateBusinessAccount.d.ts.map +1 -0
- package/dist/hooks/wrappers/functions/useUpdateBusinessAccountMemberRole/index.d.ts +2 -0
- package/dist/hooks/wrappers/functions/useUpdateBusinessAccountMemberRole/index.d.ts.map +1 -0
- package/dist/hooks/wrappers/functions/useUpdateBusinessAccountMemberRole/useUpdateBusinessAccountMemberRole.d.ts +49 -0
- package/dist/hooks/wrappers/functions/useUpdateBusinessAccountMemberRole/useUpdateBusinessAccountMemberRole.d.ts.map +1 -0
- package/dist/hooks/wrappers/functions/useVerifyWalletAccount/useVerifyWalletAccount.d.ts +2 -1
- package/dist/hooks/wrappers/functions/useVerifyWalletAccount/useVerifyWalletAccount.d.ts.map +1 -1
- package/dist/index.cjs +54 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +54 -4
- package/dist/index.esm.js.map +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/{useBaseState-xLhM1z50.cjs → useBaseState-ZEP9mYcn.cjs} +2 -2
- package/dist/{useBaseState-xLhM1z50.cjs.map → useBaseState-ZEP9mYcn.cjs.map} +1 -1
- package/dist/{useBaseState-Cnn7Pekg.esm.js → useBaseState-kCZHFljW.esm.js} +2 -2
- package/dist/{useBaseState-Cnn7Pekg.esm.js.map → useBaseState-kCZHFljW.esm.js.map} +1 -1
- package/package.json +4 -4
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["useBaseMutation","useDynamicClient","useDynamicClient","useBaseQuery","useBaseQuery","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseQuery","useBaseMutation","useBaseMutation","useBaseMutation","useDynamicClient","QUERY_KEY_PREFIX","useBaseMutation","useBaseState","useBaseQuery","useBaseQuery","useBaseMutation","useBaseMutation","useBaseQuery","useBaseQuery","useDynamicClient","useBaseMutation","useBaseMutation","useBaseQuery","useBaseMutation","useBaseMutation","useDynamicClient","useDynamicClient","useBaseQuery","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseQuery","useBaseMutation","useBaseMutation","useDynamicClient","useBaseQuery","useBaseQuery","useBaseQuery","useBaseMutation","useBaseQuery","useBaseQuery","useBaseMutation","useBaseMutation","useBaseQuery","useBaseQuery","useBaseQuery","useBaseQuery","useBaseQuery","useBaseQuery","useBaseQuery","useDynamicClient","useBaseQuery","useBaseMutation","useBaseMutation","useBaseQuery","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseQuery","useBaseQuery","useBaseMutation","useBaseQuery","useBaseQuery","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseState","useBaseMutation","useBaseMutation","useBaseState","useBaseQuery","useBaseQuery","useBaseQuery","useBaseQuery","useBaseState","useBaseState","useBaseState","useBaseState","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseQuery","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseState","useBaseState","useBaseState","packageName","packageVersion"],"sources":["../src/hooks/wrappers/functions/useAcknowledgeRecoveryCodes/useAcknowledgeRecoveryCodes.ts","../src/hooks/wrappers/functions/useOnWalletProviderEvent/useOnWalletProviderEvent.ts","../src/middlewares/invalidateOnWalletProviderEvent/invalidateOnWalletProviderEvent.ts","../src/hooks/wrappers/functions/useGetActiveNetworkData/useGetActiveNetworkData.ts","../src/hooks/wrappers/functions/useGetActiveNetworkId/useGetActiveNetworkId.ts","../src/hooks/wrappers/functions/useAddBusinessAccountMember/useAddBusinessAccountMember.ts","../src/hooks/wrappers/functions/useAddBusinessAccountSigner/useAddBusinessAccountSigner.ts","../src/hooks/wrappers/functions/useAddNetwork/useAddNetwork.ts","../src/hooks/wrappers/functions/useAddWalletToBusinessAccount/useAddWalletToBusinessAccount.ts","../src/hooks/wrappers/functions/useAssertWalletAccountSigningAvailability/useAssertWalletAccountSigningAvailability.ts","../src/hooks/wrappers/functions/useAttachFlowSource/useAttachFlowSource.ts","../src/hooks/wrappers/functions/useAuthenticateMfaRecoveryCode/useAuthenticateMfaRecoveryCode.ts","../src/hooks/wrappers/functions/useAuthenticatePasskeyMFA/useAuthenticatePasskeyMFA.ts","../src/middlewares/invalidatesQueries/invalidatesQueries.ts","../src/hooks/wrappers/functions/useAuthenticateTotpMfaDevice/useAuthenticateTotpMfaDevice.ts","../src/hooks/wrappers/functions/useGetAvailableWalletProvidersData/useGetAvailableWalletProvidersData.ts","../src/hooks/wrappers/functions/useGetBalanceForAddress/useGetBalanceForAddress.ts","../src/hooks/wrappers/functions/useGetBusinessAccount/useGetBusinessAccount.ts","../src/hooks/wrappers/functions/useBroadcastFlow/useBroadcastFlow.ts","../src/hooks/wrappers/functions/useCancelFlow/useCancelFlow.ts","../src/hooks/wrappers/functions/useCheckStepUpAuth/useCheckStepUpAuth.ts","../src/hooks/wrappers/functions/useGetCoinbaseBuyUrl/useGetCoinbaseBuyUrl.ts","../src/hooks/wrappers/functions/useAddCoinbaseOnrampOrderEventListener/useAddCoinbaseOnrampOrderEventListener.ts","../src/hooks/wrappers/functions/useCompleteDeviceRegistration/useCompleteDeviceRegistration.ts","../src/hooks/wrappers/functions/useCompleteSocialRedirect/useCompleteSocialRedirect.ts","../src/hooks/wrappers/functions/useDetectSocialRedirectUrl/useDetectSocialRedirectUrl.ts","../src/hooks/wrappers/functions/useConfirmTransaction/useConfirmTransaction.ts","../src/hooks/wrappers/functions/useConnectAndVerifyWithWalletProvider/useConnectAndVerifyWithWalletProvider.ts","../src/hooks/wrappers/functions/useOnEvent/useOnEvent.ts","../src/middlewares/invalidateOnEvent/invalidateOnEvent.ts","../src/hooks/wrappers/functions/useGetConnectedAddresses/useGetConnectedAddresses.ts","../src/hooks/wrappers/functions/useConnectWithWalletProvider/useConnectWithWalletProvider.ts","../src/hooks/wrappers/functions/useCreateBusinessAccount/useCreateBusinessAccount.ts","../src/hooks/wrappers/functions/useCreateCoinbaseOnrampOrder/useCreateCoinbaseOnrampOrder.ts","../src/hooks/wrappers/functions/useCreateCryptoDotComPayment/useCreateCryptoDotComPayment.ts","../src/hooks/wrappers/functions/useCreateNewMfaRecoveryCodes/useCreateNewMfaRecoveryCodes.ts","../src/hooks/wrappers/functions/useDeleteMfaDevice/useDeleteMfaDevice.ts","../src/hooks/wrappers/functions/useDeletePasskey/useDeletePasskey.ts","../src/hooks/wrappers/functions/useDeleteUser/useDeleteUser.ts","../src/hooks/wrappers/functions/useExecuteSwapTransaction/useExecuteSwapTransaction.ts","../src/hooks/wrappers/functions/useGetFlow/useGetFlow.ts","../src/hooks/wrappers/functions/useGetFlowQuote/useGetFlowQuote.ts","../src/hooks/wrappers/functions/usePrepareFlowSigning/usePrepareFlowSigning.ts","../src/middlewares/invalidateOnUserSwitch/invalidateOnUserSwitch.ts","../src/hooks/wrappers/functions/useGetGoogleDriveBackupReadiness/useGetGoogleDriveBackupReadiness.ts","../src/hooks/wrappers/functions/useIsMfaRequiredForAction/useIsMfaRequiredForAction.ts","../src/hooks/wrappers/functions/useGetKrakenAccounts/useGetKrakenAccounts.ts","../src/hooks/wrappers/functions/useCreateKrakenExchangeTransfer/useCreateKrakenExchangeTransfer.ts","../src/hooks/wrappers/functions/useGetKrakenWhitelistedAddresses/useGetKrakenWhitelistedAddresses.ts","../src/hooks/wrappers/functions/useListBusinessAccounts/useListBusinessAccounts.ts","../src/hooks/wrappers/functions/useLogout/useLogout.ts","../src/hooks/wrappers/functions/useMergeUserAccounts/useMergeUserAccounts.ts","../src/hooks/wrappers/functions/useGetMfaDevices/useGetMfaDevices.ts","../src/hooks/wrappers/functions/useGetMfaMethods/useGetMfaMethods.ts","../src/hooks/wrappers/functions/useGetMfaRecoveryCodes/useGetMfaRecoveryCodes.ts","../src/hooks/wrappers/functions/useGetMoonPayCurrencies/useGetMoonPayCurrencies.ts","../src/hooks/wrappers/functions/useGetMoonPayUrl/useGetMoonPayUrl.ts","../src/hooks/wrappers/functions/useGetMultichainTokenBalances/useGetMultichainTokenBalances.ts","../src/hooks/wrappers/functions/useGetNativeBalance/useGetNativeBalance.ts","../src/hooks/wrappers/functions/useOnceEvent/useOnceEvent.ts","../src/hooks/wrappers/functions/useGetPasskeys/useGetPasskeys.ts","../src/hooks/wrappers/functions/useProveWalletAccountOwnership/useProveWalletAccountOwnership.ts","../src/hooks/wrappers/functions/useRefreshAuth/useRefreshAuth.ts","../src/hooks/wrappers/functions/useGetRegisteredDevices/useGetRegisteredDevices.ts","../src/hooks/wrappers/functions/useRegisterPasskey/useRegisterPasskey.ts","../src/hooks/wrappers/functions/useRegisterTotpMfaDevice/useRegisterTotpMfaDevice.ts","../src/hooks/wrappers/functions/useRemoveBusinessAccountMember/useRemoveBusinessAccountMember.ts","../src/hooks/wrappers/functions/useRemoveBusinessAccountSigner/useRemoveBusinessAccountSigner.ts","../src/hooks/wrappers/functions/useRemoveWalletAccount/useRemoveWalletAccount.ts","../src/hooks/wrappers/functions/useRequestExternalAuthElevatedToken/useRequestExternalAuthElevatedToken.ts","../src/hooks/wrappers/functions/useRevokeAllRegisteredDevices/useRevokeAllRegisteredDevices.ts","../src/hooks/wrappers/functions/useRevokeRegisteredDevice/useRevokeRegisteredDevice.ts","../src/hooks/wrappers/functions/useSendEmailOTP/useSendEmailOTP.ts","../src/hooks/wrappers/functions/useSendSmsOTP/useSendSmsOTP.ts","../src/hooks/wrappers/functions/useSetDefaultMfaDevice/useSetDefaultMfaDevice.ts","../src/hooks/wrappers/functions/useSignInWithExternalJwt/useSignInWithExternalJwt.ts","../src/hooks/wrappers/functions/useSignInWithPasskey/useSignInWithPasskey.ts","../src/hooks/wrappers/functions/useSignInWithSocialPopUp/useSignInWithSocialPopUp.ts","../src/hooks/wrappers/functions/useSignInWithSocialRedirect/useSignInWithSocialRedirect.ts","../src/hooks/wrappers/functions/useSignMessage/useSignMessage.ts","../src/hooks/wrappers/functions/useSubmitFlowTransaction/useSubmitFlowTransaction.ts","../src/hooks/wrappers/functions/useGetSwapQuote/useGetSwapQuote.ts","../src/hooks/wrappers/functions/useGetSwapStatus/useGetSwapStatus.ts","../src/hooks/wrappers/functions/useSwitchActiveNetwork/useSwitchActiveNetwork.ts","../src/hooks/wrappers/functions/useGetTokenBalances/useGetTokenBalances.ts","../src/hooks/wrappers/functions/useGetTransactionHistory/useGetTransactionHistory.ts","../src/hooks/wrappers/functions/useTransferAmount/useTransferAmount.ts","../src/hooks/wrappers/functions/useTransferBusinessAccountOwnership/useTransferBusinessAccountOwnership.ts","../src/hooks/wrappers/functions/useTransferWalletAccount/useTransferWalletAccount.ts","../src/hooks/wrappers/functions/useUnlinkSocialAccount/useUnlinkSocialAccount.ts","../src/hooks/wrappers/functions/useUpdateUser/useUpdateUser.ts","../src/hooks/wrappers/functions/useGetUserSocialAccounts/useGetUserSocialAccounts.ts","../src/hooks/wrappers/functions/useVerifyOTP/useVerifyOTP.ts","../src/hooks/wrappers/functions/useVerifyWalletAccount/useVerifyWalletAccount.ts","../src/hooks/wrappers/functions/useGetWalletAccounts/useGetWalletAccounts.ts","../src/hooks/wrappers/functions/useGetWalletConnectCatalog/useGetWalletConnectCatalog.ts","../src/hooks/wrappers/functions/useGetWalletConnectCatalogWalletByWalletProviderKey/useGetWalletConnectCatalogWalletByWalletProviderKey.ts","../src/hooks/wrappers/functions/useGetWalletOptionsCatalogue/useGetWalletOptionsCatalogue.ts","../src/hooks/wrappers/functions/useGetWalletProviderDataByKey/useGetWalletProviderDataByKey.ts","../src/hooks/wrappers/functions/useIsDeviceRegistrationRequired/useIsDeviceRegistrationRequired.ts","../src/hooks/wrappers/functions/useIsUserMissingMfaAuth/useIsUserMissingMfaAuth.ts","../src/hooks/wrappers/functions/useIsPendingRecoveryCodesAcknowledgment/useIsPendingRecoveryCodesAcknowledgment.ts","../src/hooks/wrappers/functions/useIsUserOnboardingComplete/useIsUserOnboardingComplete.ts","../src/hooks/wrappers/functions/useBackupWaasKeySharesToGoogleDrive/useBackupWaasKeySharesToGoogleDrive.ts","../src/hooks/wrappers/functions/useCreateWaasWalletAccounts/useCreateWaasWalletAccounts.ts","../src/hooks/wrappers/functions/useCreateWalletForBusinessAccount/useCreateWalletForBusinessAccount.ts","../src/hooks/wrappers/functions/useDelegateWaasKeyShares/useDelegateWaasKeyShares.ts","../src/hooks/wrappers/functions/useExportWaasClientKeyshares/useExportWaasClientKeyshares.ts","../src/hooks/wrappers/functions/useExportWaasPrivateKey/useExportWaasPrivateKey.ts","../src/hooks/wrappers/functions/useGetWalletRecoveryState/useGetWalletRecoveryState.ts","../src/hooks/wrappers/functions/useImportWaasPrivateKey/useImportWaasPrivateKey.ts","../src/hooks/wrappers/functions/useMigrateFromFireblocks/useMigrateFromFireblocks.ts","../src/hooks/wrappers/functions/useRefreshWaasWalletAccountShares/useRefreshWaasWalletAccountShares.ts","../src/hooks/wrappers/functions/useRevokeWaasDelegation/useRevokeWaasDelegation.ts","../src/hooks/wrappers/functions/useSetWaasWalletAccountPassword/useSetWaasWalletAccountPassword.ts","../src/hooks/wrappers/functions/useUnlockWallet/useUnlockWallet.ts","../src/hooks/wrappers/functions/useUpdateWaasPassword/useUpdateWaasPassword.ts","../src/hooks/wrappers/state/useInitStatus/useInitStatus.ts","../src/hooks/wrappers/state/useSessionExpiresAt/useSessionExpiresAt.ts","../src/hooks/wrappers/state/useUser/useUser.ts","../src/exports/index.ts"],"sourcesContent":["import { acknowledgeRecoveryCodes } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype AcknowledgeRecoveryCodesResult = Awaited<\n ReturnType<typeof acknowledgeRecoveryCodes>\n>;\n\nexport type UseAcknowledgeRecoveryCodesParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n AcknowledgeRecoveryCodesResult,\n void\n >['mutateParams'];\n};\n\n/**\n * Marks the current user's MFA recovery codes as acknowledged. Takes no arguments — call `mutate()` after the user confirms they have stored the codes shown by {@link useGetMfaRecoveryCodes}.\n *\n * @example\n * ```tsx\n * const { mutate: acknowledge, isPending } = useAcknowledgeRecoveryCodes();\n * <button onClick={() => acknowledge()} disabled={isPending}>\n * I've saved my recovery codes\n * </button>\n * ```\n */\nexport const useAcknowledgeRecoveryCodes = ({\n mutateParams,\n}: UseAcknowledgeRecoveryCodesParams = {}) =>\n useBaseMutation<AcknowledgeRecoveryCodesResult, void>({\n mutateParams,\n mutationFn: ({ client }) => acknowledgeRecoveryCodes(client),\n });\n","import {\n type OnWalletProviderEventParams,\n type WalletProviderEvents,\n onWalletProviderEvent,\n} from '@dynamic-labs-sdk/client';\nimport { getCore } from '@dynamic-labs-sdk/client/core';\nimport { useEffect, useRef } from 'react';\n\nimport { useDynamicClient } from '../../../../modules/DynamicContext';\n\n/**\n * Params for `useOnWalletProviderEvent`.\n *\n * Widens the client's `OnWalletProviderEventParams` so `walletProviderKey` may\n * be `undefined`: callers that derive the key from an optional wallet account\n * (e.g. a query middleware) can call the hook unconditionally and have it\n * no-op until a provider is known.\n */\nexport type UseOnWalletProviderEventParams<\n E extends Extract<keyof WalletProviderEvents, string>\n> = Omit<OnWalletProviderEventParams<E>, 'walletProviderKey'> & {\n walletProviderKey: string | undefined;\n};\n\n/**\n * Subscribes to an event emitted by a specific wallet provider.\n *\n * Wraps `onWalletProviderEvent` from `@dynamic-labs-sdk/client`. Uses a ref to\n * always call the latest callback without re-subscribing, and cleans up the\n * subscription on unmount or when `event` / `walletProviderKey` change. When\n * `walletProviderKey` is `undefined` the hook subscribes to nothing. When the\n * provider cannot be subscribed to (not registered on this client, or it does\n * not expose `events`), the hook logs and subscribes to nothing rather than\n * throwing — an effect throw would unmount the entire app.\n *\n * @example\n * ```tsx\n * useOnWalletProviderEvent({\n * walletProviderKey: 'metamaskevm',\n * event: 'accountsChanged',\n * callback: ({ addresses }) => console.log(addresses),\n * });\n * ```\n */\nexport const useOnWalletProviderEvent = <\n E extends Extract<keyof WalletProviderEvents, string>\n>({\n callback,\n event,\n walletProviderKey,\n}: UseOnWalletProviderEventParams<E>) => {\n const client = useDynamicClient();\n const callbackRef = useRef(callback);\n\n callbackRef.current = callback;\n\n useEffect(() => {\n if (walletProviderKey === undefined) {\n return;\n }\n\n // Subscribing can throw when the provider is not registered on this client\n // (e.g. a wallet account created on another surface whose chain extension\n // is not installed here) or when the provider does not expose `events`.\n // A throw inside an effect unmounts the whole React tree — a hard crash in\n // release builds — so an unsubscribable provider must degrade to \"never\n // notifies\" instead of propagating.\n try {\n return onWalletProviderEvent(\n {\n callback: ((...args: any[]) => {\n // @ts-expect-error - Ignore the type error because we are using the ref\n callbackRef.current(...args);\n }) as WalletProviderEvents[E],\n event,\n walletProviderKey,\n },\n client\n );\n } catch (error) {\n getCore(client).logger.debug(\n '[useOnWalletProviderEvent] failed to subscribe to wallet provider event',\n { error, event, walletProviderKey }\n );\n\n return undefined;\n }\n }, [event, walletProviderKey, client]);\n};\n","import type {\n WalletAccount,\n WalletProviderEvents,\n} from '@dynamic-labs-sdk/client';\nimport { getCore } from '@dynamic-labs-sdk/client/core';\nimport { useQueryClient } from '@tanstack/react-query';\n\nimport type { QueryMiddleware } from '../../foundation/useBaseQuery';\nimport { useOnWalletProviderEvent } from '../../hooks/wrappers/functions/useOnWalletProviderEvent';\nimport { useDynamicClient } from '../../modules/DynamicContext';\n\nexport type InvalidateOnWalletProviderEventParams<\n E extends Extract<keyof WalletProviderEvents, string>\n> = {\n /**\n * The wallet provider event to listen for (e.g. `'networkChanged'`).\n */\n event: E;\n /**\n * The wallet account whose provider emits the event. When `undefined` the\n * subscription is a no-op, so hooks can pass an optional account directly.\n */\n walletAccount: WalletAccount | undefined;\n};\n\n/**\n * Query middleware factory that refetches the query whenever the given wallet\n * account's provider emits `event` (e.g. `networkChanged`).\n *\n * It only wires up the subscription, invalidating the query's own cache key so\n * any mounted consumer refetches. This replaces the manual\n * `useOnWalletProviderEvent` + `refetch` boilerplate consumers would otherwise\n * pair with the hook. When `walletAccount` is undefined the subscription is a\n * no-op. The subscription lives here, not in `useBaseQuery`.\n *\n * @example\n * ```ts\n * useBaseQuery({\n * middlewares: [\n * invalidateOnWalletProviderEvent({ event: 'networkChanged', walletAccount }),\n * ],\n * queryFn: (client) => getActiveNetworkData({ walletAccount }, client),\n * queryKey: ['useGetActiveNetworkData', walletAccount],\n * });\n * ```\n */\nexport const invalidateOnWalletProviderEvent =\n <E extends Extract<keyof WalletProviderEvents, string>>({\n event,\n walletAccount,\n }: InvalidateOnWalletProviderEventParams<E>): QueryMiddleware =>\n (context) => {\n const client = useDynamicClient();\n const queryClient = useQueryClient();\n\n useOnWalletProviderEvent({\n callback: () => {\n // `useBaseQuery` always supplies the query's own key; the context is\n // only optional so middlewares invoked directly in tests can omit it,\n // so bail rather than invalidate an unknown key when it is absent.\n if (!context) {\n return;\n }\n\n queryClient\n .invalidateQueries({ queryKey: context.queryKey })\n .catch((error: unknown) => {\n // Swallow the rejection, but log it so internal devs can\n // troubleshoot a query that fails to refetch on the event.\n getCore(client).logger.debug(\n '[invalidateOnWalletProviderEvent] failed to invalidate query',\n {\n error,\n queryKey: context.queryKey,\n stack: error instanceof Error ? error.stack : undefined,\n }\n );\n });\n },\n event,\n walletProviderKey: walletAccount?.walletProviderKey,\n });\n };\n","import { getActiveNetworkData } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnWalletProviderEvent } from '../../../../middlewares/invalidateOnWalletProviderEvent';\n\ntype GetActiveNetworkDataResult = Awaited<\n ReturnType<typeof getActiveNetworkData>\n>;\ntype GetActiveNetworkDataArgs = Parameters<typeof getActiveNetworkData>[0];\n\nexport type UseGetActiveNetworkDataParams = GetActiveNetworkDataArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetActiveNetworkDataResult>['queryParams'];\n};\n\n/**\n * Wraps `getActiveNetworkData` from `@dynamic-labs-sdk/client`. Returns the network the given wallet account is currently on.\n *\n * @example\n * ```tsx\n * const { data: network, isLoading } = useGetActiveNetworkData({ walletAccount });\n * ```\n */\nexport const useGetActiveNetworkData = ({\n queryParams,\n ...args\n}: UseGetActiveNetworkDataParams) =>\n useBaseQuery<GetActiveNetworkDataResult>({\n middlewares: [\n invalidateOnWalletProviderEvent({\n event: 'networkChanged',\n walletAccount: args.walletAccount,\n }),\n ],\n queryFn: (client) => getActiveNetworkData(args, client),\n queryKey: ['useGetActiveNetworkData', args],\n queryParams,\n });\n","import { getActiveNetworkId } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnWalletProviderEvent } from '../../../../middlewares/invalidateOnWalletProviderEvent';\n\ntype ActiveNetworkIdResult = Awaited<ReturnType<typeof getActiveNetworkId>>;\ntype ActiveNetworkIdArgs = Parameters<typeof getActiveNetworkId>[0];\n\nexport type UseGetActiveNetworkIdParams = ActiveNetworkIdArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<ActiveNetworkIdResult>['queryParams'];\n};\n\n/**\n * Returns the active network id for the given wallet account.\n *\n * Wraps `getActiveNetworkId` from `@dynamic-labs-sdk/client`.\n */\nexport const useGetActiveNetworkId = ({ queryParams, ...args }: UseGetActiveNetworkIdParams) =>\n useBaseQuery<ActiveNetworkIdResult>({\n middlewares: [\n invalidateOnWalletProviderEvent({\n event: 'networkChanged',\n walletAccount: args.walletAccount,\n }),\n ],\n queryFn: (client) => getActiveNetworkId(args, client),\n queryKey: ['useGetActiveNetworkId', args],\n queryParams,\n });\n","import { addBusinessAccountMember } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype AddBusinessAccountMemberVariables = Parameters<\n typeof addBusinessAccountMember\n>[0];\ntype AddBusinessAccountMemberResult = Awaited<\n ReturnType<typeof addBusinessAccountMember>\n>;\n\n/**\n * Parameters for {@link useAddBusinessAccountMember}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseAddBusinessAccountMemberParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useAddBusinessAccountMember\n * @see addBusinessAccountMember\n */\nexport type UseAddBusinessAccountMemberParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<\n UseBaseMutationParams<\n AddBusinessAccountMemberResult,\n AddBusinessAccountMemberVariables\n >['mutateParams']\n >;\n};\n\n/**\n * Wraps `addBusinessAccountMember` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * add a member to an existing business account.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useAddBusinessAccountMember();\n * <button onClick={() => mutate({ businessAccountId, identifier: 'user@acme.com' })} disabled={isPending}>\n * Add member\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `addBusinessAccountMember` and whose `data` is its resolved value.\n * @see addBusinessAccountMember\n * @see UseAddBusinessAccountMemberParams\n */\nexport const useAddBusinessAccountMember = ({\n mutateParams,\n}: UseAddBusinessAccountMemberParams = {}) =>\n useBaseMutation<\n AddBusinessAccountMemberResult,\n AddBusinessAccountMemberVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n addBusinessAccountMember(variables, client),\n });\n","import { addBusinessAccountSigner } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype AddBusinessAccountSignerVariables = Parameters<\n typeof addBusinessAccountSigner\n>[0];\ntype AddBusinessAccountSignerResult = Awaited<\n ReturnType<typeof addBusinessAccountSigner>\n>;\n\n/**\n * Parameters for {@link useAddBusinessAccountSigner}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseAddBusinessAccountSignerParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useAddBusinessAccountSigner\n * @see addBusinessAccountSigner\n */\nexport type UseAddBusinessAccountSignerParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<\n UseBaseMutationParams<\n AddBusinessAccountSignerResult,\n AddBusinessAccountSignerVariables\n >['mutateParams']\n >;\n};\n\n/**\n * Wraps `addBusinessAccountSigner` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * add a signer to a business-account wallet via the reshare ceremony.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useAddBusinessAccountSigner();\n * <button onClick={() => mutate({ targetSignerIdentity, walletAccount })} disabled={isPending}>\n * Add signer\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `addBusinessAccountSigner` and whose `data` is its resolved value.\n * @see addBusinessAccountSigner\n * @see UseAddBusinessAccountSignerParams\n */\nexport const useAddBusinessAccountSigner = ({\n mutateParams,\n}: UseAddBusinessAccountSignerParams = {}) =>\n useBaseMutation<\n AddBusinessAccountSignerResult,\n AddBusinessAccountSignerVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n addBusinessAccountSigner(variables, client),\n });\n","import { addNetwork } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype AddNetworkVariables = Parameters<typeof addNetwork>[0];\ntype AddNetworkResult = Awaited<ReturnType<typeof addNetwork>>;\n\nexport type UseAddNetworkParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n AddNetworkResult,\n AddNetworkVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `addNetwork` from `@dynamic-labs-sdk/client`. Call `mutate({ networkData, walletAccount })` to register a custom network on the given wallet account.\n *\n * @example\n * ```tsx\n * const { mutate: addNetwork, isPending } = useAddNetwork();\n * <button\n * onClick={() => addNetwork({ networkData, walletAccount })}\n * disabled={isPending}\n * >\n * Add network\n * </button>\n * ```\n */\nexport const useAddNetwork = ({ mutateParams }: UseAddNetworkParams = {}) =>\n useBaseMutation<AddNetworkResult, AddNetworkVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => addNetwork(variables, client),\n });\n","import { addWalletToBusinessAccount } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype AddWalletToBusinessAccountVariables = Parameters<\n typeof addWalletToBusinessAccount\n>[0];\ntype AddWalletToBusinessAccountResult = Awaited<\n ReturnType<typeof addWalletToBusinessAccount>\n>;\n\n/**\n * Parameters for {@link useAddWalletToBusinessAccount}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseAddWalletToBusinessAccountParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useAddWalletToBusinessAccount\n * @see addWalletToBusinessAccount\n */\nexport type UseAddWalletToBusinessAccountParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<\n UseBaseMutationParams<\n AddWalletToBusinessAccountResult,\n AddWalletToBusinessAccountVariables\n >['mutateParams']\n >;\n};\n\n/**\n * Wraps `addWalletToBusinessAccount` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * link an existing wallet to a business account.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useAddWalletToBusinessAccount();\n * <button onClick={() => mutate({ businessAccountId, walletId })} disabled={isPending}>\n * Link wallet\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `addWalletToBusinessAccount` and whose `data` is its resolved value.\n * @see addWalletToBusinessAccount\n * @see UseAddWalletToBusinessAccountParams\n */\nexport const useAddWalletToBusinessAccount = ({\n mutateParams,\n}: UseAddWalletToBusinessAccountParams = {}) =>\n useBaseMutation<\n AddWalletToBusinessAccountResult,\n AddWalletToBusinessAccountVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n addWalletToBusinessAccount(variables, client),\n });\n","import { assertWalletAccountSigningAvailability } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype AssertWalletAccountSigningAvailabilityResult = Awaited<ReturnType<typeof assertWalletAccountSigningAvailability>>;\ntype AssertWalletAccountSigningAvailabilityArgs = Parameters<typeof assertWalletAccountSigningAvailability>[0];\n\nexport type UseAssertWalletAccountSigningAvailabilityParams = AssertWalletAccountSigningAvailabilityArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<AssertWalletAccountSigningAvailabilityResult>['queryParams'];\n};\n\n/**\n * Resolves when the given wallet account can sign, and errors otherwise.\n *\n * Wraps `assertWalletAccountSigningAvailability` from `@dynamic-labs-sdk/client`.\n */\nexport const useAssertWalletAccountSigningAvailability = ({ queryParams, ...args }: UseAssertWalletAccountSigningAvailabilityParams) =>\n useBaseQuery<AssertWalletAccountSigningAvailabilityResult>({\n queryFn: (client) => assertWalletAccountSigningAvailability(args, client),\n queryKey: ['useAssertWalletAccountSigningAvailability', args],\n queryParams,\n });\n","import { attachFlowSource } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype AttachFlowSourceVariables = Parameters<typeof attachFlowSource>[0];\ntype AttachFlowSourceResult = Awaited<ReturnType<typeof attachFlowSource>>;\n\nexport type UseAttachFlowSourceParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n AttachFlowSourceResult,\n AttachFlowSourceVariables\n >['mutateParams'];\n};\n\n/**\n * Attaches a payment source to a flow.\n *\n * Wraps `attachFlowSource` from `@dynamic-labs-sdk/client`. Call `mutate({ flowId, sourceType, fromAddress, fromChainId, fromChainName })`\n * to attach a payment source to a flow; the resolved `data` is an object containing\n * the flow and the session token.\n *\n * @example\n * ```tsx\n * const { mutate: attachFlowSource, isPending } = useAttachFlowSource();\n * <button onClick={() => attachFlowSource({ flowId, sourceType, fromAddress, fromChainId, fromChainName })} disabled={isPending}>\n * Attach flow source\n * </button>\n * ```\n */\nexport const useAttachFlowSource = ({\n mutateParams,\n}: UseAttachFlowSourceParams = {}) =>\n useBaseMutation<AttachFlowSourceResult, AttachFlowSourceVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => attachFlowSource(variables, client),\n });\n","import { authenticateMfaRecoveryCode } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype AuthenticateMfaRecoveryCodeVariables = Parameters<\n typeof authenticateMfaRecoveryCode\n>[0];\ntype AuthenticateMfaRecoveryCodeResult = Awaited<\n ReturnType<typeof authenticateMfaRecoveryCode>\n>;\n\nexport type UseAuthenticateMfaRecoveryCodeParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n AuthenticateMfaRecoveryCodeResult,\n AuthenticateMfaRecoveryCodeVariables\n >['mutateParams'];\n};\n\n/**\n * Authenticates the current user with one of their MFA recovery codes.\n *\n * Wraps `authenticateMfaRecoveryCode` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ code })` with a backup recovery code when no registered MFA\n * method is available; the resolved `data` is the MFA authentication\n * response.\n *\n * @example\n * ```tsx\n * const { mutate: authenticateRecoveryCode, isPending } =\n * useAuthenticateMfaRecoveryCode();\n * <button\n * onClick={() => authenticateRecoveryCode({ code })}\n * disabled={isPending}\n * >\n * Use recovery code\n * </button>\n * ```\n */\nexport const useAuthenticateMfaRecoveryCode = ({\n mutateParams,\n}: UseAuthenticateMfaRecoveryCodeParams = {}) =>\n useBaseMutation<\n AuthenticateMfaRecoveryCodeResult,\n AuthenticateMfaRecoveryCodeVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n authenticateMfaRecoveryCode(variables, client),\n });\n","import { authenticatePasskeyMFA } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype AuthenticatePasskeyMFAVariables = Parameters<\n typeof authenticatePasskeyMFA\n>[0];\ntype AuthenticatePasskeyMFAResult = Awaited<\n ReturnType<typeof authenticatePasskeyMFA>\n>;\n\nexport type UseAuthenticatePasskeyMFAParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n AuthenticatePasskeyMFAResult,\n AuthenticatePasskeyMFAVariables\n >['mutateParams'];\n};\n\n/**\n * Completes an MFA challenge using the current user's passkey.\n *\n * Wraps `authenticatePasskeyMFA` from `@dynamic-labs-sdk/client`. Call\n * `mutate()` to satisfy an MFA step-up with a passkey; the resolved `data`\n * is the MFA verification response.\n *\n * @example\n * ```tsx\n * const { mutate: authenticatePasskeyMFA, isPending } =\n * useAuthenticatePasskeyMFA();\n * <button onClick={() => authenticatePasskeyMFA()} disabled={isPending}>\n * Verify with passkey\n * </button>\n * ```\n */\nexport const useAuthenticatePasskeyMFA = ({\n mutateParams,\n}: UseAuthenticatePasskeyMFAParams = {}) =>\n useBaseMutation<\n AuthenticatePasskeyMFAResult,\n AuthenticatePasskeyMFAVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n authenticatePasskeyMFA(variables, client),\n });\n","import { getCore } from '@dynamic-labs-sdk/client/core';\nimport { useQueryClient } from '@tanstack/react-query';\n\nimport type { MutationMiddleware } from '../../foundation/useBaseMutation';\nimport { QUERY_KEY_PREFIX } from '../../foundation/useBaseQuery/queryKeyPrefix';\nimport { useDynamicClient } from '../../modules/DynamicContext/useDynamicClient';\n\n/**\n * Mutation middleware factory that invalidates one or more query hooks when\n * the mutation succeeds, so any mounted consumer of those queries refetches.\n *\n * Pass the query hooks' names (their `queryKey` leaf, e.g. `'useGetMfaDevices'`);\n * each is namespaced under `QUERY_KEY_PREFIX` to match the keys `useBaseQuery`\n * creates. The invalidation loop lives here, not in `useBaseMutation`.\n *\n * @example\n * ```ts\n * useBaseMutation({\n * middlewares: [invalidatesQueries('useGetMfaDevices')],\n * mutationFn: ({ client, variables }) => deleteMfaDevice(variables, client),\n * });\n * ```\n */\nexport const invalidatesQueries =\n (...queryKeys: ReadonlyArray<string>): MutationMiddleware =>\n () => {\n const queryClient = useQueryClient();\n\n const client = useDynamicClient();\n\n /**\n * Swallows an `invalidateQueries` rejection so a failed refetch never\n * surfaces as an unhandled rejection nor rejects the combined invalidation\n * promise, while still logging it at debug level so internal devs can see\n * which query failed to refetch. Curried over the query key and extracted\n * to a named handler so the invalidation map stays within the\n * function-nesting limit.\n */\n const debugInvalidationFailure =\n (queryKey: ReadonlyArray<string>) =>\n (error: unknown): undefined => {\n getCore(client).logger.debug(\n '[invalidatesQueries] failed to invalidate query',\n { error, queryKey, stack: error instanceof Error ? error.stack : undefined }\n );\n\n return undefined;\n };\n\n return {\n // Return the invalidation promise so `useBaseMutation` can await it,\n // keeping the refetch ordered before the consumer's own `onSuccess`.\n onSuccess: () =>\n Promise.all(\n queryKeys.map((key) => {\n const queryKey = [...QUERY_KEY_PREFIX, key];\n\n return queryClient\n .invalidateQueries({ queryKey })\n .catch(debugInvalidationFailure(queryKey));\n })\n ),\n };\n };\n","import { authenticateTotpMfaDevice } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\nimport { invalidatesQueries } from '../../../../middlewares/invalidatesQueries';\n\ntype AuthenticateTotpMfaDeviceVariables = Parameters<\n typeof authenticateTotpMfaDevice\n>[0];\ntype AuthenticateTotpMfaDeviceResult = Awaited<\n ReturnType<typeof authenticateTotpMfaDevice>\n>;\n\nexport type UseAuthenticateTotpMfaDeviceParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n AuthenticateTotpMfaDeviceResult,\n AuthenticateTotpMfaDeviceVariables\n >['mutateParams'];\n};\n\n/**\n * Authenticates the current user with a TOTP code from an authenticator app.\n *\n * Wraps `authenticateTotpMfaDevice` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ code })` with the 6-digit code; the resolved `data` is the MFA\n * authentication response.\n *\n * @example\n * ```tsx\n * const { mutate: authenticateTotp, isPending } = useAuthenticateTotpMfaDevice();\n * <button onClick={() => authenticateTotp({ code })} disabled={isPending}>\n * Verify code\n * </button>\n * ```\n */\nexport const useAuthenticateTotpMfaDevice = ({\n mutateParams,\n}: UseAuthenticateTotpMfaDeviceParams = {}) => {\n return useBaseMutation<\n AuthenticateTotpMfaDeviceResult,\n AuthenticateTotpMfaDeviceVariables\n >({\n middlewares: [invalidatesQueries('useGetMfaDevices')],\n mutateParams,\n mutationFn: ({ client, variables }) =>\n authenticateTotpMfaDevice(variables, client),\n });\n};\n","import { getAvailableWalletProvidersData } from '@dynamic-labs-sdk/client';\n\nimport { useBaseState } from '../../../../foundation/useBaseState';\n\n/**\n * Returns the available wallet providers and their data.\n *\n * Re-renders when the wallet provider registry changes. `walletProviderChanged`\n * fires on register / priority update but NOT on removal, so\n * `walletProviderUnregistered` is wired too — otherwise a removed provider\n * would linger in the returned list.\n */\nexport const useGetAvailableWalletProvidersData = () =>\n useBaseState({\n defaultValue: [],\n event: { walletProviderChanged: true, walletProviderUnregistered: true },\n queryKey: ['useGetAvailableWalletProvidersData'],\n selector: (client) => getAvailableWalletProvidersData(client),\n });\n","import { getBalanceForAddress } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetBalanceForAddressResult = Awaited<\n ReturnType<typeof getBalanceForAddress>\n>;\ntype GetBalanceForAddressArgs = Parameters<typeof getBalanceForAddress>[0];\n\nexport type UseGetBalanceForAddressParams = GetBalanceForAddressArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetBalanceForAddressResult>['queryParams'];\n};\n\n/**\n * Wraps `getBalanceForAddress` from `@dynamic-labs-sdk/client`. Returns the native-token balance for an arbitrary address on the given chain/network.\n *\n * @example\n * ```tsx\n * const { data, isLoading } = useGetBalanceForAddress({ address, chain, networkId });\n * ```\n */\nexport const useGetBalanceForAddress = ({\n queryParams,\n ...args\n}: UseGetBalanceForAddressParams) =>\n useBaseQuery<GetBalanceForAddressResult>({\n queryFn: (client) => getBalanceForAddress(args, client),\n queryKey: ['useGetBalanceForAddress', args],\n queryParams,\n });\n","import { getBusinessAccount } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetBusinessAccountResult = Awaited<ReturnType<typeof getBusinessAccount>>;\ntype GetBusinessAccountArgs = Parameters<typeof getBusinessAccount>[0];\n\n/**\n * Parameters for {@link useGetBusinessAccount}: the `getBusinessAccount` args plus an optional\n * override of the underlying react-query options.\n *\n * @example\n * ```tsx\n * const params: UseGetBusinessAccountParams = { businessAccountId };\n * ```\n * @see useGetBusinessAccount\n * @see getBusinessAccount\n */\nexport type UseGetBusinessAccountParams = GetBusinessAccountArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: NonNullable<\n UseBaseQueryParams<GetBusinessAccountResult>['queryParams']\n >;\n};\n\n/**\n * Wraps `getBusinessAccount` from `@dynamic-labs-sdk/client/waas`. Retrieves a business account by\n * ID, including its members, signers, and wallets.\n *\n * @example\n * ```tsx\n * const { data: businessAccount, isLoading } = useGetBusinessAccount({ businessAccountId });\n * ```\n *\n * @returns A react-query result whose `data` is the business account detail resolved by `getBusinessAccount`.\n * @see getBusinessAccount\n * @see UseGetBusinessAccountParams\n */\nexport const useGetBusinessAccount = ({\n queryParams,\n ...args\n}: UseGetBusinessAccountParams) =>\n useBaseQuery<GetBusinessAccountResult>({\n queryFn: (client) => getBusinessAccount(args, client),\n queryKey: ['useGetBusinessAccount', args],\n queryParams,\n });\n","import { broadcastFlow } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype BroadcastFlowVariables = Parameters<typeof broadcastFlow>[0];\ntype BroadcastFlowResult = Awaited<ReturnType<typeof broadcastFlow>>;\n\nexport type UseBroadcastFlowParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n BroadcastFlowResult,\n BroadcastFlowVariables\n >['mutateParams'];\n};\n\n/**\n * Records that a flow transaction has been broadcasted.\n *\n * Wraps `broadcastFlow` from `@dynamic-labs-sdk/client`. Call `mutate({ flowId, txHash })`\n * to record the broadcast. For wallet sources pass the on-chain `txHash`; for exchange\n * sources `txHash` can be omitted.\n *\n * @example\n * ```tsx\n * const { mutate: broadcastFlow, isPending } = useBroadcastFlow();\n * <button onClick={() => broadcastFlow({ flowId, txHash })} disabled={isPending}>\n * Broadcast flow\n * </button>\n * ```\n */\nexport const useBroadcastFlow = ({ mutateParams }: UseBroadcastFlowParams = {}) =>\n useBaseMutation<BroadcastFlowResult, BroadcastFlowVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => broadcastFlow(variables, client),\n });\n","import { cancelFlow } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype CancelFlowVariables = Parameters<typeof cancelFlow>[0];\ntype CancelFlowResult = Awaited<ReturnType<typeof cancelFlow>>;\n\nexport type UseCancelFlowParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n CancelFlowResult,\n CancelFlowVariables\n >['mutateParams'];\n};\n\n/**\n * Cancels a flow before it has been broadcasted.\n *\n * Wraps `cancelFlow` from `@dynamic-labs-sdk/client`. Call `mutate({ flowId })`\n * to cancel a flow.\n *\n * @example\n * ```tsx\n * const { mutate: cancelFlow, isPending } = useCancelFlow();\n * <button onClick={() => cancelFlow({ flowId })} disabled={isPending}>\n * Cancel flow\n * </button>\n * ```\n */\nexport const useCancelFlow = ({ mutateParams }: UseCancelFlowParams = {}) =>\n useBaseMutation<CancelFlowResult, CancelFlowVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => cancelFlow(variables, client),\n });\n","import { checkStepUpAuth } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype CheckStepUpAuthResult = Awaited<ReturnType<typeof checkStepUpAuth>>;\ntype CheckStepUpAuthArgs = Parameters<typeof checkStepUpAuth>[0];\n\nexport type UseCheckStepUpAuthParams = CheckStepUpAuthArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<CheckStepUpAuthResult>['queryParams'];\n};\n\n/**\n * Checks whether step-up authentication is required for a given scope and\n * returns the credentials available to satisfy it.\n *\n * Wraps `checkStepUpAuth` from `@dynamic-labs-sdk/client`. Use the returned\n * `isRequired` to decide whether to show a step-up UI before a sensitive\n * action (e.g. exporting a wallet).\n *\n * @example\n * ```tsx\n * const { data } = useCheckStepUpAuth({ scope: TokenScope.Walletexport });\n * if (data?.isRequired) {\n * // render step-up UI using data.credentials\n * }\n * ```\n */\nexport const useCheckStepUpAuth = ({\n queryParams,\n ...args\n}: UseCheckStepUpAuthParams) =>\n useBaseQuery<CheckStepUpAuthResult>({\n queryFn: (client) => checkStepUpAuth(args, client),\n queryKey: ['useCheckStepUpAuth', args],\n queryParams,\n });\n","import { getCoinbaseBuyUrl } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetCoinbaseBuyUrlResult = Awaited<ReturnType<typeof getCoinbaseBuyUrl>>;\ntype GetCoinbaseBuyUrlArgs = Parameters<typeof getCoinbaseBuyUrl>[0];\n\nexport type UseGetCoinbaseBuyUrlParams = GetCoinbaseBuyUrlArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetCoinbaseBuyUrlResult>['queryParams'];\n};\n\n/**\n * Wraps `getCoinbaseBuyUrl` from `@dynamic-labs-sdk/client`. Returns a Coinbase onramp buy URL for the given parameters.\n *\n * @example\n * ```tsx\n * const { data: buyUrl, isLoading } = useGetCoinbaseBuyUrl(buyUrlParams);\n * ```\n */\nexport const useGetCoinbaseBuyUrl = ({\n queryParams,\n ...args\n}: UseGetCoinbaseBuyUrlParams) =>\n useBaseQuery<GetCoinbaseBuyUrlResult>({\n queryFn: (client) => getCoinbaseBuyUrl(args, client),\n queryKey: ['useGetCoinbaseBuyUrl', args],\n queryParams,\n });\n","import { addCoinbaseOnrampOrderEventListener } from '@dynamic-labs-sdk/client';\nimport { useEffect, useRef } from 'react';\n\nimport { useDynamicClient } from '../../../../modules/DynamicContext';\n\ntype AddCoinbaseOnrampOrderEventListenerParams = Parameters<\n typeof addCoinbaseOnrampOrderEventListener\n>[0];\n\ntype CoinbaseOnrampOrderListener =\n AddCoinbaseOnrampOrderEventListenerParams['listener'];\n\nexport type UseAddCoinbaseOnrampOrderEventListenerParams = {\n /**\n * Called for each Coinbase onramp order event received via `postMessage`.\n */\n listener: CoinbaseOnrampOrderListener;\n};\n\n/**\n * Subscribes to Coinbase onramp order events for the duration of the component.\n *\n * Wraps `addCoinbaseOnrampOrderEventListener` from `@dynamic-labs-sdk/client`.\n * Uses a ref to always call the latest listener without re-subscribing, and\n * removes the listener on unmount.\n *\n * @example\n * ```tsx\n * useAddCoinbaseOnrampOrderEventListener({\n * listener: ({ eventName, data }) => console.log(eventName, data),\n * });\n * ```\n */\nexport const useAddCoinbaseOnrampOrderEventListener = ({\n listener,\n}: UseAddCoinbaseOnrampOrderEventListenerParams) => {\n const client = useDynamicClient();\n const callbackRef = useRef(listener);\n\n callbackRef.current = listener;\n\n useEffect(\n () =>\n addCoinbaseOnrampOrderEventListener(\n {\n listener: (...args: Parameters<CoinbaseOnrampOrderListener>) => {\n callbackRef.current(...args);\n },\n },\n client\n ),\n [client]\n );\n};\n","import { completeDeviceRegistration } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\nimport { invalidatesQueries } from '../../../../middlewares/invalidatesQueries';\n\ntype CompleteDeviceRegistrationVariables = Parameters<\n typeof completeDeviceRegistration\n>[0];\ntype CompleteDeviceRegistrationResult = Awaited<\n ReturnType<typeof completeDeviceRegistration>\n>;\n\nexport type UseCompleteDeviceRegistrationParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n CompleteDeviceRegistrationResult,\n CompleteDeviceRegistrationVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `completeDeviceRegistration` from `@dynamic-labs-sdk/client`. Call `mutate({ deviceToken })` with the device token parsed from the redirect URL; the resolved `data` is a `VerifyResponse`.\n *\n * @example\n * ```tsx\n * const { mutate: completeRegistration, isPending } =\n * useCompleteDeviceRegistration();\n * completeRegistration({ deviceToken });\n * ```\n */\nexport const useCompleteDeviceRegistration = ({\n mutateParams,\n}: UseCompleteDeviceRegistrationParams = {}) =>\n useBaseMutation<\n CompleteDeviceRegistrationResult,\n CompleteDeviceRegistrationVariables\n >({\n middlewares: [invalidatesQueries('useGetRegisteredDevices')],\n mutateParams,\n mutationFn: ({ client, variables }) =>\n completeDeviceRegistration(variables, client),\n });\n","import { completeSocialRedirect } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype CompleteSocialRedirectVariables = Parameters<\n typeof completeSocialRedirect\n>[0];\ntype CompleteSocialRedirectResult = Awaited<\n ReturnType<typeof completeSocialRedirect>\n>;\n\nexport type UseCompleteSocialRedirectParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n CompleteSocialRedirectResult,\n CompleteSocialRedirectVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `completeSocialRedirect` from `@dynamic-labs-sdk/client`. Call `mutate(params)` with the OAuth callback URL once the provider has redirected back to finish the sign-in; the resolved `data` is the signed-in `User` (or `null`).\n *\n * @example\n * ```tsx\n * const { mutate: completeSocialRedirect, data: user } =\n * useCompleteSocialRedirect();\n * completeSocialRedirect({ url: new URL(window.location.href) });\n * ```\n */\nexport const useCompleteSocialRedirect = ({\n mutateParams,\n}: UseCompleteSocialRedirectParams = {}) =>\n useBaseMutation<\n CompleteSocialRedirectResult,\n CompleteSocialRedirectVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n completeSocialRedirect(variables, client),\n });\n","import { detectSocialRedirectUrl } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype DetectSocialRedirectUrlResult = Awaited<\n ReturnType<typeof detectSocialRedirectUrl>\n>;\ntype DetectSocialRedirectUrlArgs = Parameters<typeof detectSocialRedirectUrl>[0];\n\n/**\n * Parameters for {@link useDetectSocialRedirectUrl} — the arguments of\n * `detectSocialRedirectUrl` plus an optional react-query options override.\n *\n * @example\n * ```tsx\n * const params: UseDetectSocialRedirectUrlParams = { url };\n * ```\n *\n * @see {@link useDetectSocialRedirectUrl} the hook these parameters configure.\n * @see {@link useCompleteSocialRedirect} the mutation you fire once detection\n * returns `true`.\n */\nexport type UseDetectSocialRedirectUrlParams = DetectSocialRedirectUrlArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: NonNullable<\n UseBaseQueryParams<DetectSocialRedirectUrlResult>['queryParams']\n >;\n};\n\n/**\n * Wraps `detectSocialRedirectUrl` from `@dynamic-labs-sdk/client`. Resolves to\n * `true` when the given URL is an OAuth redirect back from a social provider\n * (started by `signInWithSocialRedirect`), so you can decide whether to run\n * `completeSocialRedirect`.\n *\n * @param params - See {@link UseDetectSocialRedirectUrlParams}.\n * @returns A react-query result whose `data` is `true` when the URL is a social\n * OAuth callback, plus the usual `isLoading`/`error` fields.\n *\n * @example\n * ```tsx\n * const { data: isReturningFromProvider, isLoading } =\n * useDetectSocialRedirectUrl({ url });\n * ```\n *\n * @see {@link useCompleteSocialRedirect} to finish the redirect sign-in once\n * this returns `true`.\n * @see {@link clearSocialRedirectParams} to clean the OAuth parameters from the\n * URL after completion.\n */\nexport const useDetectSocialRedirectUrl = ({\n queryParams,\n ...args\n}: UseDetectSocialRedirectUrlParams) =>\n useBaseQuery<DetectSocialRedirectUrlResult>({\n queryFn: (client) => detectSocialRedirectUrl(args, client),\n queryKey: ['useDetectSocialRedirectUrl', { url: args.url.href }],\n queryParams,\n });\n","import { confirmTransaction } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype ConfirmTransactionVariables = Parameters<typeof confirmTransaction>[0];\ntype ConfirmTransactionResult = Awaited<ReturnType<typeof confirmTransaction>>;\n\nexport type UseConfirmTransactionParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n ConfirmTransactionResult,\n ConfirmTransactionVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `confirmTransaction` from `@dynamic-labs-sdk/client`. Call `mutate({ walletAccount, transactionHash })` to await confirmation of a submitted transaction; the resolved `data` is `void`.\n *\n * @example\n * ```tsx\n * const { mutate: confirmTransaction, isPending } = useConfirmTransaction();\n * confirmTransaction({ walletAccount, transactionHash });\n * ```\n */\nexport const useConfirmTransaction = ({\n mutateParams,\n}: UseConfirmTransactionParams = {}) =>\n useBaseMutation<ConfirmTransactionResult, ConfirmTransactionVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n confirmTransaction(variables, client),\n });\n","import { connectAndVerifyWithWalletProvider } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype ConnectAndVerifyWithWalletProviderVariables = Parameters<\n typeof connectAndVerifyWithWalletProvider\n>[0];\ntype ConnectAndVerifyWithWalletProviderResult = Awaited<\n ReturnType<typeof connectAndVerifyWithWalletProvider>\n>;\n\nexport type UseConnectAndVerifyWithWalletProviderParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n ConnectAndVerifyWithWalletProviderResult,\n ConnectAndVerifyWithWalletProviderVariables\n >['mutateParams'];\n};\n\n/**\n * Connects to a wallet provider and verifies ownership in a single step.\n *\n * Wraps `connectAndVerifyWithWalletProvider` from `@dynamic-labs-sdk/client`.\n * Call `mutate({ walletProviderKey })` to connect and prompt the user to sign\n * a verification message, adding the verified account to their profile.\n *\n * Throws `DeeplinkConnectAndVerifyUnsupportedError` on mobile with deeplink\n * wallet providers — there, use `useConnectWithWalletProvider` followed by\n * `useVerifyWalletAccount` from a fresh user gesture instead.\n *\n * @example\n * ```tsx\n * const { mutate: connectAndVerify, isPending } =\n * useConnectAndVerifyWithWalletProvider();\n * <button\n * onClick={() => connectAndVerify({ walletProviderKey: 'metamaskevm' })}\n * disabled={isPending}\n * >\n * Connect & verify\n * </button>\n * ```\n */\nexport const useConnectAndVerifyWithWalletProvider = ({\n mutateParams,\n}: UseConnectAndVerifyWithWalletProviderParams = {}) =>\n useBaseMutation<\n ConnectAndVerifyWithWalletProviderResult,\n ConnectAndVerifyWithWalletProviderVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n connectAndVerifyWithWalletProvider(variables, client),\n });\n","import { type OnEventParams, onEvent } from '@dynamic-labs-sdk/client';\nimport { useEffect, useRef } from 'react';\n\nimport { useDynamicClient } from '../../../../modules/DynamicContext';\n\n/**\n * Subscribes to a Dynamic client event.\n *\n * Uses a ref to always call the latest listener without re-subscribing,\n * and cleans up the subscription on unmount or event name change.\n */\nexport const useOnEvent = <E extends keyof DynamicEvents>({\n event,\n listener,\n}: OnEventParams<E>) => {\n const client = useDynamicClient();\n const callbackRef = useRef(listener);\n\n callbackRef.current = listener;\n\n useEffect(\n () =>\n onEvent(\n {\n event,\n listener: (...args: any[]) => {\n // @ts-expect-error - Ignore the type error because we are using the ref\n callbackRef.current(...args);\n },\n },\n client\n ),\n [event, client]\n );\n};\n","import { getCore } from '@dynamic-labs-sdk/client/core';\nimport { useQueryClient } from '@tanstack/react-query';\n\nimport type { QueryMiddleware } from '../../foundation/useBaseQuery';\nimport { useOnEvent } from '../../hooks/wrappers/functions/useOnEvent';\nimport { useDynamicClient } from '../../modules/DynamicContext';\n\nexport type InvalidateOnEventParams<E extends keyof DynamicEvents> = {\n /**\n * The client event to listen for (e.g. `'walletAccountsChanged'`).\n */\n event: E;\n};\n\n/**\n * Query middleware factory that refetches the query whenever the given client\n * event fires (e.g. `walletAccountsChanged`).\n *\n * It only wires up the subscription, invalidating the query's own cache key so\n * any mounted consumer refetches. This replaces the manual `useOnEvent` +\n * `refetch` boilerplate consumers would otherwise pair with the hook. It is the\n * client-event counterpart to `invalidateOnWalletProviderEvent` (which listens\n * on a single wallet account's provider). The subscription lives here, not in\n * `useBaseQuery`.\n *\n * @example\n * ```ts\n * useBaseQuery({\n * middlewares: [invalidateOnEvent({ event: 'walletAccountsChanged' })],\n * queryFn: (client) => getConnectedAddresses(args, client),\n * queryKey: ['useGetConnectedAddresses', args],\n * });\n * ```\n */\nexport const invalidateOnEvent =\n <E extends keyof DynamicEvents>({\n event,\n }: InvalidateOnEventParams<E>): QueryMiddleware =>\n (context) => {\n const queryClient = useQueryClient();\n const client = useDynamicClient();\n\n useOnEvent({\n event,\n // The listener ignores the event payload; it only triggers a refetch.\n listener: (() => {\n // `useBaseQuery` always supplies the query's own key; the context is\n // only optional so middlewares invoked directly in tests can omit it,\n // so bail rather than invalidate an unknown key when it is absent.\n if (!context) {\n return;\n }\n\n // Debug log so developers can observe which query an event invalidates.\n getCore(client).logger.debug(\n '[invalidateOnEvent] invalidating query on event',\n { event, queryKey: context.queryKey }\n );\n\n queryClient\n .invalidateQueries({ queryKey: context.queryKey })\n .catch((error: unknown) => {\n // Swallow the rejection, but log it so internal devs can\n // troubleshoot a query that fails to refetch on the event.\n getCore(client).logger.debug(\n '[invalidateOnEvent] failed to invalidate query',\n {\n error,\n queryKey: context.queryKey,\n stack: error instanceof Error ? error.stack : undefined,\n }\n );\n });\n }) as DynamicEvents[E],\n });\n };\n","import { getConnectedAddresses } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnEvent } from '../../../../middlewares/invalidateOnEvent';\n\ntype ConnectedAddressesResult = Awaited<ReturnType<typeof getConnectedAddresses>>;\ntype ConnectedAddressesArgs = Parameters<typeof getConnectedAddresses>[0];\n\nexport type UseGetConnectedAddressesParams = ConnectedAddressesArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<ConnectedAddressesResult>['queryParams'];\n};\n\n/**\n * Returns the connected addresses for the given wallet provider.\n *\n * Wraps `getConnectedAddresses` from `@dynamic-labs-sdk/client`. Automatically\n * refetches when wallet accounts change (connect / disconnect / verify), so\n * consumers don't have to pair it with a manual `walletAccountsChanged`\n * listener.\n */\nexport const useGetConnectedAddresses = ({ queryParams, ...args }: UseGetConnectedAddressesParams) =>\n useBaseQuery<ConnectedAddressesResult>({\n middlewares: [invalidateOnEvent({ event: 'walletAccountsChanged' })],\n queryFn: (client) => getConnectedAddresses(args, client),\n queryKey: ['useGetConnectedAddresses', args],\n queryParams,\n });\n","import { connectWithWalletProvider } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype ConnectWithWalletProviderVariables = Parameters<\n typeof connectWithWalletProvider\n>[0];\ntype ConnectWithWalletProviderResult = Awaited<\n ReturnType<typeof connectWithWalletProvider>\n>;\n\nexport type UseConnectWithWalletProviderParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n ConnectWithWalletProviderResult,\n ConnectWithWalletProviderVariables\n >['mutateParams'];\n};\n\n/**\n * Connects to a wallet provider and returns the connected wallet account.\n *\n * Wraps `connectWithWalletProvider` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ walletProviderKey })` to trigger the connection — the wallet\n * provider will prompt the user via its native UI. The connected account is\n * not verified; pair with `useVerifyWalletAccount`, or use\n * `useConnectAndVerifyWithWalletProvider` to do both in one step.\n *\n * @example\n * ```tsx\n * const { mutate: connect, data, isPending } = useConnectWithWalletProvider();\n * <button\n * onClick={() => connect({ walletProviderKey: 'metamaskevm' })}\n * disabled={isPending}\n * >\n * Connect\n * </button>\n * ```\n */\nexport const useConnectWithWalletProvider = ({\n mutateParams,\n}: UseConnectWithWalletProviderParams = {}) =>\n useBaseMutation<\n ConnectWithWalletProviderResult,\n ConnectWithWalletProviderVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n connectWithWalletProvider(variables, client),\n });\n","import { createBusinessAccount } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype CreateBusinessAccountVariables = Parameters<\n typeof createBusinessAccount\n>[0];\ntype CreateBusinessAccountResult = Awaited<\n ReturnType<typeof createBusinessAccount>\n>;\n\n/**\n * Parameters for {@link useCreateBusinessAccount}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseCreateBusinessAccountParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useCreateBusinessAccount\n * @see createBusinessAccount\n */\nexport type UseCreateBusinessAccountParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<\n UseBaseMutationParams<\n CreateBusinessAccountResult,\n CreateBusinessAccountVariables\n >['mutateParams']\n >;\n};\n\n/**\n * Wraps `createBusinessAccount` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * create a new business account.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useCreateBusinessAccount();\n * <button onClick={() => mutate({ name: 'Acme' })} disabled={isPending}>\n * Create\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `createBusinessAccount` and whose `data` is its resolved value.\n * @see createBusinessAccount\n * @see UseCreateBusinessAccountParams\n */\nexport const useCreateBusinessAccount = ({\n mutateParams,\n}: UseCreateBusinessAccountParams = {}) =>\n useBaseMutation<CreateBusinessAccountResult, CreateBusinessAccountVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n createBusinessAccount(variables, client),\n });\n","import { createCoinbaseOnrampOrder } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype CreateCoinbaseOnrampOrderVariables = Parameters<\n typeof createCoinbaseOnrampOrder\n>[0];\ntype CreateCoinbaseOnrampOrderResult = Awaited<\n ReturnType<typeof createCoinbaseOnrampOrder>\n>;\n\nexport type UseCreateCoinbaseOnrampOrderParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n CreateCoinbaseOnrampOrderResult,\n CreateCoinbaseOnrampOrderVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `createCoinbaseOnrampOrder` from `@dynamic-labs-sdk/client`. Call `mutate(orderParams)` to create a Coinbase onramp order; the resolved `data` is the order response.\n *\n * @example\n * ```tsx\n * const { mutate: createOrder, data: order } = useCreateCoinbaseOnrampOrder();\n * createOrder(orderParams);\n * ```\n */\nexport const useCreateCoinbaseOnrampOrder = ({\n mutateParams,\n}: UseCreateCoinbaseOnrampOrderParams = {}) =>\n useBaseMutation<\n CreateCoinbaseOnrampOrderResult,\n CreateCoinbaseOnrampOrderVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n createCoinbaseOnrampOrder(variables, client),\n });\n","import { createCryptoDotComPayment } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype CreateCryptoDotComPaymentVariables = Parameters<\n typeof createCryptoDotComPayment\n>[0];\ntype CreateCryptoDotComPaymentResult = Awaited<\n ReturnType<typeof createCryptoDotComPayment>\n>;\n\nexport type UseCreateCryptoDotComPaymentParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n CreateCryptoDotComPaymentResult,\n CreateCryptoDotComPaymentVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `createCryptoDotComPayment` from `@dynamic-labs-sdk/client`. Call `mutate(paymentParams)` to create a Crypto.com Pay payment; the resolved `data` is the payment response.\n *\n * @example\n * ```tsx\n * const { mutate: createPayment, data: payment } =\n * useCreateCryptoDotComPayment();\n * createPayment(paymentParams);\n * ```\n */\nexport const useCreateCryptoDotComPayment = ({\n mutateParams,\n}: UseCreateCryptoDotComPaymentParams = {}) =>\n useBaseMutation<\n CreateCryptoDotComPaymentResult,\n CreateCryptoDotComPaymentVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n createCryptoDotComPayment(variables, client),\n });\n","import { createNewMfaRecoveryCodes } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype CreateNewMfaRecoveryCodesResult = Awaited<\n ReturnType<typeof createNewMfaRecoveryCodes>\n>;\n\nexport type UseCreateNewMfaRecoveryCodesParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n CreateNewMfaRecoveryCodesResult,\n void\n >['mutateParams'];\n};\n\n/**\n * Regenerates the current user's MFA recovery codes.\n *\n * Wraps `createNewMfaRecoveryCodes` from `@dynamic-labs-sdk/client`. Takes\n * no arguments — call `mutate()` to issue a fresh set of codes (invalidating\n * the previous set); the resolved `data` is the new recovery codes.\n *\n * @example\n * ```tsx\n * const { mutate: regenerateCodes, data, isPending } =\n * useCreateNewMfaRecoveryCodes();\n * <button onClick={() => regenerateCodes()} disabled={isPending}>\n * Regenerate recovery codes\n * </button>\n * ```\n */\nexport const useCreateNewMfaRecoveryCodes = ({\n mutateParams,\n}: UseCreateNewMfaRecoveryCodesParams = {}) =>\n useBaseMutation<CreateNewMfaRecoveryCodesResult, void>({\n mutateParams,\n mutationFn: ({ client }) => createNewMfaRecoveryCodes(client),\n });\n","import { deleteMfaDevice } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\nimport { invalidatesQueries } from '../../../../middlewares/invalidatesQueries';\n\ntype DeleteMfaDeviceVariables = Parameters<typeof deleteMfaDevice>[0];\ntype DeleteMfaDeviceResult = Awaited<ReturnType<typeof deleteMfaDevice>>;\n\nexport type UseDeleteMfaDeviceParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n DeleteMfaDeviceResult,\n DeleteMfaDeviceVariables\n >['mutateParams'];\n};\n\n/**\n * Deletes one of the current user's MFA devices.\n *\n * Wraps `deleteMfaDevice` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ deviceId })` to remove the device; when no elevated access\n * token is available, also pass `mfaAuthToken`.\n *\n * @example\n * ```tsx\n * const { mutate: deleteDevice, isPending } = useDeleteMfaDevice();\n * <button onClick={() => deleteDevice({ deviceId })} disabled={isPending}>\n * Remove device\n * </button>\n * ```\n */\nexport const useDeleteMfaDevice = ({\n mutateParams,\n}: UseDeleteMfaDeviceParams = {}) => {\n return useBaseMutation<DeleteMfaDeviceResult, DeleteMfaDeviceVariables>({\n middlewares: [invalidatesQueries('useGetMfaDevices')],\n mutateParams,\n mutationFn: ({ client, variables }) => deleteMfaDevice(variables, client),\n });\n};\n","import { deletePasskey } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\nimport { invalidatesQueries } from '../../../../middlewares/invalidatesQueries';\n\ntype DeletePasskeyVariables = Parameters<typeof deletePasskey>[0];\ntype DeletePasskeyResult = Awaited<ReturnType<typeof deletePasskey>>;\n\nexport type UseDeletePasskeyParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n DeletePasskeyResult,\n DeletePasskeyVariables\n >['mutateParams'];\n};\n\n/**\n * Deletes one of the current user's passkeys.\n *\n * Wraps `deletePasskey` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ passkeyId })` to remove the passkey; the resolved `data` is\n * `void`.\n *\n * @example\n * ```tsx\n * const { mutate: deletePasskey, isPending } = useDeletePasskey();\n * <button onClick={() => deletePasskey({ passkeyId })} disabled={isPending}>\n * Remove passkey\n * </button>\n * ```\n */\nexport const useDeletePasskey = ({\n mutateParams,\n}: UseDeletePasskeyParams = {}) =>\n useBaseMutation<DeletePasskeyResult, DeletePasskeyVariables>({\n middlewares: [invalidatesQueries('useGetPasskeys')],\n mutateParams,\n mutationFn: ({ client, variables }) => deletePasskey(variables, client),\n });\n","import { deleteUser } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype DeleteUserResult = Awaited<ReturnType<typeof deleteUser>>;\n\nexport type UseDeleteUserParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n DeleteUserResult,\n void\n >['mutateParams'];\n};\n\n/**\n * Permanently deletes the current user's account and logs them out.\n *\n * Wraps `deleteUser` from `@dynamic-labs-sdk/client`. Takes no arguments —\n * call `mutate()` to hard-delete the account; the resolved `data` is `void`.\n * This is destructive and irreversible.\n *\n * @example\n * ```tsx\n * const { mutate: deleteUser, isPending } = useDeleteUser();\n * <button onClick={() => deleteUser()} disabled={isPending}>\n * Delete my account\n * </button>\n * ```\n */\nexport const useDeleteUser = ({ mutateParams }: UseDeleteUserParams = {}) =>\n useBaseMutation<DeleteUserResult, void>({\n mutateParams,\n mutationFn: ({ client }) => deleteUser(client),\n });\n","import { executeSwapTransaction } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype ExecuteSwapTransactionVariables = Parameters<\n typeof executeSwapTransaction\n>[0];\ntype ExecuteSwapTransactionResult = Awaited<\n ReturnType<typeof executeSwapTransaction>\n>;\n\nexport type UseExecuteSwapTransactionParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n ExecuteSwapTransactionResult,\n ExecuteSwapTransactionVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `executeSwapTransaction` from `@dynamic-labs-sdk/client`. Call `mutate({ walletAccount, signingPayload })` (using a payload from {@link useGetSwapQuote}) to execute a swap; the resolved `data` is `{ transactionHash }`.\n *\n * @example\n * ```tsx\n * const { mutate: executeSwap, data } = useExecuteSwapTransaction();\n * executeSwap({ walletAccount, signingPayload });\n * ```\n */\nexport const useExecuteSwapTransaction = ({\n mutateParams,\n}: UseExecuteSwapTransactionParams = {}) =>\n useBaseMutation<\n ExecuteSwapTransactionResult,\n ExecuteSwapTransactionVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n executeSwapTransaction(variables, client),\n });\n","import { getFlow } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetFlowResult = Awaited<ReturnType<typeof getFlow>>;\n\nexport type UseGetFlowParams = {\n /**\n * **Pseudo-required.** The ID of the flow to fetch.\n * Accepting `undefined` lets callers wire this up before the flow id\n * has loaded — the hook stays disabled until a real value is supplied.\n */\n flowId: string | undefined;\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetFlowResult>['queryParams'];\n};\n\n/**\n * Returns the flow with the given ID.\n *\n * Wraps `getFlow` from `@dynamic-labs-sdk/client`. The hook stays disabled\n * until `flowId` is defined.\n *\n * @example\n * ```tsx\n * const { data: flow, isLoading, refetch } = useGetFlow({ flowId });\n * ```\n */\nexport const useGetFlow = ({ flowId, queryParams }: UseGetFlowParams) =>\n useBaseQuery<GetFlowResult>({\n enabled: flowId !== undefined,\n queryFn: (client) => getFlow({ flowId: flowId as string }, client),\n queryKey: ['useGetFlow', flowId],\n queryParams,\n });\n","import { getFlowQuote } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype GetFlowQuoteVariables = Parameters<typeof getFlowQuote>[0];\ntype GetFlowQuoteResult = Awaited<ReturnType<typeof getFlowQuote>>;\n\nexport type UseGetFlowQuoteParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n GetFlowQuoteResult,\n GetFlowQuoteVariables\n >['mutateParams'];\n};\n\n/**\n * Fetches a quote for a flow.\n *\n * Wraps `getFlowQuote` from `@dynamic-labs-sdk/client`. Call `mutate({ flowId, fromTokenAddress, slippage })`\n * to fetch a quote for a flow.\n *\n * @example\n * ```tsx\n * const { mutate: getFlowQuote, isPending } = useGetFlowQuote();\n * <button onClick={() => getFlowQuote({ flowId, fromTokenAddress, slippage })} disabled={isPending}>\n * Get flow quote\n * </button>\n * ```\n */\nexport const useGetFlowQuote = ({ mutateParams }: UseGetFlowQuoteParams = {}) =>\n useBaseMutation<GetFlowQuoteResult, GetFlowQuoteVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => getFlowQuote(variables, client),\n });\n","import { prepareFlowSigning } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype PrepareFlowSigningVariables = Parameters<typeof prepareFlowSigning>[0];\ntype PrepareFlowSigningResult = Awaited<ReturnType<typeof prepareFlowSigning>>;\n\nexport type UsePrepareFlowSigningParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n PrepareFlowSigningResult,\n PrepareFlowSigningVariables\n >['mutateParams'];\n};\n\n/**\n * Prepares a flow transaction for signing.\n *\n * Wraps `prepareFlowSigning` from `@dynamic-labs-sdk/client`. Call `mutate({ flowId })`\n * to prepare a flow for signing.\n *\n * @example\n * ```tsx\n * const { mutate: prepareFlowSigning, isPending } = usePrepareFlowSigning();\n * <button onClick={() => prepareFlowSigning({ flowId })} disabled={isPending}>\n * Prepare flow signing\n * </button>\n * ```\n */\nexport const usePrepareFlowSigning = ({\n mutateParams,\n}: UsePrepareFlowSigningParams = {}) =>\n useBaseMutation<PrepareFlowSigningResult, PrepareFlowSigningVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n prepareFlowSigning(variables, client),\n });\n","import type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport { getCore } from '@dynamic-labs-sdk/client/core';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { useRef } from 'react';\n\nimport type { QueryMiddleware } from '../../foundation/useBaseQuery';\nimport { useOnEvent } from '../../hooks/wrappers/functions/useOnEvent';\nimport { useDynamicClient } from '../../modules/DynamicContext';\n\nconst USER_CHANGED_EVENT = 'userChanged';\n\n/**\n * Query middleware factory that refetches the query when a *different* user\n * becomes the current user (login or account switch).\n *\n * Unlike `invalidateOnEvent({ event: 'userChanged' })`, this never invalidates\n * on:\n * - logout (the user becomes `undefined`) — the refetch would just 401 and the\n * cleared session leaves nothing to refetch; and\n * - same-user `userChanged` fires (e.g. linking a credential or a profile\n * update) — the data still belongs to the same user, whose own mutations\n * already invalidate it within the session.\n *\n * It tracks the previous user id across renders (seeded from the user present\n * at mount) and only invalidates when the new id is defined and differs.\n *\n * @example\n * ```ts\n * useBaseQuery({\n * middlewares: [invalidateOnUserSwitch()],\n * queryFn: (client) => getMfaDevices(client),\n * queryKey: ['useGetMfaDevices'],\n * });\n * ```\n */\nexport const invalidateOnUserSwitch =\n (): QueryMiddleware =>\n (context) => {\n const client = useDynamicClient();\n const queryClient = useQueryClient();\n\n // Seed with the user at mount so the first same-user fire (e.g. a profile\n // update right after mount) doesn't spuriously invalidate.\n const previousUserIdRef = useRef<string | undefined>(client.user?.id);\n\n useOnEvent({\n event: USER_CHANGED_EVENT,\n listener: ((args: { user: DynamicClient['user'] }) => {\n const nextUserId = args.user?.id;\n const previousUserId = previousUserIdRef.current;\n previousUserIdRef.current = nextUserId;\n\n // Only a switch to a different, defined user warrants a refetch:\n // logout (-> undefined) would just 401, and same-user fires don't\n // change user-scoped data (their own mutations handle that).\n if (nextUserId === undefined || nextUserId === previousUserId) {\n return;\n }\n\n // `useBaseQuery` always supplies the query's own key; the context is\n // only optional so middlewares invoked directly in tests can omit it,\n // so bail rather than invalidate an unknown key when it is absent.\n if (!context) {\n return;\n }\n\n getCore(client).logger.debug(\n '[invalidateOnUserSwitch] invalidating query on new user',\n { queryKey: context.queryKey }\n );\n\n queryClient\n .invalidateQueries({ queryKey: context.queryKey })\n .catch((error: unknown) => {\n // Swallow the rejection, but log it so internal devs can\n // troubleshoot a query that fails to refetch on the new user.\n getCore(client).logger.debug(\n '[invalidateOnUserSwitch] failed to invalidate query',\n {\n error,\n queryKey: context.queryKey,\n stack: error instanceof Error ? error.stack : undefined,\n }\n );\n });\n }) as DynamicEvents[typeof USER_CHANGED_EVENT],\n });\n };\n","import { getGoogleDriveBackupReadiness } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnUserSwitch } from '../../../../middlewares/invalidateOnUserSwitch';\n\ntype GetGoogleDriveBackupReadinessResult = Awaited<\n ReturnType<typeof getGoogleDriveBackupReadiness>\n>;\n\nexport type UseGetGoogleDriveBackupReadinessParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetGoogleDriveBackupReadinessResult>['queryParams'];\n};\n\n/**\n * Wraps `getGoogleDriveBackupReadiness` from `@dynamic-labs-sdk/client`. Reports whether the user's Google Drive backup is set up and available.\n *\n * Automatically refetches when a different user becomes current (login or\n * account switch), so consumers don't have to pair it with a manual\n * `userChanged` listener.\n *\n * @example\n * ```tsx\n * const { data: readiness, isLoading } = useGetGoogleDriveBackupReadiness();\n * ```\n */\nexport const useGetGoogleDriveBackupReadiness = ({\n queryParams,\n}: UseGetGoogleDriveBackupReadinessParams = {}) =>\n useBaseQuery<GetGoogleDriveBackupReadinessResult>({\n middlewares: [invalidateOnUserSwitch()],\n queryFn: (client) => getGoogleDriveBackupReadiness(client),\n queryKey: ['useGetGoogleDriveBackupReadiness'],\n queryParams,\n });\n","import { isMfaRequiredForAction } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype IsMfaRequiredForActionResult = Awaited<ReturnType<typeof isMfaRequiredForAction>>;\ntype IsMfaRequiredForActionArgs = Parameters<typeof isMfaRequiredForAction>[0];\n\nexport type UseIsMfaRequiredForActionParams = IsMfaRequiredForActionArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<IsMfaRequiredForActionResult>['queryParams'];\n};\n\n/**\n * Returns whether MFA is required for the given action.\n *\n * Wraps `isMfaRequiredForAction` from `@dynamic-labs-sdk/client`.\n */\nexport const useIsMfaRequiredForAction = ({ queryParams, ...args }: UseIsMfaRequiredForActionParams) =>\n useBaseQuery<IsMfaRequiredForActionResult>({\n queryFn: (client) => isMfaRequiredForAction(args, client),\n queryKey: ['useIsMfaRequiredForAction', args],\n queryParams,\n });\n","import { getKrakenAccounts } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnUserSwitch } from '../../../../middlewares/invalidateOnUserSwitch';\n\ntype GetKrakenAccountsResult = Awaited<ReturnType<typeof getKrakenAccounts>>;\ntype GetKrakenAccountsArgs = NonNullable<\n Parameters<typeof getKrakenAccounts>[0]\n>;\n\nexport type UseGetKrakenAccountsParams = GetKrakenAccountsArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetKrakenAccountsResult>['queryParams'];\n};\n\n/**\n * Wraps `getKrakenAccounts` from `@dynamic-labs-sdk/client`. Returns the authenticated user's Kraken accounts (with balances), optionally filtered by chain/network.\n *\n * Automatically refetches when a different user becomes current (login or\n * account switch), so consumers don't have to pair it with a manual\n * `userChanged` listener.\n *\n * @example\n * ```tsx\n * const { data: accounts, isLoading } = useGetKrakenAccounts();\n * ```\n */\nexport const useGetKrakenAccounts = ({\n queryParams,\n ...args\n}: UseGetKrakenAccountsParams = {}) =>\n useBaseQuery<GetKrakenAccountsResult>({\n middlewares: [invalidateOnUserSwitch()],\n queryFn: (client) => getKrakenAccounts(args, client),\n queryKey: ['useGetKrakenAccounts', args],\n queryParams,\n });\n","import { createKrakenExchangeTransfer } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype CreateKrakenExchangeTransferVariables = Parameters<\n typeof createKrakenExchangeTransfer\n>[0];\ntype CreateKrakenExchangeTransferResult = Awaited<\n ReturnType<typeof createKrakenExchangeTransfer>\n>;\n\nexport type UseCreateKrakenExchangeTransferParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n CreateKrakenExchangeTransferResult,\n CreateKrakenExchangeTransferVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `createKrakenExchangeTransfer` from `@dynamic-labs-sdk/client`. Call `mutate({ accountId, ... })` to send crypto from a Kraken account (see `useGetKrakenAccounts`) to a whitelisted address (see `useGetKrakenWhitelistedAddresses`); the resolved `data` is the created transfer.\n *\n * @example\n * ```tsx\n * const { mutate: transfer, data } = useCreateKrakenExchangeTransfer();\n * transfer({ accountId, asset, amount, address });\n * ```\n */\nexport const useCreateKrakenExchangeTransfer = ({\n mutateParams,\n}: UseCreateKrakenExchangeTransferParams = {}) =>\n useBaseMutation<\n CreateKrakenExchangeTransferResult,\n CreateKrakenExchangeTransferVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n createKrakenExchangeTransfer(variables, client),\n });\n","import { getKrakenWhitelistedAddresses } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnUserSwitch } from '../../../../middlewares/invalidateOnUserSwitch';\n\ntype GetKrakenWhitelistedAddressesResult = Awaited<\n ReturnType<typeof getKrakenWhitelistedAddresses>\n>;\n\nexport type UseGetKrakenWhitelistedAddressesParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetKrakenWhitelistedAddressesResult>['queryParams'];\n};\n\n/**\n * Wraps `getKrakenWhitelistedAddresses` from `@dynamic-labs-sdk/client`. Returns the destination addresses whitelisted for Kraken withdrawals.\n *\n * Automatically refetches when a different user becomes current (login or\n * account switch), so consumers don't have to pair it with a manual\n * `userChanged` listener.\n *\n * @example\n * ```tsx\n * const { data: addresses, isLoading } = useGetKrakenWhitelistedAddresses();\n * ```\n */\nexport const useGetKrakenWhitelistedAddresses = ({\n queryParams,\n}: UseGetKrakenWhitelistedAddressesParams = {}) =>\n useBaseQuery<GetKrakenWhitelistedAddressesResult>({\n middlewares: [invalidateOnUserSwitch()],\n queryFn: (client) => getKrakenWhitelistedAddresses(client),\n queryKey: ['useGetKrakenWhitelistedAddresses'],\n queryParams,\n });\n","import { listBusinessAccounts } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype ListBusinessAccountsResult = Awaited<\n ReturnType<typeof listBusinessAccounts>\n>;\n\n/**\n * Parameters for {@link useListBusinessAccounts}: an optional override of the underlying\n * react-query options.\n *\n * @example\n * ```tsx\n * const params: UseListBusinessAccountsParams = { queryParams: { retry: 0 } };\n * ```\n * @see useListBusinessAccounts\n * @see listBusinessAccounts\n */\nexport type UseListBusinessAccountsParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: NonNullable<\n UseBaseQueryParams<ListBusinessAccountsResult>['queryParams']\n >;\n};\n\n/**\n * Wraps `listBusinessAccounts` from `@dynamic-labs-sdk/client/waas`. Lists all business accounts for\n * the current project environment.\n *\n * @example\n * ```tsx\n * const { data: businessAccounts, isLoading } = useListBusinessAccounts();\n * ```\n *\n * @returns A react-query result whose `data` is the paginated list resolved by `listBusinessAccounts`.\n * @see listBusinessAccounts\n * @see UseListBusinessAccountsParams\n */\nexport const useListBusinessAccounts = ({\n queryParams,\n}: UseListBusinessAccountsParams = {}) =>\n useBaseQuery<ListBusinessAccountsResult>({\n queryFn: (client) => listBusinessAccounts(client),\n queryKey: ['useListBusinessAccounts'],\n queryParams,\n });\n","// eslint-disable-next-line custom-rules/require-logout-with-reason -- this hook is the customer-facing wrapper for `logout`, so it forwards the user-intent reason itself.\nimport { logout } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype UseLogoutParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<void, void>['mutateParams'];\n};\n\n/**\n * Logs the current user out.\n *\n * Wraps `logout` from `@dynamic-labs-sdk/client`. Takes no required\n * arguments — call `mutate()` to trigger the logout.\n *\n * @example\n * ```tsx\n * const { mutate: logOut, isPending } = useLogout();\n * <button onClick={() => logOut()} disabled={isPending}>Logout</button>\n * ```\n */\nexport const useLogout = ({ mutateParams }: UseLogoutParams = {}) =>\n useBaseMutation<void, void>({\n mutateParams,\n mutationFn: ({ client }) => logout(client),\n });\n","import { mergeUserAccounts } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype MergeUserAccountsVariables = Parameters<typeof mergeUserAccounts>[0];\ntype MergeUserAccountsResult = Awaited<ReturnType<typeof mergeUserAccounts>>;\n\n/**\n * Parameters for {@link useMergeUserAccounts}: an optional override of the\n * underlying react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseMergeUserAccountsParams = {\n * mutateParams: { onSuccess: () => console.log('merged') },\n * };\n * ```\n * @see useMergeUserAccounts\n * @see mergeUserAccounts\n */\nexport type UseMergeUserAccountsParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<\n UseBaseMutationParams<\n MergeUserAccountsResult,\n MergeUserAccountsVariables\n >['mutateParams']\n >;\n};\n\n/**\n * Completes an account merge after a credential was found to already belong to\n * another user (surfaced as `MergeAccountsConfirmationError` during\n * verification / linking).\n *\n * Wraps `mergeUserAccounts` from `@dynamic-labs-sdk/client`. Call `mutate()`\n * with no arguments to merge directly when there are no conflicts, or\n * `mutate({ conflictResolutions })` with the user's per-field choices when the\n * merge surfaced conflicts. The resolved `data` is the merged user.\n *\n * @example\n * ```tsx\n * const { mutate: mergeAccounts, isPending } = useMergeUserAccounts();\n *\n * // No conflicts — merge directly:\n * mergeAccounts({});\n *\n * // With conflicts the user resolved:\n * mergeAccounts({ conflictResolutions });\n * ```\n * @returns A react-query mutation whose `mutate`/`mutateAsync` completes the\n * merge and whose `data` is the merged user.\n * @see mergeUserAccounts\n * @see UseMergeUserAccountsParams\n */\nexport const useMergeUserAccounts = ({\n mutateParams,\n}: UseMergeUserAccountsParams = {}) =>\n useBaseMutation<MergeUserAccountsResult, MergeUserAccountsVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => mergeUserAccounts(variables, client),\n });\n","import { getMfaDevices } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnUserSwitch } from '../../../../middlewares/invalidateOnUserSwitch';\n\ntype GetMfaDevicesResult = Awaited<ReturnType<typeof getMfaDevices>>;\n\nexport type UseGetMfaDevicesParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetMfaDevicesResult>['queryParams'];\n};\n\n/**\n * Returns the multi-factor authentication devices registered for the\n * current user.\n *\n * Wraps `getMfaDevices` from `@dynamic-labs-sdk/client`.\n *\n * Automatically refetches when a different user becomes current (login or\n * account switch), so consumers don't have to pair it with a manual\n * `userChanged` listener.\n *\n * @example\n * ```tsx\n * const { data: mfaDevices, isLoading, refetch } = useGetMfaDevices();\n * ```\n */\nexport const useGetMfaDevices = ({ queryParams }: UseGetMfaDevicesParams = {}) =>\n useBaseQuery<GetMfaDevicesResult>({\n middlewares: [invalidateOnUserSwitch()],\n queryFn: (client) => getMfaDevices(client),\n queryKey: ['useGetMfaDevices'],\n queryParams,\n });\n","import { getMfaMethods } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnUserSwitch } from '../../../../middlewares/invalidateOnUserSwitch';\n\ntype GetMfaMethodsResult = Awaited<ReturnType<typeof getMfaMethods>>;\n\nexport type UseGetMfaMethodsParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetMfaMethodsResult>['queryParams'];\n};\n\n/**\n * Returns the multi-factor authentication methods available to the current\n * user.\n *\n * Wraps `getMfaMethods` from `@dynamic-labs-sdk/client`.\n *\n * Automatically refetches when a different user becomes current (login or\n * account switch), so consumers don't have to pair it with a manual\n * `userChanged` listener.\n *\n * @example\n * ```tsx\n * const { data: mfaMethods, isLoading, refetch } = useGetMfaMethods();\n * ```\n */\nexport const useGetMfaMethods = ({ queryParams }: UseGetMfaMethodsParams = {}) =>\n useBaseQuery<GetMfaMethodsResult>({\n middlewares: [invalidateOnUserSwitch()],\n queryFn: (client) => getMfaMethods(client),\n queryKey: ['useGetMfaMethods'],\n queryParams,\n });\n","import { getMfaRecoveryCodes } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnUserSwitch } from '../../../../middlewares/invalidateOnUserSwitch';\n\ntype GetMfaRecoveryCodesResult = Awaited<\n ReturnType<typeof getMfaRecoveryCodes>\n>;\n\nexport type UseGetMfaRecoveryCodesParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetMfaRecoveryCodesResult>['queryParams'];\n};\n\n/**\n * Returns the current user's MFA recovery codes.\n *\n * Wraps `getMfaRecoveryCodes` from `@dynamic-labs-sdk/client`.\n *\n * Automatically refetches when a different user becomes current (login or\n * account switch), so consumers don't have to pair it with a manual\n * `userChanged` listener.\n *\n * @example\n * ```tsx\n * const { data: recoveryCodes, isLoading, refetch } = useGetMfaRecoveryCodes();\n * ```\n */\nexport const useGetMfaRecoveryCodes = ({\n queryParams,\n}: UseGetMfaRecoveryCodesParams = {}) =>\n useBaseQuery<GetMfaRecoveryCodesResult>({\n middlewares: [invalidateOnUserSwitch()],\n queryFn: (client) => getMfaRecoveryCodes(client),\n queryKey: ['useGetMfaRecoveryCodes'],\n queryParams,\n });\n","import { getMoonPayCurrencies } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetMoonPayCurrenciesResult = Awaited<\n ReturnType<typeof getMoonPayCurrencies>\n>;\ntype GetMoonPayCurrenciesArgs = Parameters<typeof getMoonPayCurrencies>[0];\n\nexport type UseGetMoonPayCurrenciesParams = GetMoonPayCurrenciesArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetMoonPayCurrenciesResult>['queryParams'];\n};\n\n/**\n * Wraps `getMoonPayCurrencies` from `@dynamic-labs-sdk/client`. Returns the list of currencies MoonPay supports for the given parameters.\n *\n * @example\n * ```tsx\n * const { data: currencies, isLoading } = useGetMoonPayCurrencies(params);\n * ```\n */\nexport const useGetMoonPayCurrencies = ({\n queryParams,\n ...args\n}: UseGetMoonPayCurrenciesParams) =>\n useBaseQuery<GetMoonPayCurrenciesResult>({\n queryFn: (client) => getMoonPayCurrencies(args, client),\n queryKey: ['useGetMoonPayCurrencies', args],\n queryParams,\n });\n","import { getMoonPayUrl } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetMoonPayUrlResult = Awaited<ReturnType<typeof getMoonPayUrl>>;\ntype GetMoonPayUrlArgs = Parameters<typeof getMoonPayUrl>[0];\n\nexport type UseGetMoonPayUrlParams = GetMoonPayUrlArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetMoonPayUrlResult>['queryParams'];\n};\n\n/**\n * Wraps `getMoonPayUrl` from `@dynamic-labs-sdk/client`. Returns a MoonPay widget URL for the given parameters.\n *\n * @example\n * ```tsx\n * const { data: moonPayUrl, isLoading } = useGetMoonPayUrl(params);\n * ```\n */\nexport const useGetMoonPayUrl = ({ queryParams, ...args }: UseGetMoonPayUrlParams) =>\n useBaseQuery<GetMoonPayUrlResult>({\n queryFn: (client) => getMoonPayUrl(args, client),\n queryKey: ['useGetMoonPayUrl', args],\n queryParams,\n });\n","import type { GetMultichainTokenBalancesParams } from '@dynamic-labs-sdk/client';\nimport { getMultichainTokenBalances } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetMultichainTokenBalancesResult = Awaited<\n ReturnType<typeof getMultichainTokenBalances>\n>;\n\nexport type UseGetMultichainTokenBalancesParams = {\n /**\n * **Pseudo-required.** The batched balance request forwarded to\n * `getMultichainTokenBalances`. Pass `undefined` to keep the hook\n * disabled — useful while waiting for wallet accounts or chain\n * selection to load.\n */\n balanceRequest: GetMultichainTokenBalancesParams['balanceRequest'] | undefined;\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetMultichainTokenBalancesResult>['queryParams'];\n};\n\n/**\n * Returns token balances across multiple chains, networks, and addresses\n * in a single batched API request.\n *\n * Wraps `getMultichainTokenBalances` from `@dynamic-labs-sdk/client`. The\n * hook stays disabled until `balanceRequest` is defined. Use this for\n * portfolio-style views; for a single account on one chain prefer\n * {@link useGetTokenBalances}.\n *\n * @example\n * ```tsx\n * const { data, isLoading, refetch } = useGetMultichainTokenBalances({\n * balanceRequest,\n * });\n * ```\n */\nexport const useGetMultichainTokenBalances = ({\n balanceRequest,\n queryParams,\n}: UseGetMultichainTokenBalancesParams) =>\n useBaseQuery<GetMultichainTokenBalancesResult>({\n enabled: balanceRequest !== undefined,\n queryFn: (client) =>\n getMultichainTokenBalances(\n {\n balanceRequest:\n balanceRequest as GetMultichainTokenBalancesParams['balanceRequest'],\n },\n client\n ),\n queryKey: ['useGetMultichainTokenBalances', balanceRequest],\n queryParams,\n });\n","import type { WalletAccount } from '@dynamic-labs-sdk/client';\nimport { getNativeBalance } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnWalletProviderEvent } from '../../../../middlewares/invalidateOnWalletProviderEvent';\n\ntype UseGetNativeBalanceParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<{ balance: string | null }>['queryParams'];\n /**\n * **Pseudo-required.** The wallet account to fetch the balance for.\n * Accepting `undefined` lets callers wire this up before the wallet\n * account has loaded — the hook stays disabled until a real value is\n * supplied.\n */\n walletAccount: WalletAccount | undefined;\n};\n\n/**\n * Returns the native token balance for a wallet account.\n *\n * Calls `getNativeBalance` from `@dynamic-labs-sdk/client`. The hook stays\n * disabled until `walletAccount` is defined.\n *\n * @example\n * ```tsx\n * const { data, isLoading, refetch } = useGetNativeBalance({ walletAccount });\n * ```\n */\nexport const useGetNativeBalance = ({ walletAccount, queryParams }: UseGetNativeBalanceParams) =>\n useBaseQuery<{ balance: string | null }>({\n enabled: walletAccount !== undefined,\n middlewares: [\n invalidateOnWalletProviderEvent({\n event: 'networkChanged',\n walletAccount,\n }),\n ],\n queryFn: (client) =>\n getNativeBalance(\n { walletAccount: walletAccount as WalletAccount },\n client\n ),\n queryKey: ['useGetNativeBalance', walletAccount?.id],\n queryParams,\n });\n","import { type OnceEventParams, onceEvent } from '@dynamic-labs-sdk/client';\nimport { useEffect, useRef } from 'react';\n\nimport { useDynamicClient } from '../../../../modules/DynamicContext';\n\n/**\n * Subscribes to a Dynamic client event for a single occurrence.\n *\n * Wraps `onceEvent` from `@dynamic-labs-sdk/client` — the one-shot sibling of\n * `useOnEvent`. The listener fires at most once. Uses a ref to always call the\n * latest listener, and cleans up the subscription on unmount or event change.\n *\n * @example\n * ```tsx\n * useOnceEvent({\n * event: 'authFlowCancelled',\n * listener: () => console.log('auth flow cancelled'),\n * });\n * ```\n */\nexport const useOnceEvent = <E extends keyof DynamicEvents>({\n event,\n listener,\n}: OnceEventParams<E>) => {\n const client = useDynamicClient();\n const callbackRef = useRef(listener);\n\n callbackRef.current = listener;\n\n useEffect(\n () =>\n onceEvent(\n {\n event,\n listener: (...args: any[]) => {\n // @ts-expect-error - Ignore the type error because we are using the ref\n callbackRef.current(...args);\n },\n },\n client\n ),\n [event, client]\n );\n};\n","import { getPasskeys } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnUserSwitch } from '../../../../middlewares/invalidateOnUserSwitch';\n\ntype GetPasskeysResult = Awaited<ReturnType<typeof getPasskeys>>;\n\nexport type UseGetPasskeysParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetPasskeysResult>['queryParams'];\n};\n\n/**\n * Returns the passkeys registered for the current user.\n *\n * Wraps `getPasskeys` from `@dynamic-labs-sdk/client`.\n *\n * Automatically refetches when a different user becomes current (login or\n * account switch), so consumers don't have to pair it with a manual\n * `userChanged` listener.\n *\n * @example\n * ```tsx\n * const { data: passkeys, isLoading, refetch } = useGetPasskeys();\n * ```\n */\nexport const useGetPasskeys = ({ queryParams }: UseGetPasskeysParams = {}) =>\n useBaseQuery<GetPasskeysResult>({\n middlewares: [invalidateOnUserSwitch()],\n queryFn: (client) => getPasskeys(client),\n queryKey: ['useGetPasskeys'],\n queryParams,\n });\n","import { proveWalletAccountOwnership } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype ProveWalletAccountOwnershipVariables = Parameters<\n typeof proveWalletAccountOwnership\n>[0];\ntype ProveWalletAccountOwnershipResult = Awaited<\n ReturnType<typeof proveWalletAccountOwnership>\n>;\n\nexport type UseProveWalletAccountOwnershipParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n ProveWalletAccountOwnershipResult,\n ProveWalletAccountOwnershipVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `proveWalletAccountOwnership` from `@dynamic-labs-sdk/client`. Call `mutate({ walletAccount })` to prove ownership of a connected wallet account by signing a challenge.\n *\n * @example\n * ```tsx\n * const { mutate: proveOwnership, isPending } =\n * useProveWalletAccountOwnership();\n * proveOwnership({ walletAccount });\n * ```\n */\nexport const useProveWalletAccountOwnership = ({\n mutateParams,\n}: UseProveWalletAccountOwnershipParams = {}) =>\n useBaseMutation<\n ProveWalletAccountOwnershipResult,\n ProveWalletAccountOwnershipVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n proveWalletAccountOwnership(variables, client),\n });\n","import { refreshAuth } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype RefreshAuthResult = Awaited<ReturnType<typeof refreshAuth>>;\n\nexport type UseRefreshAuthParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<RefreshAuthResult, void>['mutateParams'];\n};\n\n/**\n * Wraps `refreshAuth` from `@dynamic-labs-sdk/client`. Takes no arguments — call `mutate()` to refresh the session/JWT; the resolved `data` is a `VerifyResponse`.\n *\n * @example\n * ```tsx\n * const { mutate: refreshAuth, isPending } = useRefreshAuth();\n * <button onClick={() => refreshAuth()} disabled={isPending}>\n * Refresh session\n * </button>\n * ```\n */\nexport const useRefreshAuth = ({ mutateParams }: UseRefreshAuthParams = {}) =>\n useBaseMutation<RefreshAuthResult, void>({\n mutateParams,\n mutationFn: ({ client }) => refreshAuth(client),\n });\n","import { getRegisteredDevices } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnUserSwitch } from '../../../../middlewares/invalidateOnUserSwitch';\n\ntype GetRegisteredDevicesResult = Awaited<\n ReturnType<typeof getRegisteredDevices>\n>;\n\nexport type UseGetRegisteredDevicesParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetRegisteredDevicesResult>['queryParams'];\n};\n\n/**\n * Returns the devices registered for the current user.\n *\n * Wraps `getRegisteredDevices` from `@dynamic-labs-sdk/client`. Pair with\n * {@link useRevokeRegisteredDevice} to let users revoke a device from the\n * list.\n *\n * Automatically refetches when a different user becomes current (login or\n * account switch), so consumers don't have to pair it with a manual\n * `userChanged` listener.\n *\n * @example\n * ```tsx\n * const { data: devices, isLoading, refetch } = useGetRegisteredDevices();\n * ```\n */\nexport const useGetRegisteredDevices = ({\n queryParams,\n}: UseGetRegisteredDevicesParams = {}) =>\n useBaseQuery<GetRegisteredDevicesResult>({\n middlewares: [invalidateOnUserSwitch()],\n queryFn: (client) => getRegisteredDevices(client),\n queryKey: ['useGetRegisteredDevices'],\n queryParams,\n });\n","import { registerPasskey } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\nimport { invalidatesQueries } from '../../../../middlewares/invalidatesQueries';\n\ntype RegisterPasskeyVariables = Parameters<typeof registerPasskey>[0];\ntype RegisterPasskeyResult = Awaited<ReturnType<typeof registerPasskey>>;\n\nexport type UseRegisterPasskeyParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n RegisterPasskeyResult,\n RegisterPasskeyVariables\n >['mutateParams'];\n};\n\n/**\n * Registers a new passkey for the current user.\n *\n * Wraps `registerPasskey` from `@dynamic-labs-sdk/client`. Call `mutate()`\n * to prompt the device's WebAuthn flow; the resolved `data` is the\n * registration response.\n *\n * @example\n * ```tsx\n * const { mutate: registerPasskey, isPending } = useRegisterPasskey();\n * <button onClick={() => registerPasskey()} disabled={isPending}>\n * Add passkey\n * </button>\n * ```\n */\nexport const useRegisterPasskey = ({\n mutateParams,\n}: UseRegisterPasskeyParams = {}) =>\n useBaseMutation<RegisterPasskeyResult, RegisterPasskeyVariables>({\n middlewares: [invalidatesQueries('useGetPasskeys')],\n mutateParams,\n mutationFn: ({ client, variables }) => registerPasskey(variables, client),\n });\n","import { registerTotpMfaDevice } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\nimport { invalidatesQueries } from '../../../../middlewares/invalidatesQueries';\n\ntype RegisterTotpMfaDeviceResult = Awaited<\n ReturnType<typeof registerTotpMfaDevice>\n>;\n\nexport type UseRegisterTotpMfaDeviceParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n RegisterTotpMfaDeviceResult,\n void\n >['mutateParams'];\n};\n\n/**\n * Registers a new TOTP MFA device for the current user.\n *\n * Wraps `registerTotpMfaDevice` from `@dynamic-labs-sdk/client`. Takes no\n * arguments — call `mutate()` to start enrollment; the resolved `data`\n * contains the secret/URI used to render the authenticator QR code.\n *\n * @example\n * ```tsx\n * const { mutate: registerTotp, data, isPending } = useRegisterTotpMfaDevice();\n * <button onClick={() => registerTotp()} disabled={isPending}>\n * Add authenticator app\n * </button>\n * ```\n */\nexport const useRegisterTotpMfaDevice = ({\n mutateParams,\n}: UseRegisterTotpMfaDeviceParams = {}) =>\n useBaseMutation<RegisterTotpMfaDeviceResult, void>({\n middlewares: [invalidatesQueries('useGetMfaDevices')],\n mutateParams,\n mutationFn: ({ client }) => registerTotpMfaDevice(client),\n });\n","import { removeBusinessAccountMember } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype RemoveBusinessAccountMemberVariables = Parameters<\n typeof removeBusinessAccountMember\n>[0];\ntype RemoveBusinessAccountMemberResult = Awaited<\n ReturnType<typeof removeBusinessAccountMember>\n>;\n\n/**\n * Parameters for {@link useRemoveBusinessAccountMember}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseRemoveBusinessAccountMemberParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useRemoveBusinessAccountMember\n * @see removeBusinessAccountMember\n */\nexport type UseRemoveBusinessAccountMemberParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<\n UseBaseMutationParams<\n RemoveBusinessAccountMemberResult,\n RemoveBusinessAccountMemberVariables\n >['mutateParams']\n >;\n};\n\n/**\n * Wraps `removeBusinessAccountMember` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)`\n * to remove a member from a business account (the backend refuses to remove the last owner).\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useRemoveBusinessAccountMember();\n * <button onClick={() => mutate({ businessAccountId, userId })} disabled={isPending}>\n * Remove member\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `removeBusinessAccountMember` and whose `data` is the removed member.\n * @see removeBusinessAccountMember\n * @see UseRemoveBusinessAccountMemberParams\n */\nexport const useRemoveBusinessAccountMember = ({\n mutateParams,\n}: UseRemoveBusinessAccountMemberParams = {}) =>\n useBaseMutation<\n RemoveBusinessAccountMemberResult,\n RemoveBusinessAccountMemberVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n removeBusinessAccountMember(variables, client),\n });\n","import { removeBusinessAccountSigner } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype RemoveBusinessAccountSignerVariables = Parameters<\n typeof removeBusinessAccountSigner\n>[0];\ntype RemoveBusinessAccountSignerResult = Awaited<\n ReturnType<typeof removeBusinessAccountSigner>\n>;\n\n/**\n * Parameters for {@link useRemoveBusinessAccountSigner}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseRemoveBusinessAccountSignerParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useRemoveBusinessAccountSigner\n * @see removeBusinessAccountSigner\n */\nexport type UseRemoveBusinessAccountSignerParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<\n UseBaseMutationParams<\n RemoveBusinessAccountSignerResult,\n RemoveBusinessAccountSignerVariables\n >['mutateParams']\n >;\n};\n\n/**\n * Wraps `removeBusinessAccountSigner` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)`\n * to remove a signer from a business-account wallet (the backend refuses to remove the last signer).\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useRemoveBusinessAccountSigner();\n * <button onClick={() => mutate({ businessAccountId, walletId, signerId })} disabled={isPending}>\n * Remove signer\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `removeBusinessAccountSigner` and whose `data` is the removed signer.\n * @see removeBusinessAccountSigner\n * @see UseRemoveBusinessAccountSignerParams\n */\nexport const useRemoveBusinessAccountSigner = ({\n mutateParams,\n}: UseRemoveBusinessAccountSignerParams = {}) =>\n useBaseMutation<\n RemoveBusinessAccountSignerResult,\n RemoveBusinessAccountSignerVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n removeBusinessAccountSigner(variables, client),\n });\n","import { removeWalletAccount } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype RemoveWalletAccountVariables = Parameters<typeof removeWalletAccount>[0];\ntype RemoveWalletAccountResult = Awaited<\n ReturnType<typeof removeWalletAccount>\n>;\n\nexport type UseRemoveWalletAccountParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n RemoveWalletAccountResult,\n RemoveWalletAccountVariables\n >['mutateParams'];\n};\n\n/**\n * Removes a wallet account from the current user.\n *\n * Wraps `removeWalletAccount` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ walletAccount })` to disconnect/unlink the account; the\n * resolved `data` is `void`.\n *\n * @example\n * ```tsx\n * const { mutate: removeWallet, isPending } = useRemoveWalletAccount();\n * <button\n * onClick={() => removeWallet({ walletAccount })}\n * disabled={isPending}\n * >\n * Remove wallet\n * </button>\n * ```\n */\nexport const useRemoveWalletAccount = ({\n mutateParams,\n}: UseRemoveWalletAccountParams = {}) =>\n useBaseMutation<RemoveWalletAccountResult, RemoveWalletAccountVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n removeWalletAccount(variables, client),\n });\n","import { requestExternalAuthElevatedToken } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype RequestExternalAuthElevatedTokenVariables = Parameters<\n typeof requestExternalAuthElevatedToken\n>[0];\ntype RequestExternalAuthElevatedTokenResult = Awaited<\n ReturnType<typeof requestExternalAuthElevatedToken>\n>;\n\nexport type UseRequestExternalAuthElevatedTokenParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n RequestExternalAuthElevatedTokenResult,\n RequestExternalAuthElevatedTokenVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `requestExternalAuthElevatedToken` from `@dynamic-labs-sdk/client`. Call `mutate({ externalJwt })` to exchange an externally issued JWT for an elevated-access token.\n *\n * @example\n * ```tsx\n * const { mutate: requestElevatedToken } =\n * useRequestExternalAuthElevatedToken();\n * requestElevatedToken({ externalJwt });\n * ```\n */\nexport const useRequestExternalAuthElevatedToken = ({\n mutateParams,\n}: UseRequestExternalAuthElevatedTokenParams = {}) =>\n useBaseMutation<\n RequestExternalAuthElevatedTokenResult,\n RequestExternalAuthElevatedTokenVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n requestExternalAuthElevatedToken(variables, client),\n });\n","import { revokeAllRegisteredDevices } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\nimport { invalidatesQueries } from '../../../../middlewares/invalidatesQueries';\n\ntype RevokeAllRegisteredDevicesResult = Awaited<\n ReturnType<typeof revokeAllRegisteredDevices>\n>;\n\nexport type UseRevokeAllRegisteredDevicesParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n RevokeAllRegisteredDevicesResult,\n void\n >['mutateParams'];\n};\n\n/**\n * Wraps `revokeAllRegisteredDevices` from `@dynamic-labs-sdk/client`. Takes no arguments — call `mutate()` to revoke every device registered to the current user; the resolved `data` is `void`.\n *\n * @example\n * ```tsx\n * const { mutate: revokeAllDevices, isPending } =\n * useRevokeAllRegisteredDevices();\n * <button onClick={() => revokeAllDevices()} disabled={isPending}>\n * Revoke all devices\n * </button>\n * ```\n */\nexport const useRevokeAllRegisteredDevices = ({\n mutateParams,\n}: UseRevokeAllRegisteredDevicesParams = {}) => {\n return useBaseMutation<RevokeAllRegisteredDevicesResult, void>({\n middlewares: [invalidatesQueries('useGetRegisteredDevices')],\n mutateParams,\n mutationFn: ({ client }) => revokeAllRegisteredDevices(client),\n });\n};\n","import { revokeRegisteredDevice } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\nimport { invalidatesQueries } from '../../../../middlewares/invalidatesQueries';\n\ntype RevokeRegisteredDeviceVariables = Parameters<\n typeof revokeRegisteredDevice\n>[0];\ntype RevokeRegisteredDeviceResult = Awaited<\n ReturnType<typeof revokeRegisteredDevice>\n>;\n\nexport type UseRevokeRegisteredDeviceParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n RevokeRegisteredDeviceResult,\n RevokeRegisteredDeviceVariables\n >['mutateParams'];\n};\n\n/**\n * Revokes a previously registered device.\n *\n * Wraps `revokeRegisteredDevice` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ deviceRegistrationId })` with the id of the device to revoke\n * (e.g. one returned by {@link useGetRegisteredDevices}); the resolved `data`\n * is `void`.\n *\n * @example\n * ```tsx\n * const { mutate: revokeDevice, isPending } = useRevokeRegisteredDevice();\n * <button\n * onClick={() => revokeDevice({ deviceRegistrationId })}\n * disabled={isPending}\n * >\n * Revoke device\n * </button>\n * ```\n */\nexport const useRevokeRegisteredDevice = ({\n mutateParams,\n}: UseRevokeRegisteredDeviceParams = {}) => {\n return useBaseMutation<\n RevokeRegisteredDeviceResult,\n RevokeRegisteredDeviceVariables\n >({\n middlewares: [invalidatesQueries('useGetRegisteredDevices')],\n mutateParams,\n mutationFn: ({ client, variables }) =>\n revokeRegisteredDevice(variables, client),\n });\n};\n","import { sendEmailOTP } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype SendEmailOTPVariables = Parameters<typeof sendEmailOTP>[0];\ntype SendEmailOTPResult = Awaited<ReturnType<typeof sendEmailOTP>>;\n\nexport type UseSendEmailOTPParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n SendEmailOTPResult,\n SendEmailOTPVariables\n >['mutateParams'];\n};\n\n/**\n * Sends a one-time password to an email address.\n *\n * Wraps `sendEmailOTP` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ email })` to dispatch the code; the resolved `data` is the\n * `OTPVerification` payload to hand to {@link useVerifyOTP} once the user\n * enters the code they received.\n *\n * @example\n * ```tsx\n * const { mutate: sendEmailOTP, data: otpVerification, isPending } =\n * useSendEmailOTP();\n * <button\n * onClick={() => sendEmailOTP({ email: 'velma@mystery.inc' })}\n * disabled={isPending}\n * >\n * Email me a code\n * </button>\n * ```\n */\nexport const useSendEmailOTP = ({ mutateParams }: UseSendEmailOTPParams = {}) =>\n useBaseMutation<SendEmailOTPResult, SendEmailOTPVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => sendEmailOTP(variables, client),\n });\n","import { sendSmsOTP } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype SendSmsOTPVariables = Parameters<typeof sendSmsOTP>[0];\ntype SendSmsOTPResult = Awaited<ReturnType<typeof sendSmsOTP>>;\n\nexport type UseSendSmsOTPParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n SendSmsOTPResult,\n SendSmsOTPVariables\n >['mutateParams'];\n};\n\n/**\n * Sends a one-time password to a phone number via SMS.\n *\n * Wraps `sendSmsOTP` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ isoCountryCode, phoneNumber })` to dispatch the code; the\n * resolved `data` is the `OTPVerification` payload to hand to\n * {@link useVerifyOTP} once the user enters the code they received.\n *\n * @example\n * ```tsx\n * const { mutate: sendSmsOTP, data: otpVerification, isPending } =\n * useSendSmsOTP();\n * <button\n * onClick={() =>\n * sendSmsOTP({ isoCountryCode: 'US', phoneNumber: '5550100' })\n * }\n * disabled={isPending}\n * >\n * Text me a code\n * </button>\n * ```\n */\nexport const useSendSmsOTP = ({ mutateParams }: UseSendSmsOTPParams = {}) =>\n useBaseMutation<SendSmsOTPResult, SendSmsOTPVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => sendSmsOTP(variables, client),\n });\n","import { setDefaultMfaDevice } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\nimport { invalidatesQueries } from '../../../../middlewares/invalidatesQueries';\n\ntype SetDefaultMfaDeviceVariables = Parameters<typeof setDefaultMfaDevice>[0];\ntype SetDefaultMfaDeviceResult = Awaited<\n ReturnType<typeof setDefaultMfaDevice>\n>;\n\nexport type UseSetDefaultMfaDeviceParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n SetDefaultMfaDeviceResult,\n SetDefaultMfaDeviceVariables\n >['mutateParams'];\n};\n\n/**\n * Sets the current user's default MFA device.\n *\n * Wraps `setDefaultMfaDevice` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ deviceId })` to designate the device used for MFA challenges.\n *\n * @example\n * ```tsx\n * const { mutate: setDefaultDevice, isPending } = useSetDefaultMfaDevice();\n * <button onClick={() => setDefaultDevice({ deviceId })} disabled={isPending}>\n * Make default\n * </button>\n * ```\n */\nexport const useSetDefaultMfaDevice = ({\n mutateParams,\n}: UseSetDefaultMfaDeviceParams = {}) =>\n useBaseMutation<SetDefaultMfaDeviceResult, SetDefaultMfaDeviceVariables>({\n middlewares: [invalidatesQueries('useGetMfaDevices')],\n mutateParams,\n mutationFn: ({ client, variables }) =>\n setDefaultMfaDevice(variables, client),\n });\n","import { signInWithExternalJwt } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype SignInWithExternalJwtVariables = Parameters<\n typeof signInWithExternalJwt\n>[0];\ntype SignInWithExternalJwtResult = Awaited<\n ReturnType<typeof signInWithExternalJwt>\n>;\n\nexport type UseSignInWithExternalJwtParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n SignInWithExternalJwtResult,\n SignInWithExternalJwtVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `signInWithExternalJwt` from `@dynamic-labs-sdk/client`. Call `mutate({ externalJwt })` to authenticate the user with a JWT issued by an external auth provider.\n *\n * @example\n * ```tsx\n * const { mutate: signInWithJwt, isPending } = useSignInWithExternalJwt();\n * signInWithJwt({ externalJwt });\n * ```\n */\nexport const useSignInWithExternalJwt = ({\n mutateParams,\n}: UseSignInWithExternalJwtParams = {}) =>\n useBaseMutation<SignInWithExternalJwtResult, SignInWithExternalJwtVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n signInWithExternalJwt(variables, client),\n });\n","import { signInWithPasskey } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype SignInWithPasskeyVariables = Parameters<typeof signInWithPasskey>[0];\ntype SignInWithPasskeyResult = Awaited<ReturnType<typeof signInWithPasskey>>;\n\nexport type UseSignInWithPasskeyParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n SignInWithPasskeyResult,\n SignInWithPasskeyVariables\n >['mutateParams'];\n};\n\n/**\n * Signs the user in with a previously registered passkey.\n *\n * Wraps `signInWithPasskey` from `@dynamic-labs-sdk/client`. Call `mutate()`\n * to start the WebAuthn authentication; the resolved `data` is the\n * authentication response.\n *\n * @example\n * ```tsx\n * const { mutate: signInWithPasskey, isPending } = useSignInWithPasskey();\n * <button onClick={() => signInWithPasskey()} disabled={isPending}>\n * Sign in with passkey\n * </button>\n * ```\n */\nexport const useSignInWithPasskey = ({\n mutateParams,\n}: UseSignInWithPasskeyParams = {}) =>\n useBaseMutation<SignInWithPasskeyResult, SignInWithPasskeyVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => signInWithPasskey(variables, client),\n });\n","import { signInWithSocialPopUp } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype SignInWithSocialPopUpVariables = Parameters<\n typeof signInWithSocialPopUp\n>[0];\ntype SignInWithSocialPopUpResult = Awaited<\n ReturnType<typeof signInWithSocialPopUp>\n>;\n\nexport type UseSignInWithSocialPopUpParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n SignInWithSocialPopUpResult,\n SignInWithSocialPopUpVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `signInWithSocialPopUp` from `@dynamic-labs-sdk/client`. Call `mutate({ provider })` to open the provider's OAuth popup; the resolved `data` is the signed-in `User` (or `null`).\n *\n * @example\n * ```tsx\n * const { mutate: signInWithPopUp, data: user } =\n * useSignInWithSocialPopUp();\n * signInWithPopUp({ provider: 'google' });\n * ```\n */\nexport const useSignInWithSocialPopUp = ({\n mutateParams,\n}: UseSignInWithSocialPopUpParams = {}) =>\n useBaseMutation<SignInWithSocialPopUpResult, SignInWithSocialPopUpVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n signInWithSocialPopUp(variables, client),\n });\n","import { signInWithSocialRedirect } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype SignInWithSocialRedirectVariables = Parameters<\n typeof signInWithSocialRedirect\n>[0];\ntype SignInWithSocialRedirectResult = Awaited<\n ReturnType<typeof signInWithSocialRedirect>\n>;\n\nexport type UseSignInWithSocialRedirectParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n SignInWithSocialRedirectResult,\n SignInWithSocialRedirectVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `signInWithSocialRedirect` from `@dynamic-labs-sdk/client`. Call `mutate({ provider, redirectUrl })` to redirect the user to the provider's OAuth page; complete the flow with {@link useCompleteSocialAuthentication}.\n *\n * @example\n * ```tsx\n * const { mutate: signInWithRedirect } = useSignInWithSocialRedirect();\n * signInWithRedirect({ provider: 'google', redirectUrl });\n * ```\n */\nexport const useSignInWithSocialRedirect = ({\n mutateParams,\n}: UseSignInWithSocialRedirectParams = {}) =>\n useBaseMutation<\n SignInWithSocialRedirectResult,\n SignInWithSocialRedirectVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n signInWithSocialRedirect(variables, client),\n });\n","import { signMessage } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype SignMessageVariables = Parameters<typeof signMessage>[0];\ntype SignMessageResult = Awaited<ReturnType<typeof signMessage>>;\n\nexport type UseSignMessageParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n SignMessageResult,\n SignMessageVariables\n >['mutateParams'];\n};\n\n/**\n * Signs an arbitrary message with a wallet account.\n *\n * Wraps `signMessage` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ walletAccount, message })` to trigger the signature flow —\n * the wallet provider will prompt the user via its native UI.\n *\n * @example\n * ```tsx\n * const { mutate: signMessage, data, isPending } = useSignMessage();\n * <button\n * onClick={() => signMessage({ message: 'gm', walletAccount })}\n * disabled={isPending}\n * >\n * Sign\n * </button>\n * ```\n */\nexport const useSignMessage = ({ mutateParams }: UseSignMessageParams = {}) =>\n useBaseMutation<SignMessageResult, SignMessageVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => signMessage(variables, client),\n });\n","import { submitFlowTransaction } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype SubmitFlowTransactionVariables = Parameters<typeof submitFlowTransaction>[0];\ntype SubmitFlowTransactionResult = Awaited<ReturnType<typeof submitFlowTransaction>>;\n\nexport type UseSubmitFlowTransactionParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n SubmitFlowTransactionResult,\n SubmitFlowTransactionVariables\n >['mutateParams'];\n};\n\n/**\n * Prepares, signs, and broadcasts a flow transaction in one call.\n *\n * Wraps `submitFlowTransaction` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ flowId, walletAccount })` to run the full submission flow:\n * prepare signing, sign on-chain, and broadcast.\n *\n * @example\n * ```tsx\n * const { mutate: submitFlowTransaction, isPending } = useSubmitFlowTransaction();\n * <button onClick={() => submitFlowTransaction({ flowId, walletAccount })} disabled={isPending}>\n * Submit flow transaction\n * </button>\n * ```\n */\nexport const useSubmitFlowTransaction = ({\n mutateParams,\n}: UseSubmitFlowTransactionParams = {}) =>\n useBaseMutation<SubmitFlowTransactionResult, SubmitFlowTransactionVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n submitFlowTransaction(variables, client),\n });\n","import { getSwapQuote } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetSwapQuoteResult = Awaited<ReturnType<typeof getSwapQuote>>;\ntype GetSwapQuoteArgs = Parameters<typeof getSwapQuote>[0];\n\nexport type UseGetSwapQuoteParams = GetSwapQuoteArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetSwapQuoteResult>['queryParams'];\n};\n\n/**\n * Wraps `getSwapQuote` from `@dynamic-labs-sdk/client`. Returns a swap quote (including the signing payload consumed by {@link useExecuteSwapTransaction}).\n *\n * @example\n * ```tsx\n * const { data: quote, isLoading } = useGetSwapQuote(params);\n * ```\n */\nexport const useGetSwapQuote = ({ queryParams, ...args }: UseGetSwapQuoteParams) =>\n useBaseQuery<GetSwapQuoteResult>({\n queryFn: (client) => getSwapQuote(args, client),\n queryKey: ['useGetSwapQuote', args],\n queryParams,\n });\n","import { getSwapStatus } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetSwapStatusResult = Awaited<ReturnType<typeof getSwapStatus>>;\ntype GetSwapStatusArgs = Parameters<typeof getSwapStatus>[0];\n\nexport type UseGetSwapStatusParams = GetSwapStatusArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetSwapStatusResult>['queryParams'];\n};\n\n/**\n * Wraps `getSwapStatus` from `@dynamic-labs-sdk/client`. Returns the current status of a previously submitted swap.\n *\n * @example\n * ```tsx\n * const { data: status, isLoading } = useGetSwapStatus(params);\n * ```\n */\nexport const useGetSwapStatus = ({ queryParams, ...args }: UseGetSwapStatusParams) =>\n useBaseQuery<GetSwapStatusResult>({\n queryFn: (client) => getSwapStatus(args, client),\n queryKey: ['useGetSwapStatus', args],\n queryParams,\n });\n","import { switchActiveNetwork } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\nimport { invalidatesQueries } from '../../../../middlewares/invalidatesQueries';\n\ntype SwitchActiveNetworkVariables = Parameters<typeof switchActiveNetwork>[0];\ntype SwitchActiveNetworkResult = Awaited<\n ReturnType<typeof switchActiveNetwork>\n>;\n\nexport type UseSwitchActiveNetworkParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n SwitchActiveNetworkResult,\n SwitchActiveNetworkVariables\n >['mutateParams'];\n};\n\n/**\n * Switches the active network for a wallet account.\n *\n * Wraps `switchActiveNetwork` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ networkId, walletAccount })` to request the switch — the\n * wallet provider may prompt the user to approve adding/changing the\n * chain via its native UI.\n *\n * @example\n * ```tsx\n * const { mutate: switchNetwork, isPending } = useSwitchActiveNetwork();\n * <button\n * onClick={() => switchNetwork({ networkId: 1, walletAccount })}\n * disabled={isPending}\n * >\n * Switch to Ethereum\n * </button>\n * ```\n */\nexport const useSwitchActiveNetwork = ({\n mutateParams,\n}: UseSwitchActiveNetworkParams = {}) =>\n useBaseMutation<SwitchActiveNetworkResult, SwitchActiveNetworkVariables>({\n middlewares: [\n invalidatesQueries('useGetActiveNetworkData', 'useGetActiveNetworkId'),\n ],\n mutateParams,\n mutationFn: ({ client, variables }) =>\n switchActiveNetwork(variables, client),\n });\n","import type {\n GetTokenBalancesParams,\n WalletAccount,\n} from '@dynamic-labs-sdk/client';\nimport { getTokenBalances } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnWalletProviderEvent } from '../../../../middlewares/invalidateOnWalletProviderEvent';\n\ntype GetTokenBalancesResult = Awaited<ReturnType<typeof getTokenBalances>>;\n\n/**\n * `Omit` that distributes across each member of a union instead of collapsing\n * it into a single shape.\n *\n * `GetTokenBalancesParams` carries a `networkId` xor `networkIds` discriminated\n * union. The built-in `Omit` does not distribute over unions, so it merges the\n * branches into one shape that appears to allow both keys at once — which\n * neither branch actually accepts. Distributing preserves the discriminator so\n * callers still can't pass both at the same time.\n */\ntype DistributiveOmit<T, K extends PropertyKey> = T extends unknown\n ? Omit<T, K>\n : never;\n\nexport type UseGetTokenBalancesParams = DistributiveOmit<\n GetTokenBalancesParams,\n 'walletAccount'\n> & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetTokenBalancesResult>['queryParams'];\n /**\n * **Pseudo-required.** The wallet account to fetch balances for.\n * Accepting `undefined` lets callers wire this up before the wallet\n * account has loaded — the hook stays disabled until a real value is\n * supplied.\n */\n walletAccount: WalletAccount | undefined;\n};\n\n/**\n * Returns the ERC-20-style token balances for a wallet account on a single\n * chain.\n *\n * Wraps `getTokenBalances` from `@dynamic-labs-sdk/client`. The hook stays\n * disabled until `walletAccount` is defined.\n *\n * For native-only balance use {@link useGetNativeBalance}; for a multi-chain\n * portfolio use {@link useGetMultichainTokenBalances}.\n *\n * @example\n * ```tsx\n * const { data, isLoading, refetch } = useGetTokenBalances({ walletAccount });\n * ```\n */\nexport const useGetTokenBalances = ({\n walletAccount,\n queryParams,\n ...rest\n}: UseGetTokenBalancesParams) =>\n useBaseQuery<GetTokenBalancesResult>({\n enabled: walletAccount !== undefined,\n middlewares: [\n invalidateOnWalletProviderEvent({\n event: 'networkChanged',\n walletAccount,\n }),\n ],\n queryFn: (client) =>\n getTokenBalances(\n // safe: `enabled` guarantees walletAccount is defined when queryFn runs\n { walletAccount: walletAccount as WalletAccount, ...rest },\n client\n ),\n queryKey: ['useGetTokenBalances', walletAccount?.id, rest],\n queryParams,\n });\n","import type {\n Chain,\n GetTransactionHistoryParams,\n GetTransactionHistoryResponse,\n} from '@dynamic-labs-sdk/client';\nimport { getTransactionHistory } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\nexport type UseGetTransactionHistoryParams = Omit<\n GetTransactionHistoryParams,\n 'address' | 'chain' | 'networkId'\n> & {\n /**\n * **Pseudo-required.** The wallet address to fetch transactions for.\n * Accepting `undefined` lets callers wire this up before the wallet\n * has loaded — the hook stays disabled until all three of `address`,\n * `chain`, and `networkId` are defined.\n */\n address: string | undefined;\n /**\n * **Pseudo-required.** The chain to fetch transactions for. See\n * {@link address} for the gating semantics.\n */\n chain: Chain | undefined;\n /**\n * **Pseudo-required.** The network ID to fetch transactions for. See\n * {@link address} for the gating semantics.\n */\n networkId: number | string | undefined;\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetTransactionHistoryResponse>['queryParams'];\n};\n\n/**\n * Returns the transaction history for a given wallet address, chain, and\n * network.\n *\n * Wraps `getTransactionHistory` from `@dynamic-labs-sdk/client`. The hook\n * stays disabled until `address`, `chain`, and `networkId` are all\n * defined. Pagination is driven by `offset` — callers can swap in a new\n * `offset` to fetch the next page (each unique key produces its own cache\n * entry).\n *\n * @example\n * ```tsx\n * const { data, isLoading, refetch } = useGetTransactionHistory({\n * address,\n * chain,\n * networkId,\n * });\n * ```\n */\nexport const useGetTransactionHistory = ({\n address,\n chain,\n networkId,\n queryParams,\n ...rest\n}: UseGetTransactionHistoryParams) =>\n useBaseQuery<GetTransactionHistoryResponse>({\n enabled:\n address !== undefined && chain !== undefined && networkId !== undefined,\n queryFn: (client) =>\n getTransactionHistory(\n // safe: `enabled` guarantees these are defined when queryFn runs\n {\n address: address as string,\n chain: chain as Chain,\n networkId: networkId as number | string,\n ...rest,\n },\n client\n ),\n queryKey: [\n 'useGetTransactionHistory',\n address,\n chain,\n networkId,\n rest,\n ],\n queryParams,\n });\n","import { transferAmount } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype TransferAmountVariables = Parameters<typeof transferAmount>[0];\ntype TransferAmountResult = Awaited<ReturnType<typeof transferAmount>>;\n\nexport type UseTransferAmountParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n TransferAmountResult,\n TransferAmountVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `transferAmount` from `@dynamic-labs-sdk/client`. Call `mutate({ walletAccount, amount, recipient, token })` to send tokens; the resolved `data` is `{ transactionHash }`.\n *\n * @example\n * ```tsx\n * const { mutate: transfer, data } = useTransferAmount();\n * transfer({ walletAccount, amount, recipient, token });\n * ```\n */\nexport const useTransferAmount = ({\n mutateParams,\n}: UseTransferAmountParams = {}) =>\n useBaseMutation<TransferAmountResult, TransferAmountVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => transferAmount(variables, client),\n });\n","import { transferBusinessAccountOwnership } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype TransferBusinessAccountOwnershipVariables = Parameters<\n typeof transferBusinessAccountOwnership\n>[0];\ntype TransferBusinessAccountOwnershipResult = Awaited<\n ReturnType<typeof transferBusinessAccountOwnership>\n>;\n\n/**\n * Parameters for {@link useTransferBusinessAccountOwnership}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseTransferBusinessAccountOwnershipParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useTransferBusinessAccountOwnership\n * @see transferBusinessAccountOwnership\n */\nexport type UseTransferBusinessAccountOwnershipParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<\n UseBaseMutationParams<\n TransferBusinessAccountOwnershipResult,\n TransferBusinessAccountOwnershipVariables\n >['mutateParams']\n >;\n};\n\n/**\n * Wraps `transferBusinessAccountOwnership` from `@dynamic-labs-sdk/client/waas`. Call\n * `mutate(variables)` to hand ownership of a business account to another member (owner-only; the\n * previous owner is demoted to admin).\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useTransferBusinessAccountOwnership();\n * <button onClick={() => mutate({ businessAccountId, newOwnerUserId })} disabled={isPending}>\n * Transfer ownership\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `transferBusinessAccountOwnership` and whose `data` is the updated business account detail.\n * @see transferBusinessAccountOwnership\n * @see UseTransferBusinessAccountOwnershipParams\n * @notInstrumented\n */\nexport const useTransferBusinessAccountOwnership = ({\n mutateParams,\n}: UseTransferBusinessAccountOwnershipParams = {}) =>\n useBaseMutation<\n TransferBusinessAccountOwnershipResult,\n TransferBusinessAccountOwnershipVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n transferBusinessAccountOwnership(variables, client),\n });\n","import { transferWalletAccount } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype TransferWalletAccountVariables = Parameters<\n typeof transferWalletAccount\n>[0];\ntype TransferWalletAccountResult = Awaited<\n ReturnType<typeof transferWalletAccount>\n>;\n\nexport type UseTransferWalletAccountParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n TransferWalletAccountResult,\n TransferWalletAccountVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `transferWalletAccount` from `@dynamic-labs-sdk/client`. Call `mutate({ walletProviderKey })` to transfer (hand off) a wallet account to the given provider.\n *\n * @example\n * ```tsx\n * const { mutate: transferWalletAccount, isPending } =\n * useTransferWalletAccount();\n * transferWalletAccount({ walletProviderKey });\n * ```\n */\nexport const useTransferWalletAccount = ({\n mutateParams,\n}: UseTransferWalletAccountParams = {}) =>\n useBaseMutation<TransferWalletAccountResult, TransferWalletAccountVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n transferWalletAccount(variables, client),\n });\n","import { unlinkSocialAccount } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype UnlinkSocialAccountVariables = Parameters<typeof unlinkSocialAccount>[0];\ntype UnlinkSocialAccountResult = Awaited<\n ReturnType<typeof unlinkSocialAccount>\n>;\n\nexport type UseUnlinkSocialAccountParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n UnlinkSocialAccountResult,\n UnlinkSocialAccountVariables\n >['mutateParams'];\n};\n\n/**\n * Unlinks a social account from the current user.\n *\n * Wraps `unlinkSocialAccount` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ verifiedCredentialId })` with the id of the social credential\n * to remove (e.g. from {@link useGetUserSocialAccounts}); the resolved `data`\n * is the updated `VerifyResponse`.\n *\n * @example\n * ```tsx\n * const { mutate: unlinkSocial, isPending } = useUnlinkSocialAccount();\n * <button\n * onClick={() => unlinkSocial({ verifiedCredentialId })}\n * disabled={isPending}\n * >\n * Disconnect\n * </button>\n * ```\n */\nexport const useUnlinkSocialAccount = ({\n mutateParams,\n}: UseUnlinkSocialAccountParams = {}) =>\n useBaseMutation<UnlinkSocialAccountResult, UnlinkSocialAccountVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n unlinkSocialAccount(variables, client),\n });\n","import { updateUser } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype UpdateUserVariables = Parameters<typeof updateUser>[0];\ntype UpdateUserResult = Awaited<ReturnType<typeof updateUser>>;\n\nexport type UseUpdateUserParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n UpdateUserResult,\n UpdateUserVariables\n >['mutateParams'];\n};\n\n/**\n * Updates the current user's profile information.\n *\n * Wraps `updateUser` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ userFields })` to push the new values; if a sensitive field\n * (email, phone) changed the resolved `data` will contain an\n * `OTPVerification` payload the caller needs to follow up on, otherwise\n * `data` is `undefined`.\n *\n * @example\n * ```tsx\n * const { mutate: updateUser, data: otp, isPending } = useUpdateUser();\n * <button\n * onClick={() => updateUser({ userFields: { firstName: 'Velma' } })}\n * disabled={isPending}\n * >\n * Save\n * </button>\n * ```\n */\nexport const useUpdateUser = ({ mutateParams }: UseUpdateUserParams = {}) =>\n useBaseMutation<UpdateUserResult, UpdateUserVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => updateUser(variables, client),\n });\n","import { getUserSocialAccounts } from '@dynamic-labs-sdk/client';\n\nimport { useBaseState } from '../../../../foundation/useBaseState';\n\n/**\n * Returns the current user's linked social accounts.\n *\n * Re-renders when the user changes. Resolves to an empty list while no user is\n * authenticated — the guard is required because the selector runs synchronously\n * and `getUserSocialAccounts` throws (`assertDefined`) when there is no user.\n */\nexport const useGetUserSocialAccounts = () =>\n useBaseState({\n defaultValue: [],\n event: 'userChanged',\n queryKey: ['useGetUserSocialAccounts'],\n selector: (client) => (client.user ? getUserSocialAccounts(client) : []),\n });\n","import { verifyOTP } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype VerifyOTPVariables = Parameters<typeof verifyOTP>[0];\ntype VerifyOTPResult = Awaited<ReturnType<typeof verifyOTP>>;\n\nexport type UseVerifyOTPParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n VerifyOTPResult,\n VerifyOTPVariables\n >['mutateParams'];\n};\n\n/**\n * Verifies a one-time password the user received via email or SMS.\n *\n * Wraps `verifyOTP` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ otpVerification, verificationToken })` with the\n * `OTPVerification` returned by {@link useSendEmailOTP} /\n * {@link useSendSmsOTP} and the code the user entered. A single hook\n * covers both flows — `verifyOTP` resolves sign-in vs. user-update\n * internally based on the current session.\n *\n * @example\n * ```tsx\n * const { mutate: verifyOTP, isPending } = useVerifyOTP();\n * <button\n * onClick={() => verifyOTP({ otpVerification, verificationToken: code })}\n * disabled={isPending}\n * >\n * Verify\n * </button>\n * ```\n */\nexport const useVerifyOTP = ({ mutateParams }: UseVerifyOTPParams = {}) =>\n useBaseMutation<VerifyOTPResult, VerifyOTPVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => verifyOTP(variables, client),\n });\n","import { verifyWalletAccount } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype VerifyWalletAccountVariables = Parameters<typeof verifyWalletAccount>[0];\ntype VerifyWalletAccountResult = Awaited<ReturnType<typeof verifyWalletAccount>>;\n\nexport type UseVerifyWalletAccountParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n VerifyWalletAccountResult,\n VerifyWalletAccountVariables\n >['mutateParams'];\n};\n\n/**\n * Verifies ownership of a wallet account and adds it to the user's profile.\n *\n * Wraps `verifyWalletAccount` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ walletAccount })` to trigger the verification flow — the\n * wallet provider will prompt the user to sign a proof-of-ownership\n * message. On success, `data` resolves to the verified\n * {@link WalletAccount}.\n *\n * Throws `WalletAccountAlreadyVerifiedError` if the wallet is already\n * verified, or `WalletAlreadyLinkedToAnotherUserError` if the wallet is\n * linked to a different user — both surface through `error`.\n *\n * @example\n * ```tsx\n * const { mutate: verifyWalletAccount, isPending } = useVerifyWalletAccount();\n * <button\n * onClick={() => verifyWalletAccount({ walletAccount })}\n * disabled={isPending}\n * >\n * Verify\n * </button>\n * ```\n */\nexport const useVerifyWalletAccount = ({\n mutateParams,\n}: UseVerifyWalletAccountParams = {}) =>\n useBaseMutation<VerifyWalletAccountResult, VerifyWalletAccountVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n verifyWalletAccount(variables, client),\n });\n","import { getWalletAccounts } from '@dynamic-labs-sdk/client';\n\nimport { useBaseState } from '../../../../foundation/useBaseState';\n\n/**\n * Returns all wallet accounts connected to the current user.\n *\n * Re-renders when wallet accounts change (connect, disconnect, verify).\n */\nexport const useGetWalletAccounts = () =>\n useBaseState({\n defaultValue: [],\n // wallet accounts derive from both unverifiedWalletAccounts state and\n // user.verifiedCredentials, so we need to refresh on either change\n event: { userChanged: true, walletAccountsChanged: true },\n queryKey: ['useGetWalletAccounts'],\n selector: (client) => getWalletAccounts(client),\n });\n","import { getWalletConnectCatalog } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetWalletConnectCatalogResult = Awaited<\n ReturnType<typeof getWalletConnectCatalog>\n>;\n\nexport type UseGetWalletConnectCatalogParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetWalletConnectCatalogResult>['queryParams'];\n};\n\n/**\n * Returns the WalletConnect catalog (groups and wallets) used for displaying\n * wallet information and building mobile wallet deeplinks.\n *\n * Wraps `getWalletConnectCatalog` from `@dynamic-labs-sdk/client`.\n *\n * @example\n * ```tsx\n * const { data: catalog, isLoading } = useGetWalletConnectCatalog();\n * ```\n */\nexport const useGetWalletConnectCatalog = ({\n queryParams,\n}: UseGetWalletConnectCatalogParams = {}) =>\n useBaseQuery<GetWalletConnectCatalogResult>({\n queryFn: (client) => getWalletConnectCatalog(client),\n queryKey: ['useGetWalletConnectCatalog'],\n queryParams,\n });\n","import { getWalletConnectCatalogWalletByWalletProviderKey } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype WalletConnectCatalogWalletByWalletProviderKeyResult = Awaited<ReturnType<typeof getWalletConnectCatalogWalletByWalletProviderKey>>;\ntype WalletConnectCatalogWalletByWalletProviderKeyArgs = Parameters<typeof getWalletConnectCatalogWalletByWalletProviderKey>[0];\n\nexport type UseGetWalletConnectCatalogWalletByWalletProviderKeyParams = WalletConnectCatalogWalletByWalletProviderKeyArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<WalletConnectCatalogWalletByWalletProviderKeyResult>['queryParams'];\n};\n\n/**\n * Returns the WalletConnect catalog wallet for the given wallet provider key.\n *\n * Wraps `getWalletConnectCatalogWalletByWalletProviderKey` from `@dynamic-labs-sdk/client`.\n */\nexport const useGetWalletConnectCatalogWalletByWalletProviderKey = ({ queryParams, ...args }: UseGetWalletConnectCatalogWalletByWalletProviderKeyParams) =>\n useBaseQuery<WalletConnectCatalogWalletByWalletProviderKeyResult>({\n queryFn: (client) => getWalletConnectCatalogWalletByWalletProviderKey(args, client),\n queryKey: ['useGetWalletConnectCatalogWalletByWalletProviderKey', args],\n queryParams,\n });\n","import { getWalletOptionsCatalogue } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnEvent } from '../../../../middlewares/invalidateOnEvent';\n\ntype GetWalletOptionsCatalogueResult = Awaited<\n ReturnType<typeof getWalletOptionsCatalogue>\n>;\ntype GetWalletOptionsCatalogueArgs = NonNullable<\n Parameters<typeof getWalletOptionsCatalogue>[0]\n>;\n\n/**\n * Freshness window for the catalogue, in milliseconds.\n *\n * The catalogue is derived from two near-static sources: the in-memory wallet\n * provider registry and the wallet-book document served from a CDN. With\n * react-query's default `staleTime: 0` the data is stale the instant it\n * arrives, so every new mount/observer (e.g. reopening the wallet list)\n * refetches the CDN document even though nothing changed — needlessly\n * hammering the CDN. A 1h window serves cached data to remounts; the registry\n * event middlewares below still force an immediate refetch on any real change,\n * so reactivity is preserved.\n */\nconst CATALOGUE_STALE_TIME_MS = 3_600_000;\n\nexport type UseGetWalletOptionsCatalogueParams = GetWalletOptionsCatalogueArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.). Spread last, so overrides win over the\n * hook's CDN-aware defaults.\n */\n queryParams?: UseBaseQueryParams<GetWalletOptionsCatalogueResult>['queryParams'];\n};\n\n/**\n * Wraps `getWalletOptionsCatalogue` from `@dynamic-labs-sdk/client`. Returns the catalogue of wallet options the project supports.\n *\n * Automatically refetches when the wallet provider registry changes: EIP-6963\n * wallets fill the registry asynchronously after mount, and the registry emits\n * `walletProviderChanged` (on register / priority update) and\n * `walletProviderUnregistered` (on removal). Wiring both keeps the catalogue in\n * sync without consumers pairing the hook with a manual listener.\n *\n * @example\n * ```tsx\n * const { data: catalogue, isLoading } = useGetWalletOptionsCatalogue();\n * ```\n */\nexport const useGetWalletOptionsCatalogue = ({\n queryParams,\n ...args\n}: UseGetWalletOptionsCatalogueParams = {}) =>\n useBaseQuery<GetWalletOptionsCatalogueResult>({\n middlewares: [\n invalidateOnEvent({ event: 'walletProviderChanged' }),\n invalidateOnEvent({ event: 'walletProviderUnregistered' }),\n ],\n queryFn: (client) => getWalletOptionsCatalogue(args, client),\n queryKey: ['useGetWalletOptionsCatalogue', args],\n queryParams: {\n // `getWalletOptionsCatalogue` already retries the wallet-book CDN\n // internally and falls back to a cached copy, so react-query's default 3\n // retries would only stack redundant requests on a failing network.\n retry: false,\n staleTime: CATALOGUE_STALE_TIME_MS,\n // Consumer overrides win over the above CDN-aware defaults.\n ...queryParams,\n },\n });\n","import { getWalletProviderDataByKey } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnEvent } from '../../../../middlewares/invalidateOnEvent';\n\ntype GetWalletProviderDataByKeyResult = Awaited<\n ReturnType<typeof getWalletProviderDataByKey>\n>;\ntype GetWalletProviderDataByKeyArgs = Parameters<\n typeof getWalletProviderDataByKey\n>[0];\n\nexport type UseGetWalletProviderDataByKeyParams =\n GetWalletProviderDataByKeyArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, enabled, etc.).\n */\n queryParams?: NonNullable<\n UseBaseQueryParams<GetWalletProviderDataByKeyResult>['queryParams']\n >;\n };\n\n/**\n * Wraps `getWalletProviderDataByKey` from `@dynamic-labs-sdk/client`. Returns\n * the display/connection data for a single wallet provider, by key.\n *\n * The underlying data is read from the in-memory wallet provider registry,\n * which EIP-6963 wallets fill asynchronously after mount. The registry emits\n * `walletProviderChanged` on register / priority update, so wiring it keeps the\n * provider data in sync without consumers pairing the hook with a manual\n * `useOnEvent` + `refetch` listener.\n *\n * `walletProviderUnregistered` is intentionally not wired here: this hook reads\n * a single key, and once that key is removed there is no replacement data to\n * fetch — refetching would only make `getWalletProviderDataByKey` throw\n * `NoWalletProviderFoundError`. Skipping it keeps the last-known data instead of\n * forcing the query into an error state.\n *\n * @example\n * ```tsx\n * const { data: walletProviderData } = useGetWalletProviderDataByKey({\n * walletProviderKey,\n * });\n * ```\n */\nexport const useGetWalletProviderDataByKey = ({\n queryParams,\n ...args\n}: UseGetWalletProviderDataByKeyParams) =>\n useBaseQuery<GetWalletProviderDataByKeyResult>({\n middlewares: [invalidateOnEvent({ event: 'walletProviderChanged' })],\n // `getWalletProviderDataByKey` resolves synchronously, but `useBaseQuery`\n // expects a promise-returning `queryFn`, so wrap the result.\n queryFn: (client) =>\n Promise.resolve(getWalletProviderDataByKey(args, client)),\n queryKey: ['useGetWalletProviderDataByKey', args],\n queryParams,\n });\n","import { isDeviceRegistrationRequired } from '@dynamic-labs-sdk/client';\n\nimport { useBaseState } from '../../../../foundation/useBaseState';\n\n/**\n * Returns whether the current user still needs to register this device.\n *\n * Re-renders when the user changes (login, logout, completing device\n * registration). Resolves to `false` while no user is authenticated.\n */\nexport const useIsDeviceRegistrationRequired = () =>\n useBaseState({\n defaultValue: false,\n event: 'userChanged',\n queryKey: ['useIsDeviceRegistrationRequired'],\n selector: (client) =>\n client.user ? isDeviceRegistrationRequired(client.user) : false,\n });\n","import { isUserMissingMfaAuth } from '@dynamic-labs-sdk/client';\n\nimport { useBaseState } from '../../../../foundation/useBaseState';\n\n/**\n * Returns whether the current user still needs to complete an MFA challenge.\n *\n * Re-renders when the user changes (login, logout, completing the MFA\n * challenge). Resolves to `false` while no user is authenticated.\n */\nexport const useIsUserMissingMfaAuth = () =>\n useBaseState({\n defaultValue: false,\n event: 'userChanged',\n queryKey: ['useIsUserMissingMfaAuth'],\n selector: (client) => (client.user ? isUserMissingMfaAuth(client) : false),\n });\n","import { isPendingRecoveryCodesAcknowledgment } from '@dynamic-labs-sdk/client';\n\nimport { useBaseState } from '../../../../foundation/useBaseState';\n\n/**\n * Returns whether the current user still needs to acknowledge their MFA\n * recovery codes.\n *\n * Re-renders when the user changes (login, logout, acknowledging the recovery\n * codes). Resolves to `false` while no user is authenticated.\n */\nexport const useIsPendingRecoveryCodesAcknowledgment = () =>\n useBaseState({\n defaultValue: false,\n event: 'userChanged',\n queryKey: ['useIsPendingRecoveryCodesAcknowledgment'],\n selector: (client) =>\n client.user ? isPendingRecoveryCodesAcknowledgment(client) : false,\n });\n","import { isUserOnboardingComplete } from '@dynamic-labs-sdk/client';\n\nimport { useBaseState } from '../../../../foundation/useBaseState';\n\n/**\n * Returns whether the current user has completed every onboarding requirement\n * (KYC fields, MFA, recovery codes acknowledgment, device registration).\n *\n * Re-renders when the user changes (login, logout, completing any onboarding\n * step). Resolves to `false` while no user is authenticated.\n */\nexport const useIsUserOnboardingComplete = () =>\n useBaseState({\n defaultValue: false,\n event: 'userChanged',\n queryKey: ['useIsUserOnboardingComplete'],\n selector: (client) =>\n client.user ? isUserOnboardingComplete(client) : false,\n });\n","import { backupWaasKeySharesToGoogleDrive } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype BackupWaasKeySharesToGoogleDriveVariables = Parameters<typeof backupWaasKeySharesToGoogleDrive>[0];\ntype BackupWaasKeySharesToGoogleDriveResult = Awaited<ReturnType<typeof backupWaasKeySharesToGoogleDrive>>;\n\n/**\n * Parameters for {@link useBackupWaasKeySharesToGoogleDrive}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseBackupWaasKeySharesToGoogleDriveParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useBackupWaasKeySharesToGoogleDrive\n * @see backupWaasKeySharesToGoogleDrive\n */\nexport type UseBackupWaasKeySharesToGoogleDriveParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<BackupWaasKeySharesToGoogleDriveResult, BackupWaasKeySharesToGoogleDriveVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `backupWaasKeySharesToGoogleDrive` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * back up an embedded wallet's key shares to the user's Google Drive.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useBackupWaasKeySharesToGoogleDrive();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `backupWaasKeySharesToGoogleDrive` and whose `data` is its resolved value.\n * @see backupWaasKeySharesToGoogleDrive\n * @see UseBackupWaasKeySharesToGoogleDriveParams\n */\nexport const useBackupWaasKeySharesToGoogleDrive = ({ mutateParams }: UseBackupWaasKeySharesToGoogleDriveParams = {}) =>\n useBaseMutation<BackupWaasKeySharesToGoogleDriveResult, BackupWaasKeySharesToGoogleDriveVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => backupWaasKeySharesToGoogleDrive(variables, client),\n });\n","import { createWaasWalletAccounts } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype CreateWaasWalletAccountsVariables = Parameters<typeof createWaasWalletAccounts>[0];\ntype CreateWaasWalletAccountsResult = Awaited<ReturnType<typeof createWaasWalletAccounts>>;\n\n/**\n * Parameters for {@link useCreateWaasWalletAccounts}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseCreateWaasWalletAccountsParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useCreateWaasWalletAccounts\n * @see createWaasWalletAccounts\n */\nexport type UseCreateWaasWalletAccountsParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<CreateWaasWalletAccountsResult, CreateWaasWalletAccountsVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `createWaasWalletAccounts` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * create embedded wallet accounts for the signed-in user.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useCreateWaasWalletAccounts();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `createWaasWalletAccounts` and whose `data` is its resolved value.\n * @see createWaasWalletAccounts\n * @see UseCreateWaasWalletAccountsParams\n */\nexport const useCreateWaasWalletAccounts = ({ mutateParams }: UseCreateWaasWalletAccountsParams = {}) =>\n useBaseMutation<CreateWaasWalletAccountsResult, CreateWaasWalletAccountsVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => createWaasWalletAccounts(variables, client),\n });\n","import { createWalletForBusinessAccount } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype CreateWalletForBusinessAccountVariables = Parameters<typeof createWalletForBusinessAccount>[0];\ntype CreateWalletForBusinessAccountResult = Awaited<ReturnType<typeof createWalletForBusinessAccount>>;\n\n/**\n * Parameters for {@link useCreateWalletForBusinessAccount}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseCreateWalletForBusinessAccountParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useCreateWalletForBusinessAccount\n * @see createWalletForBusinessAccount\n */\nexport type UseCreateWalletForBusinessAccountParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<CreateWalletForBusinessAccountResult, CreateWalletForBusinessAccountVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `createWalletForBusinessAccount` from `@dynamic-labs-sdk/client/waas`. Call\n * `mutate(variables)` to create a WaaS wallet owned directly by a business account in one step.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useCreateWalletForBusinessAccount();\n * <button\n * onClick={() => mutate({ businessAccountId: 'ba-1', chain: 'EVM' })}\n * disabled={isPending}\n * >\n * Create wallet\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `createWalletForBusinessAccount` and whose `data` is its resolved value.\n * @see createWalletForBusinessAccount\n * @see UseCreateWalletForBusinessAccountParams\n */\nexport const useCreateWalletForBusinessAccount = ({ mutateParams }: UseCreateWalletForBusinessAccountParams = {}) =>\n useBaseMutation<CreateWalletForBusinessAccountResult, CreateWalletForBusinessAccountVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => createWalletForBusinessAccount(variables, client),\n });\n","import { delegateWaasKeyShares } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype DelegateWaasKeySharesVariables = Parameters<typeof delegateWaasKeyShares>[0];\ntype DelegateWaasKeySharesResult = Awaited<ReturnType<typeof delegateWaasKeyShares>>;\n\n/**\n * Parameters for {@link useDelegateWaasKeyShares}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseDelegateWaasKeySharesParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useDelegateWaasKeyShares\n * @see delegateWaasKeyShares\n */\nexport type UseDelegateWaasKeySharesParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<DelegateWaasKeySharesResult, DelegateWaasKeySharesVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `delegateWaasKeyShares` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * delegate signing access for an embedded wallet to your server.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useDelegateWaasKeyShares();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `delegateWaasKeyShares` and whose `data` is its resolved value.\n * @see delegateWaasKeyShares\n * @see UseDelegateWaasKeySharesParams\n */\nexport const useDelegateWaasKeyShares = ({ mutateParams }: UseDelegateWaasKeySharesParams = {}) =>\n useBaseMutation<DelegateWaasKeySharesResult, DelegateWaasKeySharesVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => delegateWaasKeyShares(variables, client),\n });\n","import { exportWaasClientKeyshares } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype ExportWaasClientKeysharesVariables = Parameters<typeof exportWaasClientKeyshares>[0];\ntype ExportWaasClientKeysharesResult = Awaited<ReturnType<typeof exportWaasClientKeyshares>>;\n\n/**\n * Parameters for {@link useExportWaasClientKeyshares}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseExportWaasClientKeysharesParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useExportWaasClientKeyshares\n * @see exportWaasClientKeyshares\n */\nexport type UseExportWaasClientKeysharesParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<ExportWaasClientKeysharesResult, ExportWaasClientKeysharesVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `exportWaasClientKeyshares` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * export an embedded wallet's client key shares.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useExportWaasClientKeyshares();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `exportWaasClientKeyshares` and whose `data` is its resolved value.\n * @see exportWaasClientKeyshares\n * @see UseExportWaasClientKeysharesParams\n */\nexport const useExportWaasClientKeyshares = ({ mutateParams }: UseExportWaasClientKeysharesParams = {}) =>\n useBaseMutation<ExportWaasClientKeysharesResult, ExportWaasClientKeysharesVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => exportWaasClientKeyshares(variables, client),\n });\n","import { exportWaasPrivateKey } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype ExportWaasPrivateKeyVariables = Parameters<typeof exportWaasPrivateKey>[0];\ntype ExportWaasPrivateKeyResult = Awaited<ReturnType<typeof exportWaasPrivateKey>>;\n\n/**\n * Parameters for {@link useExportWaasPrivateKey}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseExportWaasPrivateKeyParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useExportWaasPrivateKey\n * @see exportWaasPrivateKey\n */\nexport type UseExportWaasPrivateKeyParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<ExportWaasPrivateKeyResult, ExportWaasPrivateKeyVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `exportWaasPrivateKey` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * export an embedded wallet's private key.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useExportWaasPrivateKey();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `exportWaasPrivateKey` and whose `data` is its resolved value.\n * @see exportWaasPrivateKey\n * @see UseExportWaasPrivateKeyParams\n */\nexport const useExportWaasPrivateKey = ({ mutateParams }: UseExportWaasPrivateKeyParams = {}) =>\n useBaseMutation<ExportWaasPrivateKeyResult, ExportWaasPrivateKeyVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => exportWaasPrivateKey(variables, client),\n });\n","import type { WalletAccount } from '@dynamic-labs-sdk/client';\nimport { getWalletRecoveryState } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetWalletRecoveryStateResult = Awaited<\n ReturnType<typeof getWalletRecoveryState>\n>;\n\n/**\n * Parameters for {@link useGetWalletRecoveryState}: the embedded wallet account to read recovery\n * state for, plus optional react-query options.\n *\n * @example\n * ```tsx\n * const params: UseGetWalletRecoveryStateParams = { walletAccount };\n * ```\n * @see useGetWalletRecoveryState\n * @see getWalletRecoveryState\n */\nexport type UseGetWalletRecoveryStateParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: NonNullable<UseBaseQueryParams<GetWalletRecoveryStateResult>['queryParams']>;\n /**\n * **Pseudo-required.** The embedded wallet account to read recovery state\n * for. Accepting `undefined` lets callers wire this up before the wallet\n * account has loaded — the hook stays disabled until a real value is\n * supplied.\n */\n walletAccount: WalletAccount | undefined;\n};\n\n/**\n * Returns the recovery state of an embedded wallet account — whether the user\n * still needs to set a password, back up their key shares, etc.\n *\n * Wraps `getWalletRecoveryState` from `@dynamic-labs-sdk/client/waas`. The hook\n * stays disabled until `walletAccount` is defined.\n *\n * @example\n * ```tsx\n * const { data, isLoading } = useGetWalletRecoveryState({ walletAccount });\n * ```\n *\n * @returns A react-query result whose `data` is the wallet account's recovery state; it stays disabled until `walletAccount` is defined.\n * @see getWalletRecoveryState\n * @see UseGetWalletRecoveryStateParams\n */\nexport const useGetWalletRecoveryState = ({\n queryParams,\n walletAccount,\n}: UseGetWalletRecoveryStateParams) =>\n useBaseQuery<GetWalletRecoveryStateResult>({\n enabled: walletAccount !== undefined,\n queryFn: (client) =>\n getWalletRecoveryState(\n // safe: `enabled` guarantees walletAccount is defined when queryFn runs\n { walletAccount: walletAccount as WalletAccount },\n client,\n ),\n queryKey: ['useGetWalletRecoveryState', walletAccount?.id],\n queryParams,\n });\n","import { importWaasPrivateKey } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype ImportWaasPrivateKeyVariables = Parameters<typeof importWaasPrivateKey>[0];\ntype ImportWaasPrivateKeyResult = Awaited<ReturnType<typeof importWaasPrivateKey>>;\n\n/**\n * Parameters for {@link useImportWaasPrivateKey}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseImportWaasPrivateKeyParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useImportWaasPrivateKey\n * @see importWaasPrivateKey\n */\nexport type UseImportWaasPrivateKeyParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<ImportWaasPrivateKeyResult, ImportWaasPrivateKeyVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `importWaasPrivateKey` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * import a private key into a new embedded wallet account.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useImportWaasPrivateKey();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `importWaasPrivateKey` and whose `data` is its resolved value.\n * @see importWaasPrivateKey\n * @see UseImportWaasPrivateKeyParams\n */\nexport const useImportWaasPrivateKey = ({ mutateParams }: UseImportWaasPrivateKeyParams = {}) =>\n useBaseMutation<ImportWaasPrivateKeyResult, ImportWaasPrivateKeyVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => importWaasPrivateKey(variables, client),\n });\n","import { migrateFromFireblocks } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype MigrateFromFireblocksVariables = Parameters<typeof migrateFromFireblocks>[0];\ntype MigrateFromFireblocksResult = Awaited<ReturnType<typeof migrateFromFireblocks>>;\n\n/**\n * Parameters for {@link useMigrateFromFireblocks}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseMigrateFromFireblocksParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useMigrateFromFireblocks\n * @see migrateFromFireblocks\n */\nexport type UseMigrateFromFireblocksParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<MigrateFromFireblocksResult, MigrateFromFireblocksVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `migrateFromFireblocks` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * migrate a user's legacy Fireblocks wallet to an embedded wallet.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useMigrateFromFireblocks();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `migrateFromFireblocks` and whose `data` is its resolved value.\n * @see migrateFromFireblocks\n * @see UseMigrateFromFireblocksParams\n */\nexport const useMigrateFromFireblocks = ({ mutateParams }: UseMigrateFromFireblocksParams = {}) =>\n useBaseMutation<MigrateFromFireblocksResult, MigrateFromFireblocksVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => migrateFromFireblocks(variables, client),\n });\n","import { refreshWaasWalletAccountShares } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype RefreshWaasWalletAccountSharesVariables = Parameters<typeof refreshWaasWalletAccountShares>[0];\ntype RefreshWaasWalletAccountSharesResult = Awaited<ReturnType<typeof refreshWaasWalletAccountShares>>;\n\n/**\n * Parameters for {@link useRefreshWaasWalletAccountShares}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseRefreshWaasWalletAccountSharesParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useRefreshWaasWalletAccountShares\n * @see refreshWaasWalletAccountShares\n */\nexport type UseRefreshWaasWalletAccountSharesParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<RefreshWaasWalletAccountSharesResult, RefreshWaasWalletAccountSharesVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `refreshWaasWalletAccountShares` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * refresh an embedded wallet account's key shares.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useRefreshWaasWalletAccountShares();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `refreshWaasWalletAccountShares` and whose `data` is its resolved value.\n * @see refreshWaasWalletAccountShares\n * @see UseRefreshWaasWalletAccountSharesParams\n */\nexport const useRefreshWaasWalletAccountShares = ({ mutateParams }: UseRefreshWaasWalletAccountSharesParams = {}) =>\n useBaseMutation<RefreshWaasWalletAccountSharesResult, RefreshWaasWalletAccountSharesVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => refreshWaasWalletAccountShares(variables, client),\n });\n","import { revokeWaasDelegation } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype RevokeWaasDelegationVariables = Parameters<typeof revokeWaasDelegation>[0];\ntype RevokeWaasDelegationResult = Awaited<ReturnType<typeof revokeWaasDelegation>>;\n\n/**\n * Parameters for {@link useRevokeWaasDelegation}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseRevokeWaasDelegationParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useRevokeWaasDelegation\n * @see revokeWaasDelegation\n */\nexport type UseRevokeWaasDelegationParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<RevokeWaasDelegationResult, RevokeWaasDelegationVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `revokeWaasDelegation` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * revoke an embedded wallet's previously granted delegated signing access.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useRevokeWaasDelegation();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `revokeWaasDelegation` and whose `data` is its resolved value.\n * @see revokeWaasDelegation\n * @see UseRevokeWaasDelegationParams\n */\nexport const useRevokeWaasDelegation = ({ mutateParams }: UseRevokeWaasDelegationParams = {}) =>\n useBaseMutation<RevokeWaasDelegationResult, RevokeWaasDelegationVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => revokeWaasDelegation(variables, client),\n });\n","import { setWaasWalletAccountPassword } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype SetWaasWalletAccountPasswordVariables = Parameters<typeof setWaasWalletAccountPassword>[0];\ntype SetWaasWalletAccountPasswordResult = Awaited<ReturnType<typeof setWaasWalletAccountPassword>>;\n\n/**\n * Parameters for {@link useSetWaasWalletAccountPassword}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseSetWaasWalletAccountPasswordParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useSetWaasWalletAccountPassword\n * @see setWaasWalletAccountPassword\n */\nexport type UseSetWaasWalletAccountPasswordParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<SetWaasWalletAccountPasswordResult, SetWaasWalletAccountPasswordVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `setWaasWalletAccountPassword` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * set a password on an embedded wallet account.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useSetWaasWalletAccountPassword();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `setWaasWalletAccountPassword` and whose `data` is its resolved value.\n * @see setWaasWalletAccountPassword\n * @see UseSetWaasWalletAccountPasswordParams\n */\nexport const useSetWaasWalletAccountPassword = ({ mutateParams }: UseSetWaasWalletAccountPasswordParams = {}) =>\n useBaseMutation<SetWaasWalletAccountPasswordResult, SetWaasWalletAccountPasswordVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => setWaasWalletAccountPassword(variables, client),\n });\n","import { unlockWallet } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype UnlockWalletVariables = Parameters<typeof unlockWallet>[0];\ntype UnlockWalletResult = Awaited<ReturnType<typeof unlockWallet>>;\n\n/**\n * Parameters for {@link useUnlockWallet}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseUnlockWalletParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useUnlockWallet\n * @see unlockWallet\n */\nexport type UseUnlockWalletParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<UnlockWalletResult, UnlockWalletVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `unlockWallet` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * unlock an embedded wallet account with its password.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useUnlockWallet();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `unlockWallet` and whose `data` is its resolved value.\n * @see unlockWallet\n * @see UseUnlockWalletParams\n */\nexport const useUnlockWallet = ({ mutateParams }: UseUnlockWalletParams = {}) =>\n useBaseMutation<UnlockWalletResult, UnlockWalletVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => unlockWallet(variables, client),\n });\n","import { updateWaasPassword } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype UpdateWaasPasswordVariables = Parameters<typeof updateWaasPassword>[0];\ntype UpdateWaasPasswordResult = Awaited<ReturnType<typeof updateWaasPassword>>;\n\n/**\n * Parameters for {@link useUpdateWaasPassword}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseUpdateWaasPasswordParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useUpdateWaasPassword\n * @see updateWaasPassword\n */\nexport type UseUpdateWaasPasswordParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<UpdateWaasPasswordResult, UpdateWaasPasswordVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `updateWaasPassword` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * update the password protecting an embedded wallet account.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useUpdateWaasPassword();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `updateWaasPassword` and whose `data` is its resolved value.\n * @see updateWaasPassword\n * @see UseUpdateWaasPasswordParams\n */\nexport const useUpdateWaasPassword = ({ mutateParams }: UseUpdateWaasPasswordParams = {}) =>\n useBaseMutation<UpdateWaasPasswordResult, UpdateWaasPasswordVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => updateWaasPassword(variables, client),\n });\n","import type { DynamicInitStatus } from '@dynamic-labs-sdk/client';\n\nimport { useBaseState } from '../../../../foundation/useBaseState';\n\n/**\n * Narrowed result surface for `useInitStatus`.\n *\n * This is an **exceptional** state hook: unlike every other hook built on\n * `useBaseState` (which returns the full react-query result), it deliberately\n * exposes only the init status (`data`) and the init error. The usual\n * `isLoading` / `isFetching` / `isPlaceholderData` / `refetch` surface is\n * meaningless here because `data` already mirrors the client's own init\n * lifecycle (`'uninitialized' → 'in-progress' → 'finished' | 'failed'`), so\n * surfacing it would only invite callers to gate on the wrong signal.\n */\nexport type UseInitStatusResult = {\n /**\n * Current client initialization status. Reactive — updates whenever the\n * client emits `initStatusChanged`.\n *\n * `'uninitialized' | 'in-progress' | 'finished' | 'failed'`. A `'failed'`\n * value is the authoritative signal that initialization failed.\n */\n data: DynamicInitStatus | undefined;\n /**\n * The error that caused initialization to fail, or `null` when init has not\n * failed. When `data === 'failed'` this holds *why* it failed (unless a\n * non-`Error` value was thrown, in which case it is `null`).\n */\n error: Error | null;\n /**\n * `true` iff initialization failed with an `Error` (i.e. `error` is\n * non-null).\n */\n isError: boolean;\n};\n\n/**\n * Internal reactive shape read from client state: the init status plus the\n * error that caused a failure, kept together so a single subscription drives\n * both fields.\n */\ntype InitState = {\n error: Error | null;\n status: DynamicInitStatus;\n};\n\n/**\n * Returns the current initialization status of the Dynamic client, plus the\n * error that caused initialization to fail (when it did).\n *\n * Exposes only `data` (the reactive init status), `error` and `isError` —\n * see {@link UseInitStatusResult}. Possible `data` values: `'uninitialized'`,\n * `'in-progress'`, `'finished'`, `'failed'`. When `data === 'failed'`, `error`\n * carries the failure reason.\n *\n * @example\n * ```tsx\n * const { data: status, error } = useInitStatus();\n * if (status === 'failed') return <InitErrorScreen message={error?.message} />;\n * if (status !== 'finished') return <LoadingScreen />;\n * return <App />;\n * ```\n *\n * @notInstrumented\n */\nexport const useInitStatus = (): UseInitStatusResult => {\n const { data } = useBaseState<InitState>({\n defaultValue: { error: null, status: 'uninitialized' },\n event: 'initStatusChanged',\n queryKey: ['useInitStatus'],\n selector: (client) => ({\n error: client.initError,\n status: client.initStatus,\n }),\n // exception: this hook exposes init state *during* init, so it must not\n // gate on waitForClientInitialized.\n skipWaitForInit: true,\n });\n\n const error = data?.error ?? null;\n\n return { data: data?.status, error, isError: error !== null };\n};\n","import { useBaseState } from '../../../../foundation/useBaseState';\n\n/**\n * Returns the session expiration date, or null if no active session.\n *\n * Re-renders when the user changes (which includes session updates).\n */\nexport const useSessionExpiresAt = () =>\n useBaseState({\n defaultValue: null,\n event: 'userChanged',\n queryKey: ['useSessionExpiresAt'],\n selector: (client) => client.sessionExpiresAt,\n });\n","import { useBaseState } from '../../../../foundation/useBaseState';\n\n/**\n * Returns the current authenticated user, or null if not authenticated.\n *\n * Re-renders when the user changes (login, logout, profile update).\n */\nexport const useUser = () =>\n useBaseState({\n defaultValue: null,\n event: 'userChanged',\n queryKey: ['useUser'],\n selector: (client) => client.user,\n });\n","import { assertPackageVersion } from '@dynamic-labs-sdk/assert-package-version';\n\nimport {\n name as packageName,\n version as packageVersion,\n} from '../../package.json';\nassertPackageVersion(packageName, packageVersion);\n\nexport {\n useAcknowledgeRecoveryCodes,\n type UseAcknowledgeRecoveryCodesParams,\n} from '../hooks/wrappers/functions/useAcknowledgeRecoveryCodes';\nexport {\n useGetActiveNetworkData,\n type UseGetActiveNetworkDataParams,\n} from '../hooks/wrappers/functions/useGetActiveNetworkData';\nexport {\n useGetActiveNetworkId,\n type UseGetActiveNetworkIdParams,\n} from '../hooks/wrappers/functions/useGetActiveNetworkId';\nexport {\n useAddBusinessAccountMember,\n type UseAddBusinessAccountMemberParams,\n} from '../hooks/wrappers/functions/useAddBusinessAccountMember';\nexport {\n useAddBusinessAccountSigner,\n type UseAddBusinessAccountSignerParams,\n} from '../hooks/wrappers/functions/useAddBusinessAccountSigner';\nexport {\n useAddNetwork,\n type UseAddNetworkParams,\n} from '../hooks/wrappers/functions/useAddNetwork';\nexport {\n useAddWalletToBusinessAccount,\n type UseAddWalletToBusinessAccountParams,\n} from '../hooks/wrappers/functions/useAddWalletToBusinessAccount';\nexport {\n useAssertWalletAccountSigningAvailability,\n type UseAssertWalletAccountSigningAvailabilityParams,\n} from '../hooks/wrappers/functions/useAssertWalletAccountSigningAvailability';\nexport {\n useAttachFlowSource,\n type UseAttachFlowSourceParams,\n} from '../hooks/wrappers/functions/useAttachFlowSource';\nexport {\n useAuthenticateMfaRecoveryCode,\n type UseAuthenticateMfaRecoveryCodeParams,\n} from '../hooks/wrappers/functions/useAuthenticateMfaRecoveryCode';\nexport {\n useAuthenticatePasskeyMFA,\n type UseAuthenticatePasskeyMFAParams,\n} from '../hooks/wrappers/functions/useAuthenticatePasskeyMFA';\nexport {\n useAuthenticateTotpMfaDevice,\n type UseAuthenticateTotpMfaDeviceParams,\n} from '../hooks/wrappers/functions/useAuthenticateTotpMfaDevice';\nexport { useGetAvailableWalletProvidersData } from '../hooks/wrappers/functions/useGetAvailableWalletProvidersData';\nexport {\n useGetBalanceForAddress,\n type UseGetBalanceForAddressParams,\n} from '../hooks/wrappers/functions/useGetBalanceForAddress';\nexport {\n useGetBusinessAccount,\n type UseGetBusinessAccountParams,\n} from '../hooks/wrappers/functions/useGetBusinessAccount';\nexport {\n useBroadcastFlow,\n type UseBroadcastFlowParams,\n} from '../hooks/wrappers/functions/useBroadcastFlow';\nexport {\n useCancelFlow,\n type UseCancelFlowParams,\n} from '../hooks/wrappers/functions/useCancelFlow';\nexport {\n useCheckStepUpAuth,\n type UseCheckStepUpAuthParams,\n} from '../hooks/wrappers/functions/useCheckStepUpAuth';\nexport {\n useGetCoinbaseBuyUrl,\n type UseGetCoinbaseBuyUrlParams,\n} from '../hooks/wrappers/functions/useGetCoinbaseBuyUrl';\nexport {\n useAddCoinbaseOnrampOrderEventListener,\n type UseAddCoinbaseOnrampOrderEventListenerParams,\n} from '../hooks/wrappers/functions/useAddCoinbaseOnrampOrderEventListener';\nexport {\n useCompleteDeviceRegistration,\n type UseCompleteDeviceRegistrationParams,\n} from '../hooks/wrappers/functions/useCompleteDeviceRegistration';\nexport {\n useCompleteSocialRedirect,\n type UseCompleteSocialRedirectParams,\n} from '../hooks/wrappers/functions/useCompleteSocialRedirect';\nexport {\n useDetectSocialRedirectUrl,\n type UseDetectSocialRedirectUrlParams,\n} from '../hooks/wrappers/functions/useDetectSocialRedirectUrl';\nexport {\n useConfirmTransaction,\n type UseConfirmTransactionParams,\n} from '../hooks/wrappers/functions/useConfirmTransaction';\nexport {\n useConnectAndVerifyWithWalletProvider,\n type UseConnectAndVerifyWithWalletProviderParams,\n} from '../hooks/wrappers/functions/useConnectAndVerifyWithWalletProvider';\nexport {\n useGetConnectedAddresses,\n type UseGetConnectedAddressesParams,\n} from '../hooks/wrappers/functions/useGetConnectedAddresses';\nexport {\n useConnectWithWalletProvider,\n type UseConnectWithWalletProviderParams,\n} from '../hooks/wrappers/functions/useConnectWithWalletProvider';\nexport {\n useCreateBusinessAccount,\n type UseCreateBusinessAccountParams,\n} from '../hooks/wrappers/functions/useCreateBusinessAccount';\nexport {\n useCreateCoinbaseOnrampOrder,\n type UseCreateCoinbaseOnrampOrderParams,\n} from '../hooks/wrappers/functions/useCreateCoinbaseOnrampOrder';\nexport {\n useCreateCryptoDotComPayment,\n type UseCreateCryptoDotComPaymentParams,\n} from '../hooks/wrappers/functions/useCreateCryptoDotComPayment';\nexport {\n useCreateNewMfaRecoveryCodes,\n type UseCreateNewMfaRecoveryCodesParams,\n} from '../hooks/wrappers/functions/useCreateNewMfaRecoveryCodes';\nexport {\n useDeleteMfaDevice,\n type UseDeleteMfaDeviceParams,\n} from '../hooks/wrappers/functions/useDeleteMfaDevice';\nexport {\n useDeletePasskey,\n type UseDeletePasskeyParams,\n} from '../hooks/wrappers/functions/useDeletePasskey';\nexport {\n useDeleteUser,\n type UseDeleteUserParams,\n} from '../hooks/wrappers/functions/useDeleteUser';\nexport { useOnEvent } from '../hooks/wrappers/functions/useOnEvent';\nexport {\n useExecuteSwapTransaction,\n type UseExecuteSwapTransactionParams,\n} from '../hooks/wrappers/functions/useExecuteSwapTransaction';\nexport {\n useGetFlow,\n type UseGetFlowParams,\n} from '../hooks/wrappers/functions/useGetFlow';\nexport {\n useGetFlowQuote,\n type UseGetFlowQuoteParams,\n} from '../hooks/wrappers/functions/useGetFlowQuote';\nexport {\n usePrepareFlowSigning,\n type UsePrepareFlowSigningParams,\n} from '../hooks/wrappers/functions/usePrepareFlowSigning';\nexport {\n useGetGoogleDriveBackupReadiness,\n type UseGetGoogleDriveBackupReadinessParams,\n} from '../hooks/wrappers/functions/useGetGoogleDriveBackupReadiness';\nexport {\n useIsMfaRequiredForAction,\n type UseIsMfaRequiredForActionParams,\n} from '../hooks/wrappers/functions/useIsMfaRequiredForAction';\nexport {\n useGetKrakenAccounts,\n type UseGetKrakenAccountsParams,\n} from '../hooks/wrappers/functions/useGetKrakenAccounts';\nexport {\n useCreateKrakenExchangeTransfer,\n type UseCreateKrakenExchangeTransferParams,\n} from '../hooks/wrappers/functions/useCreateKrakenExchangeTransfer';\nexport {\n useGetKrakenWhitelistedAddresses,\n type UseGetKrakenWhitelistedAddressesParams,\n} from '../hooks/wrappers/functions/useGetKrakenWhitelistedAddresses';\nexport {\n useListBusinessAccounts,\n type UseListBusinessAccountsParams,\n} from '../hooks/wrappers/functions/useListBusinessAccounts';\nexport { useLogout } from '../hooks/wrappers/functions/useLogout';\nexport {\n useMergeUserAccounts,\n type UseMergeUserAccountsParams,\n} from '../hooks/wrappers/functions/useMergeUserAccounts';\nexport {\n useGetMfaDevices,\n type UseGetMfaDevicesParams,\n} from '../hooks/wrappers/functions/useGetMfaDevices';\nexport {\n useGetMfaMethods,\n type UseGetMfaMethodsParams,\n} from '../hooks/wrappers/functions/useGetMfaMethods';\nexport {\n useGetMfaRecoveryCodes,\n type UseGetMfaRecoveryCodesParams,\n} from '../hooks/wrappers/functions/useGetMfaRecoveryCodes';\nexport {\n useGetMoonPayCurrencies,\n type UseGetMoonPayCurrenciesParams,\n} from '../hooks/wrappers/functions/useGetMoonPayCurrencies';\nexport {\n useGetMoonPayUrl,\n type UseGetMoonPayUrlParams,\n} from '../hooks/wrappers/functions/useGetMoonPayUrl';\nexport {\n useGetMultichainTokenBalances,\n type UseGetMultichainTokenBalancesParams,\n} from '../hooks/wrappers/functions/useGetMultichainTokenBalances';\nexport { useGetNativeBalance } from '../hooks/wrappers/functions/useGetNativeBalance';\nexport { useOnceEvent } from '../hooks/wrappers/functions/useOnceEvent';\nexport {\n useGetPasskeys,\n type UseGetPasskeysParams,\n} from '../hooks/wrappers/functions/useGetPasskeys';\nexport {\n useProveWalletAccountOwnership,\n type UseProveWalletAccountOwnershipParams,\n} from '../hooks/wrappers/functions/useProveWalletAccountOwnership';\nexport {\n useRefreshAuth,\n type UseRefreshAuthParams,\n} from '../hooks/wrappers/functions/useRefreshAuth';\nexport {\n useGetRegisteredDevices,\n type UseGetRegisteredDevicesParams,\n} from '../hooks/wrappers/functions/useGetRegisteredDevices';\nexport {\n useRegisterPasskey,\n type UseRegisterPasskeyParams,\n} from '../hooks/wrappers/functions/useRegisterPasskey';\nexport {\n useRegisterTotpMfaDevice,\n type UseRegisterTotpMfaDeviceParams,\n} from '../hooks/wrappers/functions/useRegisterTotpMfaDevice';\nexport {\n useRemoveBusinessAccountMember,\n type UseRemoveBusinessAccountMemberParams,\n} from '../hooks/wrappers/functions/useRemoveBusinessAccountMember';\nexport {\n useRemoveBusinessAccountSigner,\n type UseRemoveBusinessAccountSignerParams,\n} from '../hooks/wrappers/functions/useRemoveBusinessAccountSigner';\nexport {\n useRemoveWalletAccount,\n type UseRemoveWalletAccountParams,\n} from '../hooks/wrappers/functions/useRemoveWalletAccount';\nexport {\n useRequestExternalAuthElevatedToken,\n type UseRequestExternalAuthElevatedTokenParams,\n} from '../hooks/wrappers/functions/useRequestExternalAuthElevatedToken';\nexport {\n useRevokeAllRegisteredDevices,\n type UseRevokeAllRegisteredDevicesParams,\n} from '../hooks/wrappers/functions/useRevokeAllRegisteredDevices';\nexport {\n useRevokeRegisteredDevice,\n type UseRevokeRegisteredDeviceParams,\n} from '../hooks/wrappers/functions/useRevokeRegisteredDevice';\nexport {\n useSendEmailOTP,\n type UseSendEmailOTPParams,\n} from '../hooks/wrappers/functions/useSendEmailOTP';\nexport {\n useSendSmsOTP,\n type UseSendSmsOTPParams,\n} from '../hooks/wrappers/functions/useSendSmsOTP';\nexport {\n useSetDefaultMfaDevice,\n type UseSetDefaultMfaDeviceParams,\n} from '../hooks/wrappers/functions/useSetDefaultMfaDevice';\nexport {\n useSignInWithExternalJwt,\n type UseSignInWithExternalJwtParams,\n} from '../hooks/wrappers/functions/useSignInWithExternalJwt';\nexport {\n useSignInWithPasskey,\n type UseSignInWithPasskeyParams,\n} from '../hooks/wrappers/functions/useSignInWithPasskey';\nexport {\n useSignInWithSocialPopUp,\n type UseSignInWithSocialPopUpParams,\n} from '../hooks/wrappers/functions/useSignInWithSocialPopUp';\nexport {\n useSignInWithSocialRedirect,\n type UseSignInWithSocialRedirectParams,\n} from '../hooks/wrappers/functions/useSignInWithSocialRedirect';\nexport {\n useSignMessage,\n type UseSignMessageParams,\n} from '../hooks/wrappers/functions/useSignMessage';\nexport {\n useSubmitFlowTransaction,\n type UseSubmitFlowTransactionParams,\n} from '../hooks/wrappers/functions/useSubmitFlowTransaction';\nexport {\n useGetSwapQuote,\n type UseGetSwapQuoteParams,\n} from '../hooks/wrappers/functions/useGetSwapQuote';\nexport {\n useGetSwapStatus,\n type UseGetSwapStatusParams,\n} from '../hooks/wrappers/functions/useGetSwapStatus';\nexport {\n useSwitchActiveNetwork,\n type UseSwitchActiveNetworkParams,\n} from '../hooks/wrappers/functions/useSwitchActiveNetwork';\nexport {\n useGetTokenBalances,\n type UseGetTokenBalancesParams,\n} from '../hooks/wrappers/functions/useGetTokenBalances';\nexport {\n useGetTransactionHistory,\n type UseGetTransactionHistoryParams,\n} from '../hooks/wrappers/functions/useGetTransactionHistory';\nexport {\n useTransferAmount,\n type UseTransferAmountParams,\n} from '../hooks/wrappers/functions/useTransferAmount';\nexport {\n useTransferBusinessAccountOwnership,\n type UseTransferBusinessAccountOwnershipParams,\n} from '../hooks/wrappers/functions/useTransferBusinessAccountOwnership';\nexport {\n useTransferWalletAccount,\n type UseTransferWalletAccountParams,\n} from '../hooks/wrappers/functions/useTransferWalletAccount';\nexport {\n useUnlinkSocialAccount,\n type UseUnlinkSocialAccountParams,\n} from '../hooks/wrappers/functions/useUnlinkSocialAccount';\nexport {\n useUpdateUser,\n type UseUpdateUserParams,\n} from '../hooks/wrappers/functions/useUpdateUser';\nexport { useGetUserSocialAccounts } from '../hooks/wrappers/functions/useGetUserSocialAccounts';\nexport {\n useVerifyOTP,\n type UseVerifyOTPParams,\n} from '../hooks/wrappers/functions/useVerifyOTP';\nexport {\n useVerifyWalletAccount,\n type UseVerifyWalletAccountParams,\n} from '../hooks/wrappers/functions/useVerifyWalletAccount';\nexport { useGetWalletAccounts } from '../hooks/wrappers/functions/useGetWalletAccounts';\nexport {\n useGetWalletConnectCatalog,\n type UseGetWalletConnectCatalogParams,\n} from '../hooks/wrappers/functions/useGetWalletConnectCatalog';\nexport {\n useGetWalletConnectCatalogWalletByWalletProviderKey,\n type UseGetWalletConnectCatalogWalletByWalletProviderKeyParams,\n} from '../hooks/wrappers/functions/useGetWalletConnectCatalogWalletByWalletProviderKey';\nexport {\n useGetWalletOptionsCatalogue,\n type UseGetWalletOptionsCatalogueParams,\n} from '../hooks/wrappers/functions/useGetWalletOptionsCatalogue';\nexport {\n useGetWalletProviderDataByKey,\n type UseGetWalletProviderDataByKeyParams,\n} from '../hooks/wrappers/functions/useGetWalletProviderDataByKey';\nexport { useOnWalletProviderEvent } from '../hooks/wrappers/functions/useOnWalletProviderEvent';\nexport { useIsDeviceRegistrationRequired } from '../hooks/wrappers/functions/useIsDeviceRegistrationRequired';\nexport { useIsUserMissingMfaAuth } from '../hooks/wrappers/functions/useIsUserMissingMfaAuth';\nexport { useIsPendingRecoveryCodesAcknowledgment } from '../hooks/wrappers/functions/useIsPendingRecoveryCodesAcknowledgment';\nexport { useIsUserOnboardingComplete } from '../hooks/wrappers/functions/useIsUserOnboardingComplete';\nexport {\n useBackupWaasKeySharesToGoogleDrive,\n type UseBackupWaasKeySharesToGoogleDriveParams,\n} from '../hooks/wrappers/functions/useBackupWaasKeySharesToGoogleDrive';\nexport {\n useCreateWaasWalletAccounts,\n type UseCreateWaasWalletAccountsParams,\n} from '../hooks/wrappers/functions/useCreateWaasWalletAccounts';\nexport {\n useCreateWalletForBusinessAccount,\n type UseCreateWalletForBusinessAccountParams,\n} from '../hooks/wrappers/functions/useCreateWalletForBusinessAccount';\nexport {\n useDelegateWaasKeyShares,\n type UseDelegateWaasKeySharesParams,\n} from '../hooks/wrappers/functions/useDelegateWaasKeyShares';\nexport {\n useExportWaasClientKeyshares,\n type UseExportWaasClientKeysharesParams,\n} from '../hooks/wrappers/functions/useExportWaasClientKeyshares';\nexport {\n useExportWaasPrivateKey,\n type UseExportWaasPrivateKeyParams,\n} from '../hooks/wrappers/functions/useExportWaasPrivateKey';\nexport {\n useGetWalletRecoveryState,\n type UseGetWalletRecoveryStateParams,\n} from '../hooks/wrappers/functions/useGetWalletRecoveryState';\nexport {\n useImportWaasPrivateKey,\n type UseImportWaasPrivateKeyParams,\n} from '../hooks/wrappers/functions/useImportWaasPrivateKey';\nexport {\n useMigrateFromFireblocks,\n type UseMigrateFromFireblocksParams,\n} from '../hooks/wrappers/functions/useMigrateFromFireblocks';\nexport {\n useRefreshWaasWalletAccountShares,\n type UseRefreshWaasWalletAccountSharesParams,\n} from '../hooks/wrappers/functions/useRefreshWaasWalletAccountShares';\nexport {\n useRevokeWaasDelegation,\n type UseRevokeWaasDelegationParams,\n} from '../hooks/wrappers/functions/useRevokeWaasDelegation';\nexport {\n useSetWaasWalletAccountPassword,\n type UseSetWaasWalletAccountPasswordParams,\n} from '../hooks/wrappers/functions/useSetWaasWalletAccountPassword';\nexport {\n useUnlockWallet,\n type UseUnlockWalletParams,\n} from '../hooks/wrappers/functions/useUnlockWallet';\nexport {\n useUpdateWaasPassword,\n type UseUpdateWaasPasswordParams,\n} from '../hooks/wrappers/functions/useUpdateWaasPassword';\nexport {\n useInitStatus,\n type UseInitStatusResult,\n} from '../hooks/wrappers/state/useInitStatus';\nexport { useSessionExpiresAt } from '../hooks/wrappers/state/useSessionExpiresAt';\nexport { useUser } from '../hooks/wrappers/state/useUser';\nexport { DynamicProvider, useDynamicClient } from '../modules/DynamicContext';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["useBaseMutation","useDynamicClient","useDynamicClient","useBaseQuery","useBaseQuery","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseQuery","useBaseMutation","useBaseMutation","useBaseMutation","useDynamicClient","QUERY_KEY_PREFIX","useBaseMutation","useBaseState","useBaseQuery","useBaseQuery","useBaseMutation","useBaseMutation","useBaseQuery","useBaseQuery","useDynamicClient","useBaseMutation","useBaseMutation","useBaseQuery","useBaseMutation","useBaseMutation","useDynamicClient","useDynamicClient","useBaseQuery","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseQuery","useBaseMutation","useBaseMutation","useDynamicClient","useBaseQuery","useBaseQuery","useBaseQuery","useBaseMutation","useBaseQuery","useBaseQuery","useBaseMutation","useBaseMutation","useBaseQuery","useBaseQuery","useBaseQuery","useBaseQuery","useBaseQuery","useBaseQuery","useBaseQuery","useDynamicClient","useBaseQuery","useBaseMutation","useBaseMutation","useBaseQuery","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseQuery","useBaseQuery","useBaseMutation","useBaseQuery","useBaseQuery","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseState","useBaseMutation","useBaseMutation","useBaseState","useBaseQuery","useBaseQuery","useBaseQuery","useBaseQuery","useBaseState","useBaseState","useBaseState","useBaseState","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseQuery","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseMutation","useBaseState","useBaseState","useBaseState","packageName","packageVersion"],"sources":["../src/hooks/wrappers/functions/useAcknowledgeRecoveryCodes/useAcknowledgeRecoveryCodes.ts","../src/hooks/wrappers/functions/useOnWalletProviderEvent/useOnWalletProviderEvent.ts","../src/middlewares/invalidateOnWalletProviderEvent/invalidateOnWalletProviderEvent.ts","../src/hooks/wrappers/functions/useGetActiveNetworkData/useGetActiveNetworkData.ts","../src/hooks/wrappers/functions/useGetActiveNetworkId/useGetActiveNetworkId.ts","../src/hooks/wrappers/functions/useAddBusinessAccountMember/useAddBusinessAccountMember.ts","../src/hooks/wrappers/functions/useAddBusinessAccountSigner/useAddBusinessAccountSigner.ts","../src/hooks/wrappers/functions/useAddNetwork/useAddNetwork.ts","../src/hooks/wrappers/functions/useAddWalletToBusinessAccount/useAddWalletToBusinessAccount.ts","../src/hooks/wrappers/functions/useAssertWalletAccountSigningAvailability/useAssertWalletAccountSigningAvailability.ts","../src/hooks/wrappers/functions/useAttachFlowSource/useAttachFlowSource.ts","../src/hooks/wrappers/functions/useAuthenticateMfaRecoveryCode/useAuthenticateMfaRecoveryCode.ts","../src/hooks/wrappers/functions/useAuthenticatePasskeyMFA/useAuthenticatePasskeyMFA.ts","../src/middlewares/invalidatesQueries/invalidatesQueries.ts","../src/hooks/wrappers/functions/useAuthenticateTotpMfaDevice/useAuthenticateTotpMfaDevice.ts","../src/hooks/wrappers/functions/useGetAvailableWalletProvidersData/useGetAvailableWalletProvidersData.ts","../src/hooks/wrappers/functions/useGetBalanceForAddress/useGetBalanceForAddress.ts","../src/hooks/wrappers/functions/useGetBusinessAccount/useGetBusinessAccount.ts","../src/hooks/wrappers/functions/useBroadcastFlow/useBroadcastFlow.ts","../src/hooks/wrappers/functions/useCancelFlow/useCancelFlow.ts","../src/hooks/wrappers/functions/useCheckStepUpAuth/useCheckStepUpAuth.ts","../src/hooks/wrappers/functions/useGetCoinbaseBuyUrl/useGetCoinbaseBuyUrl.ts","../src/hooks/wrappers/functions/useAddCoinbaseOnrampOrderEventListener/useAddCoinbaseOnrampOrderEventListener.ts","../src/hooks/wrappers/functions/useCompleteDeviceRegistration/useCompleteDeviceRegistration.ts","../src/hooks/wrappers/functions/useCompleteSocialRedirect/useCompleteSocialRedirect.ts","../src/hooks/wrappers/functions/useDetectSocialRedirectUrl/useDetectSocialRedirectUrl.ts","../src/hooks/wrappers/functions/useConfirmTransaction/useConfirmTransaction.ts","../src/hooks/wrappers/functions/useConnectAndVerifyWithWalletProvider/useConnectAndVerifyWithWalletProvider.ts","../src/hooks/wrappers/functions/useOnEvent/useOnEvent.ts","../src/middlewares/invalidateOnEvent/invalidateOnEvent.ts","../src/hooks/wrappers/functions/useGetConnectedAddresses/useGetConnectedAddresses.ts","../src/hooks/wrappers/functions/useConnectWithWalletProvider/useConnectWithWalletProvider.ts","../src/hooks/wrappers/functions/useCreateBusinessAccount/useCreateBusinessAccount.ts","../src/hooks/wrappers/functions/useCreateCoinbaseOnrampOrder/useCreateCoinbaseOnrampOrder.ts","../src/hooks/wrappers/functions/useCreateCryptoDotComPayment/useCreateCryptoDotComPayment.ts","../src/hooks/wrappers/functions/useCreateNewMfaRecoveryCodes/useCreateNewMfaRecoveryCodes.ts","../src/hooks/wrappers/functions/useDeleteMfaDevice/useDeleteMfaDevice.ts","../src/hooks/wrappers/functions/useDeletePasskey/useDeletePasskey.ts","../src/hooks/wrappers/functions/useDeleteUser/useDeleteUser.ts","../src/hooks/wrappers/functions/useExecuteSwapTransaction/useExecuteSwapTransaction.ts","../src/hooks/wrappers/functions/useGetFlow/useGetFlow.ts","../src/hooks/wrappers/functions/useGetFlowQuote/useGetFlowQuote.ts","../src/hooks/wrappers/functions/usePrepareFlowSigning/usePrepareFlowSigning.ts","../src/middlewares/invalidateOnUserSwitch/invalidateOnUserSwitch.ts","../src/hooks/wrappers/functions/useGetGoogleDriveBackupReadiness/useGetGoogleDriveBackupReadiness.ts","../src/hooks/wrappers/functions/useIsMfaRequiredForAction/useIsMfaRequiredForAction.ts","../src/hooks/wrappers/functions/useGetKrakenAccounts/useGetKrakenAccounts.ts","../src/hooks/wrappers/functions/useCreateKrakenExchangeTransfer/useCreateKrakenExchangeTransfer.ts","../src/hooks/wrappers/functions/useGetKrakenWhitelistedAddresses/useGetKrakenWhitelistedAddresses.ts","../src/hooks/wrappers/functions/useListBusinessAccounts/useListBusinessAccounts.ts","../src/hooks/wrappers/functions/useLogout/useLogout.ts","../src/hooks/wrappers/functions/useMergeUserAccounts/useMergeUserAccounts.ts","../src/hooks/wrappers/functions/useGetMfaDevices/useGetMfaDevices.ts","../src/hooks/wrappers/functions/useGetMfaMethods/useGetMfaMethods.ts","../src/hooks/wrappers/functions/useGetMfaRecoveryCodes/useGetMfaRecoveryCodes.ts","../src/hooks/wrappers/functions/useGetMoonPayCurrencies/useGetMoonPayCurrencies.ts","../src/hooks/wrappers/functions/useGetMoonPayUrl/useGetMoonPayUrl.ts","../src/hooks/wrappers/functions/useGetMultichainTokenBalances/useGetMultichainTokenBalances.ts","../src/hooks/wrappers/functions/useGetNativeBalance/useGetNativeBalance.ts","../src/hooks/wrappers/functions/useOnceEvent/useOnceEvent.ts","../src/hooks/wrappers/functions/useGetPasskeys/useGetPasskeys.ts","../src/hooks/wrappers/functions/useProveWalletAccountOwnership/useProveWalletAccountOwnership.ts","../src/hooks/wrappers/functions/useRefreshAuth/useRefreshAuth.ts","../src/hooks/wrappers/functions/useGetRegisteredDevices/useGetRegisteredDevices.ts","../src/hooks/wrappers/functions/useRegisterPasskey/useRegisterPasskey.ts","../src/hooks/wrappers/functions/useRegisterTotpMfaDevice/useRegisterTotpMfaDevice.ts","../src/hooks/wrappers/functions/useRemoveBusinessAccountMember/useRemoveBusinessAccountMember.ts","../src/hooks/wrappers/functions/useRemoveBusinessAccountSigner/useRemoveBusinessAccountSigner.ts","../src/hooks/wrappers/functions/useRemoveWalletAccount/useRemoveWalletAccount.ts","../src/hooks/wrappers/functions/useRequestExternalAuthElevatedToken/useRequestExternalAuthElevatedToken.ts","../src/hooks/wrappers/functions/useRevokeAllRegisteredDevices/useRevokeAllRegisteredDevices.ts","../src/hooks/wrappers/functions/useRevokeRegisteredDevice/useRevokeRegisteredDevice.ts","../src/hooks/wrappers/functions/useSendEmailOTP/useSendEmailOTP.ts","../src/hooks/wrappers/functions/useSendSmsOTP/useSendSmsOTP.ts","../src/hooks/wrappers/functions/useSetDefaultMfaDevice/useSetDefaultMfaDevice.ts","../src/hooks/wrappers/functions/useSignInWithExternalJwt/useSignInWithExternalJwt.ts","../src/hooks/wrappers/functions/useSignInWithPasskey/useSignInWithPasskey.ts","../src/hooks/wrappers/functions/useSignInWithSocialPopUp/useSignInWithSocialPopUp.ts","../src/hooks/wrappers/functions/useSignInWithSocialRedirect/useSignInWithSocialRedirect.ts","../src/hooks/wrappers/functions/useSignMessage/useSignMessage.ts","../src/hooks/wrappers/functions/useSubmitFlowTransaction/useSubmitFlowTransaction.ts","../src/hooks/wrappers/functions/useGetSwapQuote/useGetSwapQuote.ts","../src/hooks/wrappers/functions/useGetSwapStatus/useGetSwapStatus.ts","../src/hooks/wrappers/functions/useSwitchActiveNetwork/useSwitchActiveNetwork.ts","../src/hooks/wrappers/functions/useGetTokenBalances/useGetTokenBalances.ts","../src/hooks/wrappers/functions/useGetTransactionHistory/useGetTransactionHistory.ts","../src/hooks/wrappers/functions/useTransferAmount/useTransferAmount.ts","../src/hooks/wrappers/functions/useTransferBusinessAccountOwnership/useTransferBusinessAccountOwnership.ts","../src/hooks/wrappers/functions/useTransferWalletAccount/useTransferWalletAccount.ts","../src/hooks/wrappers/functions/useUnlinkSocialAccount/useUnlinkSocialAccount.ts","../src/hooks/wrappers/functions/useUpdateBusinessAccount/useUpdateBusinessAccount.ts","../src/hooks/wrappers/functions/useUpdateBusinessAccountMemberRole/useUpdateBusinessAccountMemberRole.ts","../src/hooks/wrappers/functions/useUpdateUser/useUpdateUser.ts","../src/hooks/wrappers/functions/useGetUserSocialAccounts/useGetUserSocialAccounts.ts","../src/hooks/wrappers/functions/useVerifyOTP/useVerifyOTP.ts","../src/hooks/wrappers/functions/useVerifyWalletAccount/useVerifyWalletAccount.ts","../src/hooks/wrappers/functions/useGetWalletAccounts/useGetWalletAccounts.ts","../src/hooks/wrappers/functions/useGetWalletConnectCatalog/useGetWalletConnectCatalog.ts","../src/hooks/wrappers/functions/useGetWalletConnectCatalogWalletByWalletProviderKey/useGetWalletConnectCatalogWalletByWalletProviderKey.ts","../src/hooks/wrappers/functions/useGetWalletOptionsCatalogue/useGetWalletOptionsCatalogue.ts","../src/hooks/wrappers/functions/useGetWalletProviderDataByKey/useGetWalletProviderDataByKey.ts","../src/hooks/wrappers/functions/useIsDeviceRegistrationRequired/useIsDeviceRegistrationRequired.ts","../src/hooks/wrappers/functions/useIsUserMissingMfaAuth/useIsUserMissingMfaAuth.ts","../src/hooks/wrappers/functions/useIsPendingRecoveryCodesAcknowledgment/useIsPendingRecoveryCodesAcknowledgment.ts","../src/hooks/wrappers/functions/useIsUserOnboardingComplete/useIsUserOnboardingComplete.ts","../src/hooks/wrappers/functions/useBackupWaasKeySharesToGoogleDrive/useBackupWaasKeySharesToGoogleDrive.ts","../src/hooks/wrappers/functions/useCreateWaasWalletAccounts/useCreateWaasWalletAccounts.ts","../src/hooks/wrappers/functions/useCreateWalletForBusinessAccount/useCreateWalletForBusinessAccount.ts","../src/hooks/wrappers/functions/useDelegateWaasKeyShares/useDelegateWaasKeyShares.ts","../src/hooks/wrappers/functions/useExportWaasClientKeyshares/useExportWaasClientKeyshares.ts","../src/hooks/wrappers/functions/useExportWaasPrivateKey/useExportWaasPrivateKey.ts","../src/hooks/wrappers/functions/useGetWalletRecoveryState/useGetWalletRecoveryState.ts","../src/hooks/wrappers/functions/useImportWaasPrivateKey/useImportWaasPrivateKey.ts","../src/hooks/wrappers/functions/useMigrateFromFireblocks/useMigrateFromFireblocks.ts","../src/hooks/wrappers/functions/useRefreshWaasWalletAccountShares/useRefreshWaasWalletAccountShares.ts","../src/hooks/wrappers/functions/useRevokeWaasDelegation/useRevokeWaasDelegation.ts","../src/hooks/wrappers/functions/useSetWaasWalletAccountPassword/useSetWaasWalletAccountPassword.ts","../src/hooks/wrappers/functions/useUnlockWallet/useUnlockWallet.ts","../src/hooks/wrappers/functions/useUpdateWaasPassword/useUpdateWaasPassword.ts","../src/hooks/wrappers/state/useInitStatus/useInitStatus.ts","../src/hooks/wrappers/state/useSessionExpiresAt/useSessionExpiresAt.ts","../src/hooks/wrappers/state/useUser/useUser.ts","../src/exports/index.ts"],"sourcesContent":["import { acknowledgeRecoveryCodes } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype AcknowledgeRecoveryCodesResult = Awaited<\n ReturnType<typeof acknowledgeRecoveryCodes>\n>;\n\nexport type UseAcknowledgeRecoveryCodesParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n AcknowledgeRecoveryCodesResult,\n void\n >['mutateParams'];\n};\n\n/**\n * Marks the current user's MFA recovery codes as acknowledged. Takes no arguments — call `mutate()` after the user confirms they have stored the codes shown by {@link useGetMfaRecoveryCodes}.\n *\n * @example\n * ```tsx\n * const { mutate: acknowledge, isPending } = useAcknowledgeRecoveryCodes();\n * <button onClick={() => acknowledge()} disabled={isPending}>\n * I've saved my recovery codes\n * </button>\n * ```\n */\nexport const useAcknowledgeRecoveryCodes = ({\n mutateParams,\n}: UseAcknowledgeRecoveryCodesParams = {}) =>\n useBaseMutation<AcknowledgeRecoveryCodesResult, void>({\n mutateParams,\n mutationFn: ({ client }) => acknowledgeRecoveryCodes(client),\n });\n","import {\n type OnWalletProviderEventParams,\n type WalletProviderEvents,\n onWalletProviderEvent,\n} from '@dynamic-labs-sdk/client';\nimport { getCore } from '@dynamic-labs-sdk/client/core';\nimport { useEffect, useRef } from 'react';\n\nimport { useDynamicClient } from '../../../../modules/DynamicContext';\n\n/**\n * Params for `useOnWalletProviderEvent`.\n *\n * Widens the client's `OnWalletProviderEventParams` so `walletProviderKey` may\n * be `undefined`: callers that derive the key from an optional wallet account\n * (e.g. a query middleware) can call the hook unconditionally and have it\n * no-op until a provider is known.\n */\nexport type UseOnWalletProviderEventParams<\n E extends Extract<keyof WalletProviderEvents, string>\n> = Omit<OnWalletProviderEventParams<E>, 'walletProviderKey'> & {\n walletProviderKey: string | undefined;\n};\n\n/**\n * Subscribes to an event emitted by a specific wallet provider.\n *\n * Wraps `onWalletProviderEvent` from `@dynamic-labs-sdk/client`. Uses a ref to\n * always call the latest callback without re-subscribing, and cleans up the\n * subscription on unmount or when `event` / `walletProviderKey` change. When\n * `walletProviderKey` is `undefined` the hook subscribes to nothing. When the\n * provider cannot be subscribed to (not registered on this client, or it does\n * not expose `events`), the hook logs and subscribes to nothing rather than\n * throwing — an effect throw would unmount the entire app.\n *\n * @example\n * ```tsx\n * useOnWalletProviderEvent({\n * walletProviderKey: 'metamaskevm',\n * event: 'accountsChanged',\n * callback: ({ addresses }) => console.log(addresses),\n * });\n * ```\n */\nexport const useOnWalletProviderEvent = <\n E extends Extract<keyof WalletProviderEvents, string>\n>({\n callback,\n event,\n walletProviderKey,\n}: UseOnWalletProviderEventParams<E>) => {\n const client = useDynamicClient();\n const callbackRef = useRef(callback);\n\n callbackRef.current = callback;\n\n useEffect(() => {\n if (walletProviderKey === undefined) {\n return;\n }\n\n // Subscribing can throw when the provider is not registered on this client\n // (e.g. a wallet account created on another surface whose chain extension\n // is not installed here) or when the provider does not expose `events`.\n // A throw inside an effect unmounts the whole React tree — a hard crash in\n // release builds — so an unsubscribable provider must degrade to \"never\n // notifies\" instead of propagating.\n try {\n return onWalletProviderEvent(\n {\n callback: ((...args: any[]) => {\n // @ts-expect-error - Ignore the type error because we are using the ref\n callbackRef.current(...args);\n }) as WalletProviderEvents[E],\n event,\n walletProviderKey,\n },\n client\n );\n } catch (error) {\n getCore(client).logger.debug(\n '[useOnWalletProviderEvent] failed to subscribe to wallet provider event',\n { error, event, walletProviderKey }\n );\n\n return undefined;\n }\n }, [event, walletProviderKey, client]);\n};\n","import type {\n WalletAccount,\n WalletProviderEvents,\n} from '@dynamic-labs-sdk/client';\nimport { getCore } from '@dynamic-labs-sdk/client/core';\nimport { useQueryClient } from '@tanstack/react-query';\n\nimport type { QueryMiddleware } from '../../foundation/useBaseQuery';\nimport { useOnWalletProviderEvent } from '../../hooks/wrappers/functions/useOnWalletProviderEvent';\nimport { useDynamicClient } from '../../modules/DynamicContext';\n\nexport type InvalidateOnWalletProviderEventParams<\n E extends Extract<keyof WalletProviderEvents, string>\n> = {\n /**\n * The wallet provider event to listen for (e.g. `'networkChanged'`).\n */\n event: E;\n /**\n * The wallet account whose provider emits the event. When `undefined` the\n * subscription is a no-op, so hooks can pass an optional account directly.\n */\n walletAccount: WalletAccount | undefined;\n};\n\n/**\n * Query middleware factory that refetches the query whenever the given wallet\n * account's provider emits `event` (e.g. `networkChanged`).\n *\n * It only wires up the subscription, invalidating the query's own cache key so\n * any mounted consumer refetches. This replaces the manual\n * `useOnWalletProviderEvent` + `refetch` boilerplate consumers would otherwise\n * pair with the hook. When `walletAccount` is undefined the subscription is a\n * no-op. The subscription lives here, not in `useBaseQuery`.\n *\n * @example\n * ```ts\n * useBaseQuery({\n * middlewares: [\n * invalidateOnWalletProviderEvent({ event: 'networkChanged', walletAccount }),\n * ],\n * queryFn: (client) => getActiveNetworkData({ walletAccount }, client),\n * queryKey: ['useGetActiveNetworkData', walletAccount],\n * });\n * ```\n */\nexport const invalidateOnWalletProviderEvent =\n <E extends Extract<keyof WalletProviderEvents, string>>({\n event,\n walletAccount,\n }: InvalidateOnWalletProviderEventParams<E>): QueryMiddleware =>\n (context) => {\n const client = useDynamicClient();\n const queryClient = useQueryClient();\n\n useOnWalletProviderEvent({\n callback: () => {\n // `useBaseQuery` always supplies the query's own key; the context is\n // only optional so middlewares invoked directly in tests can omit it,\n // so bail rather than invalidate an unknown key when it is absent.\n if (!context) {\n return;\n }\n\n queryClient\n .invalidateQueries({ queryKey: context.queryKey })\n .catch((error: unknown) => {\n // Swallow the rejection, but log it so internal devs can\n // troubleshoot a query that fails to refetch on the event.\n getCore(client).logger.debug(\n '[invalidateOnWalletProviderEvent] failed to invalidate query',\n {\n error,\n queryKey: context.queryKey,\n stack: error instanceof Error ? error.stack : undefined,\n }\n );\n });\n },\n event,\n walletProviderKey: walletAccount?.walletProviderKey,\n });\n };\n","import { getActiveNetworkData } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnWalletProviderEvent } from '../../../../middlewares/invalidateOnWalletProviderEvent';\n\ntype GetActiveNetworkDataResult = Awaited<\n ReturnType<typeof getActiveNetworkData>\n>;\ntype GetActiveNetworkDataArgs = Parameters<typeof getActiveNetworkData>[0];\n\nexport type UseGetActiveNetworkDataParams = GetActiveNetworkDataArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetActiveNetworkDataResult>['queryParams'];\n};\n\n/**\n * Wraps `getActiveNetworkData` from `@dynamic-labs-sdk/client`. Returns the network the given wallet account is currently on.\n *\n * @example\n * ```tsx\n * const { data: network, isLoading } = useGetActiveNetworkData({ walletAccount });\n * ```\n */\nexport const useGetActiveNetworkData = ({\n queryParams,\n ...args\n}: UseGetActiveNetworkDataParams) =>\n useBaseQuery<GetActiveNetworkDataResult>({\n middlewares: [\n invalidateOnWalletProviderEvent({\n event: 'networkChanged',\n walletAccount: args.walletAccount,\n }),\n ],\n queryFn: (client) => getActiveNetworkData(args, client),\n queryKey: ['useGetActiveNetworkData', args],\n queryParams,\n });\n","import { getActiveNetworkId } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnWalletProviderEvent } from '../../../../middlewares/invalidateOnWalletProviderEvent';\n\ntype ActiveNetworkIdResult = Awaited<ReturnType<typeof getActiveNetworkId>>;\ntype ActiveNetworkIdArgs = Parameters<typeof getActiveNetworkId>[0];\n\nexport type UseGetActiveNetworkIdParams = ActiveNetworkIdArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<ActiveNetworkIdResult>['queryParams'];\n};\n\n/**\n * Returns the active network id for the given wallet account.\n *\n * Wraps `getActiveNetworkId` from `@dynamic-labs-sdk/client`.\n */\nexport const useGetActiveNetworkId = ({ queryParams, ...args }: UseGetActiveNetworkIdParams) =>\n useBaseQuery<ActiveNetworkIdResult>({\n middlewares: [\n invalidateOnWalletProviderEvent({\n event: 'networkChanged',\n walletAccount: args.walletAccount,\n }),\n ],\n queryFn: (client) => getActiveNetworkId(args, client),\n queryKey: ['useGetActiveNetworkId', args],\n queryParams,\n });\n","import { addBusinessAccountMember } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype AddBusinessAccountMemberVariables = Parameters<\n typeof addBusinessAccountMember\n>[0];\ntype AddBusinessAccountMemberResult = Awaited<\n ReturnType<typeof addBusinessAccountMember>\n>;\n\n/**\n * Parameters for {@link useAddBusinessAccountMember}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseAddBusinessAccountMemberParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useAddBusinessAccountMember\n * @see addBusinessAccountMember\n */\nexport type UseAddBusinessAccountMemberParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<\n UseBaseMutationParams<\n AddBusinessAccountMemberResult,\n AddBusinessAccountMemberVariables\n >['mutateParams']\n >;\n};\n\n/**\n * Wraps `addBusinessAccountMember` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * add a member to an existing business account.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useAddBusinessAccountMember();\n * <button onClick={() => mutate({ businessAccountId, identifier: 'user@acme.com' })} disabled={isPending}>\n * Add member\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `addBusinessAccountMember` and whose `data` is its resolved value.\n * @see addBusinessAccountMember\n * @see UseAddBusinessAccountMemberParams\n */\nexport const useAddBusinessAccountMember = ({\n mutateParams,\n}: UseAddBusinessAccountMemberParams = {}) =>\n useBaseMutation<\n AddBusinessAccountMemberResult,\n AddBusinessAccountMemberVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n addBusinessAccountMember(variables, client),\n });\n","import { addBusinessAccountSigner } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype AddBusinessAccountSignerVariables = Parameters<\n typeof addBusinessAccountSigner\n>[0];\ntype AddBusinessAccountSignerResult = Awaited<\n ReturnType<typeof addBusinessAccountSigner>\n>;\n\n/**\n * Parameters for {@link useAddBusinessAccountSigner}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseAddBusinessAccountSignerParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useAddBusinessAccountSigner\n * @see addBusinessAccountSigner\n */\nexport type UseAddBusinessAccountSignerParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<\n UseBaseMutationParams<\n AddBusinessAccountSignerResult,\n AddBusinessAccountSignerVariables\n >['mutateParams']\n >;\n};\n\n/**\n * Wraps `addBusinessAccountSigner` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * add a signer to a business-account wallet via the reshare ceremony.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useAddBusinessAccountSigner();\n * <button onClick={() => mutate({ targetSignerIdentity, walletAccount })} disabled={isPending}>\n * Add signer\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `addBusinessAccountSigner` and whose `data` is its resolved value.\n * @see addBusinessAccountSigner\n * @see UseAddBusinessAccountSignerParams\n */\nexport const useAddBusinessAccountSigner = ({\n mutateParams,\n}: UseAddBusinessAccountSignerParams = {}) =>\n useBaseMutation<\n AddBusinessAccountSignerResult,\n AddBusinessAccountSignerVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n addBusinessAccountSigner(variables, client),\n });\n","import { addNetwork } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype AddNetworkVariables = Parameters<typeof addNetwork>[0];\ntype AddNetworkResult = Awaited<ReturnType<typeof addNetwork>>;\n\nexport type UseAddNetworkParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n AddNetworkResult,\n AddNetworkVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `addNetwork` from `@dynamic-labs-sdk/client`. Call `mutate({ networkData, walletAccount })` to register a custom network on the given wallet account.\n *\n * @example\n * ```tsx\n * const { mutate: addNetwork, isPending } = useAddNetwork();\n * <button\n * onClick={() => addNetwork({ networkData, walletAccount })}\n * disabled={isPending}\n * >\n * Add network\n * </button>\n * ```\n */\nexport const useAddNetwork = ({ mutateParams }: UseAddNetworkParams = {}) =>\n useBaseMutation<AddNetworkResult, AddNetworkVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => addNetwork(variables, client),\n });\n","import { addWalletToBusinessAccount } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype AddWalletToBusinessAccountVariables = Parameters<\n typeof addWalletToBusinessAccount\n>[0];\ntype AddWalletToBusinessAccountResult = Awaited<\n ReturnType<typeof addWalletToBusinessAccount>\n>;\n\n/**\n * Parameters for {@link useAddWalletToBusinessAccount}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseAddWalletToBusinessAccountParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useAddWalletToBusinessAccount\n * @see addWalletToBusinessAccount\n */\nexport type UseAddWalletToBusinessAccountParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<\n UseBaseMutationParams<\n AddWalletToBusinessAccountResult,\n AddWalletToBusinessAccountVariables\n >['mutateParams']\n >;\n};\n\n/**\n * Wraps `addWalletToBusinessAccount` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * link an existing wallet to a business account.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useAddWalletToBusinessAccount();\n * <button onClick={() => mutate({ businessAccountId, walletId })} disabled={isPending}>\n * Link wallet\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `addWalletToBusinessAccount` and whose `data` is its resolved value.\n * @see addWalletToBusinessAccount\n * @see UseAddWalletToBusinessAccountParams\n */\nexport const useAddWalletToBusinessAccount = ({\n mutateParams,\n}: UseAddWalletToBusinessAccountParams = {}) =>\n useBaseMutation<\n AddWalletToBusinessAccountResult,\n AddWalletToBusinessAccountVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n addWalletToBusinessAccount(variables, client),\n });\n","import { assertWalletAccountSigningAvailability } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype AssertWalletAccountSigningAvailabilityResult = Awaited<ReturnType<typeof assertWalletAccountSigningAvailability>>;\ntype AssertWalletAccountSigningAvailabilityArgs = Parameters<typeof assertWalletAccountSigningAvailability>[0];\n\nexport type UseAssertWalletAccountSigningAvailabilityParams = AssertWalletAccountSigningAvailabilityArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<AssertWalletAccountSigningAvailabilityResult>['queryParams'];\n};\n\n/**\n * Resolves when the given wallet account can sign, and errors otherwise.\n *\n * Wraps `assertWalletAccountSigningAvailability` from `@dynamic-labs-sdk/client`.\n */\nexport const useAssertWalletAccountSigningAvailability = ({ queryParams, ...args }: UseAssertWalletAccountSigningAvailabilityParams) =>\n useBaseQuery<AssertWalletAccountSigningAvailabilityResult>({\n queryFn: (client) => assertWalletAccountSigningAvailability(args, client),\n queryKey: ['useAssertWalletAccountSigningAvailability', args],\n queryParams,\n });\n","import { attachFlowSource } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype AttachFlowSourceVariables = Parameters<typeof attachFlowSource>[0];\ntype AttachFlowSourceResult = Awaited<ReturnType<typeof attachFlowSource>>;\n\nexport type UseAttachFlowSourceParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n AttachFlowSourceResult,\n AttachFlowSourceVariables\n >['mutateParams'];\n};\n\n/**\n * Attaches a payment source to a flow.\n *\n * Wraps `attachFlowSource` from `@dynamic-labs-sdk/client`. Call `mutate({ flowId, sourceType, fromAddress, fromChainId, fromChainName })`\n * to attach a payment source to a flow; the resolved `data` is an object containing\n * the flow and the session token.\n *\n * @example\n * ```tsx\n * const { mutate: attachFlowSource, isPending } = useAttachFlowSource();\n * <button onClick={() => attachFlowSource({ flowId, sourceType, fromAddress, fromChainId, fromChainName })} disabled={isPending}>\n * Attach flow source\n * </button>\n * ```\n */\nexport const useAttachFlowSource = ({\n mutateParams,\n}: UseAttachFlowSourceParams = {}) =>\n useBaseMutation<AttachFlowSourceResult, AttachFlowSourceVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => attachFlowSource(variables, client),\n });\n","import { authenticateMfaRecoveryCode } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype AuthenticateMfaRecoveryCodeVariables = Parameters<\n typeof authenticateMfaRecoveryCode\n>[0];\ntype AuthenticateMfaRecoveryCodeResult = Awaited<\n ReturnType<typeof authenticateMfaRecoveryCode>\n>;\n\nexport type UseAuthenticateMfaRecoveryCodeParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n AuthenticateMfaRecoveryCodeResult,\n AuthenticateMfaRecoveryCodeVariables\n >['mutateParams'];\n};\n\n/**\n * Authenticates the current user with one of their MFA recovery codes.\n *\n * Wraps `authenticateMfaRecoveryCode` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ code })` with a backup recovery code when no registered MFA\n * method is available; the resolved `data` is the MFA authentication\n * response.\n *\n * @example\n * ```tsx\n * const { mutate: authenticateRecoveryCode, isPending } =\n * useAuthenticateMfaRecoveryCode();\n * <button\n * onClick={() => authenticateRecoveryCode({ code })}\n * disabled={isPending}\n * >\n * Use recovery code\n * </button>\n * ```\n */\nexport const useAuthenticateMfaRecoveryCode = ({\n mutateParams,\n}: UseAuthenticateMfaRecoveryCodeParams = {}) =>\n useBaseMutation<\n AuthenticateMfaRecoveryCodeResult,\n AuthenticateMfaRecoveryCodeVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n authenticateMfaRecoveryCode(variables, client),\n });\n","import { authenticatePasskeyMFA } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype AuthenticatePasskeyMFAVariables = Parameters<\n typeof authenticatePasskeyMFA\n>[0];\ntype AuthenticatePasskeyMFAResult = Awaited<\n ReturnType<typeof authenticatePasskeyMFA>\n>;\n\nexport type UseAuthenticatePasskeyMFAParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n AuthenticatePasskeyMFAResult,\n AuthenticatePasskeyMFAVariables\n >['mutateParams'];\n};\n\n/**\n * Completes an MFA challenge using the current user's passkey.\n *\n * Wraps `authenticatePasskeyMFA` from `@dynamic-labs-sdk/client`. Call\n * `mutate()` to satisfy an MFA step-up with a passkey; the resolved `data`\n * is the MFA verification response.\n *\n * @example\n * ```tsx\n * const { mutate: authenticatePasskeyMFA, isPending } =\n * useAuthenticatePasskeyMFA();\n * <button onClick={() => authenticatePasskeyMFA()} disabled={isPending}>\n * Verify with passkey\n * </button>\n * ```\n */\nexport const useAuthenticatePasskeyMFA = ({\n mutateParams,\n}: UseAuthenticatePasskeyMFAParams = {}) =>\n useBaseMutation<\n AuthenticatePasskeyMFAResult,\n AuthenticatePasskeyMFAVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n authenticatePasskeyMFA(variables, client),\n });\n","import { getCore } from '@dynamic-labs-sdk/client/core';\nimport { useQueryClient } from '@tanstack/react-query';\n\nimport type { MutationMiddleware } from '../../foundation/useBaseMutation';\nimport { QUERY_KEY_PREFIX } from '../../foundation/useBaseQuery/queryKeyPrefix';\nimport { useDynamicClient } from '../../modules/DynamicContext/useDynamicClient';\n\n/**\n * Mutation middleware factory that invalidates one or more query hooks when\n * the mutation succeeds, so any mounted consumer of those queries refetches.\n *\n * Pass the query hooks' names (their `queryKey` leaf, e.g. `'useGetMfaDevices'`);\n * each is namespaced under `QUERY_KEY_PREFIX` to match the keys `useBaseQuery`\n * creates. The invalidation loop lives here, not in `useBaseMutation`.\n *\n * @example\n * ```ts\n * useBaseMutation({\n * middlewares: [invalidatesQueries('useGetMfaDevices')],\n * mutationFn: ({ client, variables }) => deleteMfaDevice(variables, client),\n * });\n * ```\n */\nexport const invalidatesQueries =\n (...queryKeys: ReadonlyArray<string>): MutationMiddleware =>\n () => {\n const queryClient = useQueryClient();\n\n const client = useDynamicClient();\n\n /**\n * Swallows an `invalidateQueries` rejection so a failed refetch never\n * surfaces as an unhandled rejection nor rejects the combined invalidation\n * promise, while still logging it at debug level so internal devs can see\n * which query failed to refetch. Curried over the query key and extracted\n * to a named handler so the invalidation map stays within the\n * function-nesting limit.\n */\n const debugInvalidationFailure =\n (queryKey: ReadonlyArray<string>) =>\n (error: unknown): undefined => {\n getCore(client).logger.debug(\n '[invalidatesQueries] failed to invalidate query',\n { error, queryKey, stack: error instanceof Error ? error.stack : undefined }\n );\n\n return undefined;\n };\n\n return {\n // Return the invalidation promise so `useBaseMutation` can await it,\n // keeping the refetch ordered before the consumer's own `onSuccess`.\n onSuccess: () =>\n Promise.all(\n queryKeys.map((key) => {\n const queryKey = [...QUERY_KEY_PREFIX, key];\n\n return queryClient\n .invalidateQueries({ queryKey })\n .catch(debugInvalidationFailure(queryKey));\n })\n ),\n };\n };\n","import { authenticateTotpMfaDevice } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\nimport { invalidatesQueries } from '../../../../middlewares/invalidatesQueries';\n\ntype AuthenticateTotpMfaDeviceVariables = Parameters<\n typeof authenticateTotpMfaDevice\n>[0];\ntype AuthenticateTotpMfaDeviceResult = Awaited<\n ReturnType<typeof authenticateTotpMfaDevice>\n>;\n\nexport type UseAuthenticateTotpMfaDeviceParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n AuthenticateTotpMfaDeviceResult,\n AuthenticateTotpMfaDeviceVariables\n >['mutateParams'];\n};\n\n/**\n * Authenticates the current user with a TOTP code from an authenticator app.\n *\n * Wraps `authenticateTotpMfaDevice` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ code })` with the 6-digit code; the resolved `data` is the MFA\n * authentication response.\n *\n * @example\n * ```tsx\n * const { mutate: authenticateTotp, isPending } = useAuthenticateTotpMfaDevice();\n * <button onClick={() => authenticateTotp({ code })} disabled={isPending}>\n * Verify code\n * </button>\n * ```\n */\nexport const useAuthenticateTotpMfaDevice = ({\n mutateParams,\n}: UseAuthenticateTotpMfaDeviceParams = {}) => {\n return useBaseMutation<\n AuthenticateTotpMfaDeviceResult,\n AuthenticateTotpMfaDeviceVariables\n >({\n middlewares: [invalidatesQueries('useGetMfaDevices')],\n mutateParams,\n mutationFn: ({ client, variables }) =>\n authenticateTotpMfaDevice(variables, client),\n });\n};\n","import { getAvailableWalletProvidersData } from '@dynamic-labs-sdk/client';\n\nimport { useBaseState } from '../../../../foundation/useBaseState';\n\n/**\n * Returns the available wallet providers and their data.\n *\n * Re-renders when the wallet provider registry changes. `walletProviderChanged`\n * fires on register / priority update but NOT on removal, so\n * `walletProviderUnregistered` is wired too — otherwise a removed provider\n * would linger in the returned list.\n */\nexport const useGetAvailableWalletProvidersData = () =>\n useBaseState({\n defaultValue: [],\n event: { walletProviderChanged: true, walletProviderUnregistered: true },\n queryKey: ['useGetAvailableWalletProvidersData'],\n selector: (client) => getAvailableWalletProvidersData(client),\n });\n","import { getBalanceForAddress } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetBalanceForAddressResult = Awaited<\n ReturnType<typeof getBalanceForAddress>\n>;\ntype GetBalanceForAddressArgs = Parameters<typeof getBalanceForAddress>[0];\n\nexport type UseGetBalanceForAddressParams = GetBalanceForAddressArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetBalanceForAddressResult>['queryParams'];\n};\n\n/**\n * Wraps `getBalanceForAddress` from `@dynamic-labs-sdk/client`. Returns the native-token balance for an arbitrary address on the given chain/network.\n *\n * @example\n * ```tsx\n * const { data, isLoading } = useGetBalanceForAddress({ address, chain, networkId });\n * ```\n */\nexport const useGetBalanceForAddress = ({\n queryParams,\n ...args\n}: UseGetBalanceForAddressParams) =>\n useBaseQuery<GetBalanceForAddressResult>({\n queryFn: (client) => getBalanceForAddress(args, client),\n queryKey: ['useGetBalanceForAddress', args],\n queryParams,\n });\n","import { getBusinessAccount } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetBusinessAccountResult = Awaited<ReturnType<typeof getBusinessAccount>>;\ntype GetBusinessAccountArgs = Parameters<typeof getBusinessAccount>[0];\n\n/**\n * Parameters for {@link useGetBusinessAccount}: the `getBusinessAccount` args plus an optional\n * override of the underlying react-query options.\n *\n * @example\n * ```tsx\n * const params: UseGetBusinessAccountParams = { businessAccountId };\n * ```\n * @see useGetBusinessAccount\n * @see getBusinessAccount\n */\nexport type UseGetBusinessAccountParams = GetBusinessAccountArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: NonNullable<\n UseBaseQueryParams<GetBusinessAccountResult>['queryParams']\n >;\n};\n\n/**\n * Wraps `getBusinessAccount` from `@dynamic-labs-sdk/client/waas`. Retrieves a business account by\n * ID, including its members, signers, and wallets.\n *\n * @example\n * ```tsx\n * const { data: businessAccount, isLoading } = useGetBusinessAccount({ businessAccountId });\n * ```\n *\n * @returns A react-query result whose `data` is the business account detail resolved by `getBusinessAccount`.\n * @see getBusinessAccount\n * @see UseGetBusinessAccountParams\n */\nexport const useGetBusinessAccount = ({\n queryParams,\n ...args\n}: UseGetBusinessAccountParams) =>\n useBaseQuery<GetBusinessAccountResult>({\n queryFn: (client) => getBusinessAccount(args, client),\n queryKey: ['useGetBusinessAccount', args],\n queryParams,\n });\n","import { broadcastFlow } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype BroadcastFlowVariables = Parameters<typeof broadcastFlow>[0];\ntype BroadcastFlowResult = Awaited<ReturnType<typeof broadcastFlow>>;\n\nexport type UseBroadcastFlowParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n BroadcastFlowResult,\n BroadcastFlowVariables\n >['mutateParams'];\n};\n\n/**\n * Records that a flow transaction has been broadcasted.\n *\n * Wraps `broadcastFlow` from `@dynamic-labs-sdk/client`. Call `mutate({ flowId, txHash })`\n * to record the broadcast. For wallet sources pass the on-chain `txHash`; for exchange\n * sources `txHash` can be omitted.\n *\n * @example\n * ```tsx\n * const { mutate: broadcastFlow, isPending } = useBroadcastFlow();\n * <button onClick={() => broadcastFlow({ flowId, txHash })} disabled={isPending}>\n * Broadcast flow\n * </button>\n * ```\n */\nexport const useBroadcastFlow = ({ mutateParams }: UseBroadcastFlowParams = {}) =>\n useBaseMutation<BroadcastFlowResult, BroadcastFlowVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => broadcastFlow(variables, client),\n });\n","import { cancelFlow } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype CancelFlowVariables = Parameters<typeof cancelFlow>[0];\ntype CancelFlowResult = Awaited<ReturnType<typeof cancelFlow>>;\n\nexport type UseCancelFlowParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n CancelFlowResult,\n CancelFlowVariables\n >['mutateParams'];\n};\n\n/**\n * Cancels a flow before it has been broadcasted.\n *\n * Wraps `cancelFlow` from `@dynamic-labs-sdk/client`. Call `mutate({ flowId })`\n * to cancel a flow.\n *\n * @example\n * ```tsx\n * const { mutate: cancelFlow, isPending } = useCancelFlow();\n * <button onClick={() => cancelFlow({ flowId })} disabled={isPending}>\n * Cancel flow\n * </button>\n * ```\n */\nexport const useCancelFlow = ({ mutateParams }: UseCancelFlowParams = {}) =>\n useBaseMutation<CancelFlowResult, CancelFlowVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => cancelFlow(variables, client),\n });\n","import { checkStepUpAuth } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype CheckStepUpAuthResult = Awaited<ReturnType<typeof checkStepUpAuth>>;\ntype CheckStepUpAuthArgs = Parameters<typeof checkStepUpAuth>[0];\n\nexport type UseCheckStepUpAuthParams = CheckStepUpAuthArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<CheckStepUpAuthResult>['queryParams'];\n};\n\n/**\n * Checks whether step-up authentication is required for a given scope and\n * returns the credentials available to satisfy it.\n *\n * Wraps `checkStepUpAuth` from `@dynamic-labs-sdk/client`. Use the returned\n * `isRequired` to decide whether to show a step-up UI before a sensitive\n * action (e.g. exporting a wallet).\n *\n * @example\n * ```tsx\n * const { data } = useCheckStepUpAuth({ scope: TokenScope.Walletexport });\n * if (data?.isRequired) {\n * // render step-up UI using data.credentials\n * }\n * ```\n */\nexport const useCheckStepUpAuth = ({\n queryParams,\n ...args\n}: UseCheckStepUpAuthParams) =>\n useBaseQuery<CheckStepUpAuthResult>({\n queryFn: (client) => checkStepUpAuth(args, client),\n queryKey: ['useCheckStepUpAuth', args],\n queryParams,\n });\n","import { getCoinbaseBuyUrl } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetCoinbaseBuyUrlResult = Awaited<ReturnType<typeof getCoinbaseBuyUrl>>;\ntype GetCoinbaseBuyUrlArgs = Parameters<typeof getCoinbaseBuyUrl>[0];\n\nexport type UseGetCoinbaseBuyUrlParams = GetCoinbaseBuyUrlArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetCoinbaseBuyUrlResult>['queryParams'];\n};\n\n/**\n * Wraps `getCoinbaseBuyUrl` from `@dynamic-labs-sdk/client`. Returns a Coinbase onramp buy URL for the given parameters.\n *\n * @example\n * ```tsx\n * const { data: buyUrl, isLoading } = useGetCoinbaseBuyUrl(buyUrlParams);\n * ```\n */\nexport const useGetCoinbaseBuyUrl = ({\n queryParams,\n ...args\n}: UseGetCoinbaseBuyUrlParams) =>\n useBaseQuery<GetCoinbaseBuyUrlResult>({\n queryFn: (client) => getCoinbaseBuyUrl(args, client),\n queryKey: ['useGetCoinbaseBuyUrl', args],\n queryParams,\n });\n","import { addCoinbaseOnrampOrderEventListener } from '@dynamic-labs-sdk/client';\nimport { useEffect, useRef } from 'react';\n\nimport { useDynamicClient } from '../../../../modules/DynamicContext';\n\ntype AddCoinbaseOnrampOrderEventListenerParams = Parameters<\n typeof addCoinbaseOnrampOrderEventListener\n>[0];\n\ntype CoinbaseOnrampOrderListener =\n AddCoinbaseOnrampOrderEventListenerParams['listener'];\n\nexport type UseAddCoinbaseOnrampOrderEventListenerParams = {\n /**\n * Called for each Coinbase onramp order event received via `postMessage`.\n */\n listener: CoinbaseOnrampOrderListener;\n};\n\n/**\n * Subscribes to Coinbase onramp order events for the duration of the component.\n *\n * Wraps `addCoinbaseOnrampOrderEventListener` from `@dynamic-labs-sdk/client`.\n * Uses a ref to always call the latest listener without re-subscribing, and\n * removes the listener on unmount.\n *\n * @example\n * ```tsx\n * useAddCoinbaseOnrampOrderEventListener({\n * listener: ({ eventName, data }) => console.log(eventName, data),\n * });\n * ```\n */\nexport const useAddCoinbaseOnrampOrderEventListener = ({\n listener,\n}: UseAddCoinbaseOnrampOrderEventListenerParams) => {\n const client = useDynamicClient();\n const callbackRef = useRef(listener);\n\n callbackRef.current = listener;\n\n useEffect(\n () =>\n addCoinbaseOnrampOrderEventListener(\n {\n listener: (...args: Parameters<CoinbaseOnrampOrderListener>) => {\n callbackRef.current(...args);\n },\n },\n client\n ),\n [client]\n );\n};\n","import { completeDeviceRegistration } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\nimport { invalidatesQueries } from '../../../../middlewares/invalidatesQueries';\n\ntype CompleteDeviceRegistrationVariables = Parameters<\n typeof completeDeviceRegistration\n>[0];\ntype CompleteDeviceRegistrationResult = Awaited<\n ReturnType<typeof completeDeviceRegistration>\n>;\n\nexport type UseCompleteDeviceRegistrationParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n CompleteDeviceRegistrationResult,\n CompleteDeviceRegistrationVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `completeDeviceRegistration` from `@dynamic-labs-sdk/client`. Call `mutate({ deviceToken })` with the device token parsed from the redirect URL; the resolved `data` is a `VerifyResponse`.\n *\n * @example\n * ```tsx\n * const { mutate: completeRegistration, isPending } =\n * useCompleteDeviceRegistration();\n * completeRegistration({ deviceToken });\n * ```\n */\nexport const useCompleteDeviceRegistration = ({\n mutateParams,\n}: UseCompleteDeviceRegistrationParams = {}) =>\n useBaseMutation<\n CompleteDeviceRegistrationResult,\n CompleteDeviceRegistrationVariables\n >({\n middlewares: [invalidatesQueries('useGetRegisteredDevices')],\n mutateParams,\n mutationFn: ({ client, variables }) =>\n completeDeviceRegistration(variables, client),\n });\n","import { completeSocialRedirect } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype CompleteSocialRedirectVariables = Parameters<\n typeof completeSocialRedirect\n>[0];\ntype CompleteSocialRedirectResult = Awaited<\n ReturnType<typeof completeSocialRedirect>\n>;\n\nexport type UseCompleteSocialRedirectParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n CompleteSocialRedirectResult,\n CompleteSocialRedirectVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `completeSocialRedirect` from `@dynamic-labs-sdk/client`. Call `mutate(params)` with the OAuth callback URL once the provider has redirected back to finish the sign-in; the resolved `data` is the signed-in `User` (or `null`).\n *\n * @example\n * ```tsx\n * const { mutate: completeSocialRedirect, data: user } =\n * useCompleteSocialRedirect();\n * completeSocialRedirect({ url: new URL(window.location.href) });\n * ```\n */\nexport const useCompleteSocialRedirect = ({\n mutateParams,\n}: UseCompleteSocialRedirectParams = {}) =>\n useBaseMutation<\n CompleteSocialRedirectResult,\n CompleteSocialRedirectVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n completeSocialRedirect(variables, client),\n });\n","import { detectSocialRedirectUrl } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype DetectSocialRedirectUrlResult = Awaited<\n ReturnType<typeof detectSocialRedirectUrl>\n>;\ntype DetectSocialRedirectUrlArgs = Parameters<typeof detectSocialRedirectUrl>[0];\n\n/**\n * Parameters for {@link useDetectSocialRedirectUrl} — the arguments of\n * `detectSocialRedirectUrl` plus an optional react-query options override.\n *\n * @example\n * ```tsx\n * const params: UseDetectSocialRedirectUrlParams = { url };\n * ```\n *\n * @see {@link useDetectSocialRedirectUrl} the hook these parameters configure.\n * @see {@link useCompleteSocialRedirect} the mutation you fire once detection\n * returns `true`.\n */\nexport type UseDetectSocialRedirectUrlParams = DetectSocialRedirectUrlArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: NonNullable<\n UseBaseQueryParams<DetectSocialRedirectUrlResult>['queryParams']\n >;\n};\n\n/**\n * Wraps `detectSocialRedirectUrl` from `@dynamic-labs-sdk/client`. Resolves to\n * `true` when the given URL is an OAuth redirect back from a social provider\n * (started by `signInWithSocialRedirect`), so you can decide whether to run\n * `completeSocialRedirect`.\n *\n * @param params - See {@link UseDetectSocialRedirectUrlParams}.\n * @returns A react-query result whose `data` is `true` when the URL is a social\n * OAuth callback, plus the usual `isLoading`/`error` fields.\n *\n * @example\n * ```tsx\n * const { data: isReturningFromProvider, isLoading } =\n * useDetectSocialRedirectUrl({ url });\n * ```\n *\n * @see {@link useCompleteSocialRedirect} to finish the redirect sign-in once\n * this returns `true`.\n * @see {@link clearSocialRedirectParams} to clean the OAuth parameters from the\n * URL after completion.\n */\nexport const useDetectSocialRedirectUrl = ({\n queryParams,\n ...args\n}: UseDetectSocialRedirectUrlParams) =>\n useBaseQuery<DetectSocialRedirectUrlResult>({\n queryFn: (client) => detectSocialRedirectUrl(args, client),\n queryKey: ['useDetectSocialRedirectUrl', { url: args.url.href }],\n queryParams,\n });\n","import { confirmTransaction } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype ConfirmTransactionVariables = Parameters<typeof confirmTransaction>[0];\ntype ConfirmTransactionResult = Awaited<ReturnType<typeof confirmTransaction>>;\n\nexport type UseConfirmTransactionParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n ConfirmTransactionResult,\n ConfirmTransactionVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `confirmTransaction` from `@dynamic-labs-sdk/client`. Call `mutate({ walletAccount, transactionHash })` to await confirmation of a submitted transaction; the resolved `data` is `void`.\n *\n * @example\n * ```tsx\n * const { mutate: confirmTransaction, isPending } = useConfirmTransaction();\n * confirmTransaction({ walletAccount, transactionHash });\n * ```\n */\nexport const useConfirmTransaction = ({\n mutateParams,\n}: UseConfirmTransactionParams = {}) =>\n useBaseMutation<ConfirmTransactionResult, ConfirmTransactionVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n confirmTransaction(variables, client),\n });\n","import { connectAndVerifyWithWalletProvider } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype ConnectAndVerifyWithWalletProviderVariables = Parameters<\n typeof connectAndVerifyWithWalletProvider\n>[0];\ntype ConnectAndVerifyWithWalletProviderResult = Awaited<\n ReturnType<typeof connectAndVerifyWithWalletProvider>\n>;\n\nexport type UseConnectAndVerifyWithWalletProviderParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n ConnectAndVerifyWithWalletProviderResult,\n ConnectAndVerifyWithWalletProviderVariables\n >['mutateParams'];\n};\n\n/**\n * Connects to a wallet provider and verifies ownership in a single step.\n *\n * Wraps `connectAndVerifyWithWalletProvider` from `@dynamic-labs-sdk/client`.\n * Call `mutate({ walletProviderKey })` to connect and prompt the user to sign\n * a verification message, adding the verified account to their profile.\n *\n * Throws `DeeplinkConnectAndVerifyUnsupportedError` on mobile with deeplink\n * wallet providers — there, use `useConnectWithWalletProvider` followed by\n * `useVerifyWalletAccount` from a fresh user gesture instead.\n *\n * @example\n * ```tsx\n * const { mutate: connectAndVerify, isPending } =\n * useConnectAndVerifyWithWalletProvider();\n * <button\n * onClick={() => connectAndVerify({ walletProviderKey: 'metamaskevm' })}\n * disabled={isPending}\n * >\n * Connect & verify\n * </button>\n * ```\n */\nexport const useConnectAndVerifyWithWalletProvider = ({\n mutateParams,\n}: UseConnectAndVerifyWithWalletProviderParams = {}) =>\n useBaseMutation<\n ConnectAndVerifyWithWalletProviderResult,\n ConnectAndVerifyWithWalletProviderVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n connectAndVerifyWithWalletProvider(variables, client),\n });\n","import { type OnEventParams, onEvent } from '@dynamic-labs-sdk/client';\nimport { useEffect, useRef } from 'react';\n\nimport { useDynamicClient } from '../../../../modules/DynamicContext';\n\n/**\n * Subscribes to a Dynamic client event.\n *\n * Uses a ref to always call the latest listener without re-subscribing,\n * and cleans up the subscription on unmount or event name change.\n */\nexport const useOnEvent = <E extends keyof DynamicEvents>({\n event,\n listener,\n}: OnEventParams<E>) => {\n const client = useDynamicClient();\n const callbackRef = useRef(listener);\n\n callbackRef.current = listener;\n\n useEffect(\n () =>\n onEvent(\n {\n event,\n listener: (...args: any[]) => {\n // @ts-expect-error - Ignore the type error because we are using the ref\n callbackRef.current(...args);\n },\n },\n client\n ),\n [event, client]\n );\n};\n","import { getCore } from '@dynamic-labs-sdk/client/core';\nimport { useQueryClient } from '@tanstack/react-query';\n\nimport type { QueryMiddleware } from '../../foundation/useBaseQuery';\nimport { useOnEvent } from '../../hooks/wrappers/functions/useOnEvent';\nimport { useDynamicClient } from '../../modules/DynamicContext';\n\nexport type InvalidateOnEventParams<E extends keyof DynamicEvents> = {\n /**\n * The client event to listen for (e.g. `'walletAccountsChanged'`).\n */\n event: E;\n};\n\n/**\n * Query middleware factory that refetches the query whenever the given client\n * event fires (e.g. `walletAccountsChanged`).\n *\n * It only wires up the subscription, invalidating the query's own cache key so\n * any mounted consumer refetches. This replaces the manual `useOnEvent` +\n * `refetch` boilerplate consumers would otherwise pair with the hook. It is the\n * client-event counterpart to `invalidateOnWalletProviderEvent` (which listens\n * on a single wallet account's provider). The subscription lives here, not in\n * `useBaseQuery`.\n *\n * @example\n * ```ts\n * useBaseQuery({\n * middlewares: [invalidateOnEvent({ event: 'walletAccountsChanged' })],\n * queryFn: (client) => getConnectedAddresses(args, client),\n * queryKey: ['useGetConnectedAddresses', args],\n * });\n * ```\n */\nexport const invalidateOnEvent =\n <E extends keyof DynamicEvents>({\n event,\n }: InvalidateOnEventParams<E>): QueryMiddleware =>\n (context) => {\n const queryClient = useQueryClient();\n const client = useDynamicClient();\n\n useOnEvent({\n event,\n // The listener ignores the event payload; it only triggers a refetch.\n listener: (() => {\n // `useBaseQuery` always supplies the query's own key; the context is\n // only optional so middlewares invoked directly in tests can omit it,\n // so bail rather than invalidate an unknown key when it is absent.\n if (!context) {\n return;\n }\n\n // Debug log so developers can observe which query an event invalidates.\n getCore(client).logger.debug(\n '[invalidateOnEvent] invalidating query on event',\n { event, queryKey: context.queryKey }\n );\n\n queryClient\n .invalidateQueries({ queryKey: context.queryKey })\n .catch((error: unknown) => {\n // Swallow the rejection, but log it so internal devs can\n // troubleshoot a query that fails to refetch on the event.\n getCore(client).logger.debug(\n '[invalidateOnEvent] failed to invalidate query',\n {\n error,\n queryKey: context.queryKey,\n stack: error instanceof Error ? error.stack : undefined,\n }\n );\n });\n }) as DynamicEvents[E],\n });\n };\n","import { getConnectedAddresses } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnEvent } from '../../../../middlewares/invalidateOnEvent';\n\ntype ConnectedAddressesResult = Awaited<ReturnType<typeof getConnectedAddresses>>;\ntype ConnectedAddressesArgs = Parameters<typeof getConnectedAddresses>[0];\n\nexport type UseGetConnectedAddressesParams = ConnectedAddressesArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<ConnectedAddressesResult>['queryParams'];\n};\n\n/**\n * Returns the connected addresses for the given wallet provider.\n *\n * Wraps `getConnectedAddresses` from `@dynamic-labs-sdk/client`. Automatically\n * refetches when wallet accounts change (connect / disconnect / verify), so\n * consumers don't have to pair it with a manual `walletAccountsChanged`\n * listener.\n */\nexport const useGetConnectedAddresses = ({ queryParams, ...args }: UseGetConnectedAddressesParams) =>\n useBaseQuery<ConnectedAddressesResult>({\n middlewares: [invalidateOnEvent({ event: 'walletAccountsChanged' })],\n queryFn: (client) => getConnectedAddresses(args, client),\n queryKey: ['useGetConnectedAddresses', args],\n queryParams,\n });\n","import { connectWithWalletProvider } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype ConnectWithWalletProviderVariables = Parameters<\n typeof connectWithWalletProvider\n>[0];\ntype ConnectWithWalletProviderResult = Awaited<\n ReturnType<typeof connectWithWalletProvider>\n>;\n\nexport type UseConnectWithWalletProviderParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n ConnectWithWalletProviderResult,\n ConnectWithWalletProviderVariables\n >['mutateParams'];\n};\n\n/**\n * Connects to a wallet provider and returns the connected wallet account.\n *\n * Wraps `connectWithWalletProvider` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ walletProviderKey })` to trigger the connection — the wallet\n * provider will prompt the user via its native UI. The connected account is\n * not verified; pair with `useVerifyWalletAccount`, or use\n * `useConnectAndVerifyWithWalletProvider` to do both in one step.\n *\n * @example\n * ```tsx\n * const { mutate: connect, data, isPending } = useConnectWithWalletProvider();\n * <button\n * onClick={() => connect({ walletProviderKey: 'metamaskevm' })}\n * disabled={isPending}\n * >\n * Connect\n * </button>\n * ```\n */\nexport const useConnectWithWalletProvider = ({\n mutateParams,\n}: UseConnectWithWalletProviderParams = {}) =>\n useBaseMutation<\n ConnectWithWalletProviderResult,\n ConnectWithWalletProviderVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n connectWithWalletProvider(variables, client),\n });\n","import { createBusinessAccount } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype CreateBusinessAccountVariables = Parameters<\n typeof createBusinessAccount\n>[0];\ntype CreateBusinessAccountResult = Awaited<\n ReturnType<typeof createBusinessAccount>\n>;\n\n/**\n * Parameters for {@link useCreateBusinessAccount}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseCreateBusinessAccountParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useCreateBusinessAccount\n * @see createBusinessAccount\n */\nexport type UseCreateBusinessAccountParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<\n UseBaseMutationParams<\n CreateBusinessAccountResult,\n CreateBusinessAccountVariables\n >['mutateParams']\n >;\n};\n\n/**\n * Wraps `createBusinessAccount` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * create a new business account.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useCreateBusinessAccount();\n * <button onClick={() => mutate({ name: 'Acme' })} disabled={isPending}>\n * Create\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `createBusinessAccount` and whose `data` is its resolved value.\n * @see createBusinessAccount\n * @see UseCreateBusinessAccountParams\n */\nexport const useCreateBusinessAccount = ({\n mutateParams,\n}: UseCreateBusinessAccountParams = {}) =>\n useBaseMutation<CreateBusinessAccountResult, CreateBusinessAccountVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n createBusinessAccount(variables, client),\n });\n","import { createCoinbaseOnrampOrder } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype CreateCoinbaseOnrampOrderVariables = Parameters<\n typeof createCoinbaseOnrampOrder\n>[0];\ntype CreateCoinbaseOnrampOrderResult = Awaited<\n ReturnType<typeof createCoinbaseOnrampOrder>\n>;\n\nexport type UseCreateCoinbaseOnrampOrderParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n CreateCoinbaseOnrampOrderResult,\n CreateCoinbaseOnrampOrderVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `createCoinbaseOnrampOrder` from `@dynamic-labs-sdk/client`. Call `mutate(orderParams)` to create a Coinbase onramp order; the resolved `data` is the order response.\n *\n * @example\n * ```tsx\n * const { mutate: createOrder, data: order } = useCreateCoinbaseOnrampOrder();\n * createOrder(orderParams);\n * ```\n */\nexport const useCreateCoinbaseOnrampOrder = ({\n mutateParams,\n}: UseCreateCoinbaseOnrampOrderParams = {}) =>\n useBaseMutation<\n CreateCoinbaseOnrampOrderResult,\n CreateCoinbaseOnrampOrderVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n createCoinbaseOnrampOrder(variables, client),\n });\n","import { createCryptoDotComPayment } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype CreateCryptoDotComPaymentVariables = Parameters<\n typeof createCryptoDotComPayment\n>[0];\ntype CreateCryptoDotComPaymentResult = Awaited<\n ReturnType<typeof createCryptoDotComPayment>\n>;\n\nexport type UseCreateCryptoDotComPaymentParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n CreateCryptoDotComPaymentResult,\n CreateCryptoDotComPaymentVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `createCryptoDotComPayment` from `@dynamic-labs-sdk/client`. Call `mutate(paymentParams)` to create a Crypto.com Pay payment; the resolved `data` is the payment response.\n *\n * @example\n * ```tsx\n * const { mutate: createPayment, data: payment } =\n * useCreateCryptoDotComPayment();\n * createPayment(paymentParams);\n * ```\n */\nexport const useCreateCryptoDotComPayment = ({\n mutateParams,\n}: UseCreateCryptoDotComPaymentParams = {}) =>\n useBaseMutation<\n CreateCryptoDotComPaymentResult,\n CreateCryptoDotComPaymentVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n createCryptoDotComPayment(variables, client),\n });\n","import { createNewMfaRecoveryCodes } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype CreateNewMfaRecoveryCodesResult = Awaited<\n ReturnType<typeof createNewMfaRecoveryCodes>\n>;\n\nexport type UseCreateNewMfaRecoveryCodesParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n CreateNewMfaRecoveryCodesResult,\n void\n >['mutateParams'];\n};\n\n/**\n * Regenerates the current user's MFA recovery codes.\n *\n * Wraps `createNewMfaRecoveryCodes` from `@dynamic-labs-sdk/client`. Takes\n * no arguments — call `mutate()` to issue a fresh set of codes (invalidating\n * the previous set); the resolved `data` is the new recovery codes.\n *\n * @example\n * ```tsx\n * const { mutate: regenerateCodes, data, isPending } =\n * useCreateNewMfaRecoveryCodes();\n * <button onClick={() => regenerateCodes()} disabled={isPending}>\n * Regenerate recovery codes\n * </button>\n * ```\n */\nexport const useCreateNewMfaRecoveryCodes = ({\n mutateParams,\n}: UseCreateNewMfaRecoveryCodesParams = {}) =>\n useBaseMutation<CreateNewMfaRecoveryCodesResult, void>({\n mutateParams,\n mutationFn: ({ client }) => createNewMfaRecoveryCodes(client),\n });\n","import { deleteMfaDevice } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\nimport { invalidatesQueries } from '../../../../middlewares/invalidatesQueries';\n\ntype DeleteMfaDeviceVariables = Parameters<typeof deleteMfaDevice>[0];\ntype DeleteMfaDeviceResult = Awaited<ReturnType<typeof deleteMfaDevice>>;\n\nexport type UseDeleteMfaDeviceParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n DeleteMfaDeviceResult,\n DeleteMfaDeviceVariables\n >['mutateParams'];\n};\n\n/**\n * Deletes one of the current user's MFA devices.\n *\n * Wraps `deleteMfaDevice` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ deviceId })` to remove the device; when no elevated access\n * token is available, also pass `mfaAuthToken`.\n *\n * @example\n * ```tsx\n * const { mutate: deleteDevice, isPending } = useDeleteMfaDevice();\n * <button onClick={() => deleteDevice({ deviceId })} disabled={isPending}>\n * Remove device\n * </button>\n * ```\n */\nexport const useDeleteMfaDevice = ({\n mutateParams,\n}: UseDeleteMfaDeviceParams = {}) => {\n return useBaseMutation<DeleteMfaDeviceResult, DeleteMfaDeviceVariables>({\n middlewares: [invalidatesQueries('useGetMfaDevices')],\n mutateParams,\n mutationFn: ({ client, variables }) => deleteMfaDevice(variables, client),\n });\n};\n","import { deletePasskey } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\nimport { invalidatesQueries } from '../../../../middlewares/invalidatesQueries';\n\ntype DeletePasskeyVariables = Parameters<typeof deletePasskey>[0];\ntype DeletePasskeyResult = Awaited<ReturnType<typeof deletePasskey>>;\n\nexport type UseDeletePasskeyParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n DeletePasskeyResult,\n DeletePasskeyVariables\n >['mutateParams'];\n};\n\n/**\n * Deletes one of the current user's passkeys.\n *\n * Wraps `deletePasskey` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ passkeyId })` to remove the passkey; the resolved `data` is\n * `void`.\n *\n * @example\n * ```tsx\n * const { mutate: deletePasskey, isPending } = useDeletePasskey();\n * <button onClick={() => deletePasskey({ passkeyId })} disabled={isPending}>\n * Remove passkey\n * </button>\n * ```\n */\nexport const useDeletePasskey = ({\n mutateParams,\n}: UseDeletePasskeyParams = {}) =>\n useBaseMutation<DeletePasskeyResult, DeletePasskeyVariables>({\n middlewares: [invalidatesQueries('useGetPasskeys')],\n mutateParams,\n mutationFn: ({ client, variables }) => deletePasskey(variables, client),\n });\n","import { deleteUser } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype DeleteUserResult = Awaited<ReturnType<typeof deleteUser>>;\n\nexport type UseDeleteUserParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n DeleteUserResult,\n void\n >['mutateParams'];\n};\n\n/**\n * Permanently deletes the current user's account and logs them out.\n *\n * Wraps `deleteUser` from `@dynamic-labs-sdk/client`. Takes no arguments —\n * call `mutate()` to hard-delete the account; the resolved `data` is `void`.\n * This is destructive and irreversible.\n *\n * @example\n * ```tsx\n * const { mutate: deleteUser, isPending } = useDeleteUser();\n * <button onClick={() => deleteUser()} disabled={isPending}>\n * Delete my account\n * </button>\n * ```\n */\nexport const useDeleteUser = ({ mutateParams }: UseDeleteUserParams = {}) =>\n useBaseMutation<DeleteUserResult, void>({\n mutateParams,\n mutationFn: ({ client }) => deleteUser(client),\n });\n","import { executeSwapTransaction } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype ExecuteSwapTransactionVariables = Parameters<\n typeof executeSwapTransaction\n>[0];\ntype ExecuteSwapTransactionResult = Awaited<\n ReturnType<typeof executeSwapTransaction>\n>;\n\nexport type UseExecuteSwapTransactionParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n ExecuteSwapTransactionResult,\n ExecuteSwapTransactionVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `executeSwapTransaction` from `@dynamic-labs-sdk/client`. Call `mutate({ walletAccount, signingPayload })` (using a payload from {@link useGetSwapQuote}) to execute a swap; the resolved `data` is `{ transactionHash }`.\n *\n * @example\n * ```tsx\n * const { mutate: executeSwap, data } = useExecuteSwapTransaction();\n * executeSwap({ walletAccount, signingPayload });\n * ```\n */\nexport const useExecuteSwapTransaction = ({\n mutateParams,\n}: UseExecuteSwapTransactionParams = {}) =>\n useBaseMutation<\n ExecuteSwapTransactionResult,\n ExecuteSwapTransactionVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n executeSwapTransaction(variables, client),\n });\n","import { getFlow } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetFlowResult = Awaited<ReturnType<typeof getFlow>>;\n\nexport type UseGetFlowParams = {\n /**\n * **Pseudo-required.** The ID of the flow to fetch.\n * Accepting `undefined` lets callers wire this up before the flow id\n * has loaded — the hook stays disabled until a real value is supplied.\n */\n flowId: string | undefined;\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetFlowResult>['queryParams'];\n};\n\n/**\n * Returns the flow with the given ID.\n *\n * Wraps `getFlow` from `@dynamic-labs-sdk/client`. The hook stays disabled\n * until `flowId` is defined.\n *\n * @example\n * ```tsx\n * const { data: flow, isLoading, refetch } = useGetFlow({ flowId });\n * ```\n */\nexport const useGetFlow = ({ flowId, queryParams }: UseGetFlowParams) =>\n useBaseQuery<GetFlowResult>({\n enabled: flowId !== undefined,\n queryFn: (client) => getFlow({ flowId: flowId as string }, client),\n queryKey: ['useGetFlow', flowId],\n queryParams,\n });\n","import { getFlowQuote } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype GetFlowQuoteVariables = Parameters<typeof getFlowQuote>[0];\ntype GetFlowQuoteResult = Awaited<ReturnType<typeof getFlowQuote>>;\n\nexport type UseGetFlowQuoteParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n GetFlowQuoteResult,\n GetFlowQuoteVariables\n >['mutateParams'];\n};\n\n/**\n * Fetches a quote for a flow.\n *\n * Wraps `getFlowQuote` from `@dynamic-labs-sdk/client`. Call `mutate({ flowId, fromTokenAddress, slippage })`\n * to fetch a quote for a flow.\n *\n * @example\n * ```tsx\n * const { mutate: getFlowQuote, isPending } = useGetFlowQuote();\n * <button onClick={() => getFlowQuote({ flowId, fromTokenAddress, slippage })} disabled={isPending}>\n * Get flow quote\n * </button>\n * ```\n */\nexport const useGetFlowQuote = ({ mutateParams }: UseGetFlowQuoteParams = {}) =>\n useBaseMutation<GetFlowQuoteResult, GetFlowQuoteVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => getFlowQuote(variables, client),\n });\n","import { prepareFlowSigning } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype PrepareFlowSigningVariables = Parameters<typeof prepareFlowSigning>[0];\ntype PrepareFlowSigningResult = Awaited<ReturnType<typeof prepareFlowSigning>>;\n\nexport type UsePrepareFlowSigningParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n PrepareFlowSigningResult,\n PrepareFlowSigningVariables\n >['mutateParams'];\n};\n\n/**\n * Prepares a flow transaction for signing.\n *\n * Wraps `prepareFlowSigning` from `@dynamic-labs-sdk/client`. Call `mutate({ flowId })`\n * to prepare a flow for signing.\n *\n * @example\n * ```tsx\n * const { mutate: prepareFlowSigning, isPending } = usePrepareFlowSigning();\n * <button onClick={() => prepareFlowSigning({ flowId })} disabled={isPending}>\n * Prepare flow signing\n * </button>\n * ```\n */\nexport const usePrepareFlowSigning = ({\n mutateParams,\n}: UsePrepareFlowSigningParams = {}) =>\n useBaseMutation<PrepareFlowSigningResult, PrepareFlowSigningVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n prepareFlowSigning(variables, client),\n });\n","import type { DynamicClient } from '@dynamic-labs-sdk/client';\nimport { getCore } from '@dynamic-labs-sdk/client/core';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { useRef } from 'react';\n\nimport type { QueryMiddleware } from '../../foundation/useBaseQuery';\nimport { useOnEvent } from '../../hooks/wrappers/functions/useOnEvent';\nimport { useDynamicClient } from '../../modules/DynamicContext';\n\nconst USER_CHANGED_EVENT = 'userChanged';\n\n/**\n * Query middleware factory that refetches the query when a *different* user\n * becomes the current user (login or account switch).\n *\n * Unlike `invalidateOnEvent({ event: 'userChanged' })`, this never invalidates\n * on:\n * - logout (the user becomes `undefined`) — the refetch would just 401 and the\n * cleared session leaves nothing to refetch; and\n * - same-user `userChanged` fires (e.g. linking a credential or a profile\n * update) — the data still belongs to the same user, whose own mutations\n * already invalidate it within the session.\n *\n * It tracks the previous user id across renders (seeded from the user present\n * at mount) and only invalidates when the new id is defined and differs.\n *\n * @example\n * ```ts\n * useBaseQuery({\n * middlewares: [invalidateOnUserSwitch()],\n * queryFn: (client) => getMfaDevices(client),\n * queryKey: ['useGetMfaDevices'],\n * });\n * ```\n */\nexport const invalidateOnUserSwitch =\n (): QueryMiddleware =>\n (context) => {\n const client = useDynamicClient();\n const queryClient = useQueryClient();\n\n // Seed with the user at mount so the first same-user fire (e.g. a profile\n // update right after mount) doesn't spuriously invalidate.\n const previousUserIdRef = useRef<string | undefined>(client.user?.id);\n\n useOnEvent({\n event: USER_CHANGED_EVENT,\n listener: ((args: { user: DynamicClient['user'] }) => {\n const nextUserId = args.user?.id;\n const previousUserId = previousUserIdRef.current;\n previousUserIdRef.current = nextUserId;\n\n // Only a switch to a different, defined user warrants a refetch:\n // logout (-> undefined) would just 401, and same-user fires don't\n // change user-scoped data (their own mutations handle that).\n if (nextUserId === undefined || nextUserId === previousUserId) {\n return;\n }\n\n // `useBaseQuery` always supplies the query's own key; the context is\n // only optional so middlewares invoked directly in tests can omit it,\n // so bail rather than invalidate an unknown key when it is absent.\n if (!context) {\n return;\n }\n\n getCore(client).logger.debug(\n '[invalidateOnUserSwitch] invalidating query on new user',\n { queryKey: context.queryKey }\n );\n\n queryClient\n .invalidateQueries({ queryKey: context.queryKey })\n .catch((error: unknown) => {\n // Swallow the rejection, but log it so internal devs can\n // troubleshoot a query that fails to refetch on the new user.\n getCore(client).logger.debug(\n '[invalidateOnUserSwitch] failed to invalidate query',\n {\n error,\n queryKey: context.queryKey,\n stack: error instanceof Error ? error.stack : undefined,\n }\n );\n });\n }) as DynamicEvents[typeof USER_CHANGED_EVENT],\n });\n };\n","import { getGoogleDriveBackupReadiness } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnUserSwitch } from '../../../../middlewares/invalidateOnUserSwitch';\n\ntype GetGoogleDriveBackupReadinessResult = Awaited<\n ReturnType<typeof getGoogleDriveBackupReadiness>\n>;\n\nexport type UseGetGoogleDriveBackupReadinessParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetGoogleDriveBackupReadinessResult>['queryParams'];\n};\n\n/**\n * Wraps `getGoogleDriveBackupReadiness` from `@dynamic-labs-sdk/client`. Reports whether the user's Google Drive backup is set up and available.\n *\n * Automatically refetches when a different user becomes current (login or\n * account switch), so consumers don't have to pair it with a manual\n * `userChanged` listener.\n *\n * @example\n * ```tsx\n * const { data: readiness, isLoading } = useGetGoogleDriveBackupReadiness();\n * ```\n */\nexport const useGetGoogleDriveBackupReadiness = ({\n queryParams,\n}: UseGetGoogleDriveBackupReadinessParams = {}) =>\n useBaseQuery<GetGoogleDriveBackupReadinessResult>({\n middlewares: [invalidateOnUserSwitch()],\n queryFn: (client) => getGoogleDriveBackupReadiness(client),\n queryKey: ['useGetGoogleDriveBackupReadiness'],\n queryParams,\n });\n","import { isMfaRequiredForAction } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype IsMfaRequiredForActionResult = Awaited<ReturnType<typeof isMfaRequiredForAction>>;\ntype IsMfaRequiredForActionArgs = Parameters<typeof isMfaRequiredForAction>[0];\n\nexport type UseIsMfaRequiredForActionParams = IsMfaRequiredForActionArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<IsMfaRequiredForActionResult>['queryParams'];\n};\n\n/**\n * Returns whether MFA is required for the given action.\n *\n * Wraps `isMfaRequiredForAction` from `@dynamic-labs-sdk/client`.\n */\nexport const useIsMfaRequiredForAction = ({ queryParams, ...args }: UseIsMfaRequiredForActionParams) =>\n useBaseQuery<IsMfaRequiredForActionResult>({\n queryFn: (client) => isMfaRequiredForAction(args, client),\n queryKey: ['useIsMfaRequiredForAction', args],\n queryParams,\n });\n","import { getKrakenAccounts } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnUserSwitch } from '../../../../middlewares/invalidateOnUserSwitch';\n\ntype GetKrakenAccountsResult = Awaited<ReturnType<typeof getKrakenAccounts>>;\ntype GetKrakenAccountsArgs = NonNullable<\n Parameters<typeof getKrakenAccounts>[0]\n>;\n\nexport type UseGetKrakenAccountsParams = GetKrakenAccountsArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetKrakenAccountsResult>['queryParams'];\n};\n\n/**\n * Wraps `getKrakenAccounts` from `@dynamic-labs-sdk/client`. Returns the authenticated user's Kraken accounts (with balances), optionally filtered by chain/network.\n *\n * Automatically refetches when a different user becomes current (login or\n * account switch), so consumers don't have to pair it with a manual\n * `userChanged` listener.\n *\n * @example\n * ```tsx\n * const { data: accounts, isLoading } = useGetKrakenAccounts();\n * ```\n */\nexport const useGetKrakenAccounts = ({\n queryParams,\n ...args\n}: UseGetKrakenAccountsParams = {}) =>\n useBaseQuery<GetKrakenAccountsResult>({\n middlewares: [invalidateOnUserSwitch()],\n queryFn: (client) => getKrakenAccounts(args, client),\n queryKey: ['useGetKrakenAccounts', args],\n queryParams,\n });\n","import { createKrakenExchangeTransfer } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype CreateKrakenExchangeTransferVariables = Parameters<\n typeof createKrakenExchangeTransfer\n>[0];\ntype CreateKrakenExchangeTransferResult = Awaited<\n ReturnType<typeof createKrakenExchangeTransfer>\n>;\n\nexport type UseCreateKrakenExchangeTransferParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n CreateKrakenExchangeTransferResult,\n CreateKrakenExchangeTransferVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `createKrakenExchangeTransfer` from `@dynamic-labs-sdk/client`. Call `mutate({ accountId, ... })` to send crypto from a Kraken account (see `useGetKrakenAccounts`) to a whitelisted address (see `useGetKrakenWhitelistedAddresses`); the resolved `data` is the created transfer.\n *\n * @example\n * ```tsx\n * const { mutate: transfer, data } = useCreateKrakenExchangeTransfer();\n * transfer({ accountId, asset, amount, address });\n * ```\n */\nexport const useCreateKrakenExchangeTransfer = ({\n mutateParams,\n}: UseCreateKrakenExchangeTransferParams = {}) =>\n useBaseMutation<\n CreateKrakenExchangeTransferResult,\n CreateKrakenExchangeTransferVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n createKrakenExchangeTransfer(variables, client),\n });\n","import { getKrakenWhitelistedAddresses } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnUserSwitch } from '../../../../middlewares/invalidateOnUserSwitch';\n\ntype GetKrakenWhitelistedAddressesResult = Awaited<\n ReturnType<typeof getKrakenWhitelistedAddresses>\n>;\n\nexport type UseGetKrakenWhitelistedAddressesParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetKrakenWhitelistedAddressesResult>['queryParams'];\n};\n\n/**\n * Wraps `getKrakenWhitelistedAddresses` from `@dynamic-labs-sdk/client`. Returns the destination addresses whitelisted for Kraken withdrawals.\n *\n * Automatically refetches when a different user becomes current (login or\n * account switch), so consumers don't have to pair it with a manual\n * `userChanged` listener.\n *\n * @example\n * ```tsx\n * const { data: addresses, isLoading } = useGetKrakenWhitelistedAddresses();\n * ```\n */\nexport const useGetKrakenWhitelistedAddresses = ({\n queryParams,\n}: UseGetKrakenWhitelistedAddressesParams = {}) =>\n useBaseQuery<GetKrakenWhitelistedAddressesResult>({\n middlewares: [invalidateOnUserSwitch()],\n queryFn: (client) => getKrakenWhitelistedAddresses(client),\n queryKey: ['useGetKrakenWhitelistedAddresses'],\n queryParams,\n });\n","import { listBusinessAccounts } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype ListBusinessAccountsResult = Awaited<\n ReturnType<typeof listBusinessAccounts>\n>;\n\n/**\n * Parameters for {@link useListBusinessAccounts}: an optional override of the underlying\n * react-query options.\n *\n * @example\n * ```tsx\n * const params: UseListBusinessAccountsParams = { queryParams: { retry: 0 } };\n * ```\n * @see useListBusinessAccounts\n * @see listBusinessAccounts\n */\nexport type UseListBusinessAccountsParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: NonNullable<\n UseBaseQueryParams<ListBusinessAccountsResult>['queryParams']\n >;\n};\n\n/**\n * Wraps `listBusinessAccounts` from `@dynamic-labs-sdk/client/waas`. Lists all business accounts for\n * the current project environment.\n *\n * @example\n * ```tsx\n * const { data: businessAccounts, isLoading } = useListBusinessAccounts();\n * ```\n *\n * @returns A react-query result whose `data` is the paginated list resolved by `listBusinessAccounts`.\n * @see listBusinessAccounts\n * @see UseListBusinessAccountsParams\n */\nexport const useListBusinessAccounts = ({\n queryParams,\n}: UseListBusinessAccountsParams = {}) =>\n useBaseQuery<ListBusinessAccountsResult>({\n queryFn: (client) => listBusinessAccounts(client),\n queryKey: ['useListBusinessAccounts'],\n queryParams,\n });\n","// eslint-disable-next-line custom-rules/require-logout-with-reason -- this hook is the customer-facing wrapper for `logout`, so it forwards the user-intent reason itself.\nimport { logout } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype UseLogoutParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<void, void>['mutateParams'];\n};\n\n/**\n * Logs the current user out.\n *\n * Wraps `logout` from `@dynamic-labs-sdk/client`. Takes no required\n * arguments — call `mutate()` to trigger the logout.\n *\n * @example\n * ```tsx\n * const { mutate: logOut, isPending } = useLogout();\n * <button onClick={() => logOut()} disabled={isPending}>Logout</button>\n * ```\n */\nexport const useLogout = ({ mutateParams }: UseLogoutParams = {}) =>\n useBaseMutation<void, void>({\n mutateParams,\n mutationFn: ({ client }) => logout(client),\n });\n","import { mergeUserAccounts } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype MergeUserAccountsVariables = Parameters<typeof mergeUserAccounts>[0];\ntype MergeUserAccountsResult = Awaited<ReturnType<typeof mergeUserAccounts>>;\n\n/**\n * Parameters for {@link useMergeUserAccounts}: an optional override of the\n * underlying react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseMergeUserAccountsParams = {\n * mutateParams: { onSuccess: () => console.log('merged') },\n * };\n * ```\n * @see useMergeUserAccounts\n * @see mergeUserAccounts\n */\nexport type UseMergeUserAccountsParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<\n UseBaseMutationParams<\n MergeUserAccountsResult,\n MergeUserAccountsVariables\n >['mutateParams']\n >;\n};\n\n/**\n * Completes an account merge after a credential was found to already belong to\n * another user (surfaced as `MergeAccountsConfirmationError` during\n * verification / linking).\n *\n * Wraps `mergeUserAccounts` from `@dynamic-labs-sdk/client`. Call `mutate()`\n * with no arguments to merge directly when there are no conflicts, or\n * `mutate({ conflictResolutions })` with the user's per-field choices when the\n * merge surfaced conflicts. The resolved `data` is the merged user.\n *\n * @example\n * ```tsx\n * const { mutate: mergeAccounts, isPending } = useMergeUserAccounts();\n *\n * // No conflicts — merge directly:\n * mergeAccounts({});\n *\n * // With conflicts the user resolved:\n * mergeAccounts({ conflictResolutions });\n * ```\n * @returns A react-query mutation whose `mutate`/`mutateAsync` completes the\n * merge and whose `data` is the merged user.\n * @see mergeUserAccounts\n * @see UseMergeUserAccountsParams\n */\nexport const useMergeUserAccounts = ({\n mutateParams,\n}: UseMergeUserAccountsParams = {}) =>\n useBaseMutation<MergeUserAccountsResult, MergeUserAccountsVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => mergeUserAccounts(variables, client),\n });\n","import { getMfaDevices } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnUserSwitch } from '../../../../middlewares/invalidateOnUserSwitch';\n\ntype GetMfaDevicesResult = Awaited<ReturnType<typeof getMfaDevices>>;\n\nexport type UseGetMfaDevicesParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetMfaDevicesResult>['queryParams'];\n};\n\n/**\n * Returns the multi-factor authentication devices registered for the\n * current user.\n *\n * Wraps `getMfaDevices` from `@dynamic-labs-sdk/client`.\n *\n * Automatically refetches when a different user becomes current (login or\n * account switch), so consumers don't have to pair it with a manual\n * `userChanged` listener.\n *\n * @example\n * ```tsx\n * const { data: mfaDevices, isLoading, refetch } = useGetMfaDevices();\n * ```\n */\nexport const useGetMfaDevices = ({ queryParams }: UseGetMfaDevicesParams = {}) =>\n useBaseQuery<GetMfaDevicesResult>({\n middlewares: [invalidateOnUserSwitch()],\n queryFn: (client) => getMfaDevices(client),\n queryKey: ['useGetMfaDevices'],\n queryParams,\n });\n","import { getMfaMethods } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnUserSwitch } from '../../../../middlewares/invalidateOnUserSwitch';\n\ntype GetMfaMethodsResult = Awaited<ReturnType<typeof getMfaMethods>>;\n\nexport type UseGetMfaMethodsParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetMfaMethodsResult>['queryParams'];\n};\n\n/**\n * Returns the multi-factor authentication methods available to the current\n * user.\n *\n * Wraps `getMfaMethods` from `@dynamic-labs-sdk/client`.\n *\n * Automatically refetches when a different user becomes current (login or\n * account switch), so consumers don't have to pair it with a manual\n * `userChanged` listener.\n *\n * @example\n * ```tsx\n * const { data: mfaMethods, isLoading, refetch } = useGetMfaMethods();\n * ```\n */\nexport const useGetMfaMethods = ({ queryParams }: UseGetMfaMethodsParams = {}) =>\n useBaseQuery<GetMfaMethodsResult>({\n middlewares: [invalidateOnUserSwitch()],\n queryFn: (client) => getMfaMethods(client),\n queryKey: ['useGetMfaMethods'],\n queryParams,\n });\n","import { getMfaRecoveryCodes } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnUserSwitch } from '../../../../middlewares/invalidateOnUserSwitch';\n\ntype GetMfaRecoveryCodesResult = Awaited<\n ReturnType<typeof getMfaRecoveryCodes>\n>;\n\nexport type UseGetMfaRecoveryCodesParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetMfaRecoveryCodesResult>['queryParams'];\n};\n\n/**\n * Returns the current user's MFA recovery codes.\n *\n * Wraps `getMfaRecoveryCodes` from `@dynamic-labs-sdk/client`.\n *\n * Automatically refetches when a different user becomes current (login or\n * account switch), so consumers don't have to pair it with a manual\n * `userChanged` listener.\n *\n * @example\n * ```tsx\n * const { data: recoveryCodes, isLoading, refetch } = useGetMfaRecoveryCodes();\n * ```\n */\nexport const useGetMfaRecoveryCodes = ({\n queryParams,\n}: UseGetMfaRecoveryCodesParams = {}) =>\n useBaseQuery<GetMfaRecoveryCodesResult>({\n middlewares: [invalidateOnUserSwitch()],\n queryFn: (client) => getMfaRecoveryCodes(client),\n queryKey: ['useGetMfaRecoveryCodes'],\n queryParams,\n });\n","import { getMoonPayCurrencies } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetMoonPayCurrenciesResult = Awaited<\n ReturnType<typeof getMoonPayCurrencies>\n>;\ntype GetMoonPayCurrenciesArgs = Parameters<typeof getMoonPayCurrencies>[0];\n\nexport type UseGetMoonPayCurrenciesParams = GetMoonPayCurrenciesArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetMoonPayCurrenciesResult>['queryParams'];\n};\n\n/**\n * Wraps `getMoonPayCurrencies` from `@dynamic-labs-sdk/client`. Returns the list of currencies MoonPay supports for the given parameters.\n *\n * @example\n * ```tsx\n * const { data: currencies, isLoading } = useGetMoonPayCurrencies(params);\n * ```\n */\nexport const useGetMoonPayCurrencies = ({\n queryParams,\n ...args\n}: UseGetMoonPayCurrenciesParams) =>\n useBaseQuery<GetMoonPayCurrenciesResult>({\n queryFn: (client) => getMoonPayCurrencies(args, client),\n queryKey: ['useGetMoonPayCurrencies', args],\n queryParams,\n });\n","import { getMoonPayUrl } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetMoonPayUrlResult = Awaited<ReturnType<typeof getMoonPayUrl>>;\ntype GetMoonPayUrlArgs = Parameters<typeof getMoonPayUrl>[0];\n\nexport type UseGetMoonPayUrlParams = GetMoonPayUrlArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetMoonPayUrlResult>['queryParams'];\n};\n\n/**\n * Wraps `getMoonPayUrl` from `@dynamic-labs-sdk/client`. Returns a MoonPay widget URL for the given parameters.\n *\n * @example\n * ```tsx\n * const { data: moonPayUrl, isLoading } = useGetMoonPayUrl(params);\n * ```\n */\nexport const useGetMoonPayUrl = ({ queryParams, ...args }: UseGetMoonPayUrlParams) =>\n useBaseQuery<GetMoonPayUrlResult>({\n queryFn: (client) => getMoonPayUrl(args, client),\n queryKey: ['useGetMoonPayUrl', args],\n queryParams,\n });\n","import type { GetMultichainTokenBalancesParams } from '@dynamic-labs-sdk/client';\nimport { getMultichainTokenBalances } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetMultichainTokenBalancesResult = Awaited<\n ReturnType<typeof getMultichainTokenBalances>\n>;\n\nexport type UseGetMultichainTokenBalancesParams = {\n /**\n * **Pseudo-required.** The batched balance request forwarded to\n * `getMultichainTokenBalances`. Pass `undefined` to keep the hook\n * disabled — useful while waiting for wallet accounts or chain\n * selection to load.\n */\n balanceRequest: GetMultichainTokenBalancesParams['balanceRequest'] | undefined;\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetMultichainTokenBalancesResult>['queryParams'];\n};\n\n/**\n * Returns token balances across multiple chains, networks, and addresses\n * in a single batched API request.\n *\n * Wraps `getMultichainTokenBalances` from `@dynamic-labs-sdk/client`. The\n * hook stays disabled until `balanceRequest` is defined. Use this for\n * portfolio-style views; for a single account on one chain prefer\n * {@link useGetTokenBalances}.\n *\n * @example\n * ```tsx\n * const { data, isLoading, refetch } = useGetMultichainTokenBalances({\n * balanceRequest,\n * });\n * ```\n */\nexport const useGetMultichainTokenBalances = ({\n balanceRequest,\n queryParams,\n}: UseGetMultichainTokenBalancesParams) =>\n useBaseQuery<GetMultichainTokenBalancesResult>({\n enabled: balanceRequest !== undefined,\n queryFn: (client) =>\n getMultichainTokenBalances(\n {\n balanceRequest:\n balanceRequest as GetMultichainTokenBalancesParams['balanceRequest'],\n },\n client\n ),\n queryKey: ['useGetMultichainTokenBalances', balanceRequest],\n queryParams,\n });\n","import type { WalletAccount } from '@dynamic-labs-sdk/client';\nimport { getNativeBalance } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnWalletProviderEvent } from '../../../../middlewares/invalidateOnWalletProviderEvent';\n\ntype UseGetNativeBalanceParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<{ balance: string | null }>['queryParams'];\n /**\n * **Pseudo-required.** The wallet account to fetch the balance for.\n * Accepting `undefined` lets callers wire this up before the wallet\n * account has loaded — the hook stays disabled until a real value is\n * supplied.\n */\n walletAccount: WalletAccount | undefined;\n};\n\n/**\n * Returns the native token balance for a wallet account.\n *\n * Calls `getNativeBalance` from `@dynamic-labs-sdk/client`. The hook stays\n * disabled until `walletAccount` is defined.\n *\n * @example\n * ```tsx\n * const { data, isLoading, refetch } = useGetNativeBalance({ walletAccount });\n * ```\n */\nexport const useGetNativeBalance = ({ walletAccount, queryParams }: UseGetNativeBalanceParams) =>\n useBaseQuery<{ balance: string | null }>({\n enabled: walletAccount !== undefined,\n middlewares: [\n invalidateOnWalletProviderEvent({\n event: 'networkChanged',\n walletAccount,\n }),\n ],\n queryFn: (client) =>\n getNativeBalance(\n { walletAccount: walletAccount as WalletAccount },\n client\n ),\n queryKey: ['useGetNativeBalance', walletAccount?.id],\n queryParams,\n });\n","import { type OnceEventParams, onceEvent } from '@dynamic-labs-sdk/client';\nimport { useEffect, useRef } from 'react';\n\nimport { useDynamicClient } from '../../../../modules/DynamicContext';\n\n/**\n * Subscribes to a Dynamic client event for a single occurrence.\n *\n * Wraps `onceEvent` from `@dynamic-labs-sdk/client` — the one-shot sibling of\n * `useOnEvent`. The listener fires at most once. Uses a ref to always call the\n * latest listener, and cleans up the subscription on unmount or event change.\n *\n * @example\n * ```tsx\n * useOnceEvent({\n * event: 'authFlowCancelled',\n * listener: () => console.log('auth flow cancelled'),\n * });\n * ```\n */\nexport const useOnceEvent = <E extends keyof DynamicEvents>({\n event,\n listener,\n}: OnceEventParams<E>) => {\n const client = useDynamicClient();\n const callbackRef = useRef(listener);\n\n callbackRef.current = listener;\n\n useEffect(\n () =>\n onceEvent(\n {\n event,\n listener: (...args: any[]) => {\n // @ts-expect-error - Ignore the type error because we are using the ref\n callbackRef.current(...args);\n },\n },\n client\n ),\n [event, client]\n );\n};\n","import { getPasskeys } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnUserSwitch } from '../../../../middlewares/invalidateOnUserSwitch';\n\ntype GetPasskeysResult = Awaited<ReturnType<typeof getPasskeys>>;\n\nexport type UseGetPasskeysParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetPasskeysResult>['queryParams'];\n};\n\n/**\n * Returns the passkeys registered for the current user.\n *\n * Wraps `getPasskeys` from `@dynamic-labs-sdk/client`.\n *\n * Automatically refetches when a different user becomes current (login or\n * account switch), so consumers don't have to pair it with a manual\n * `userChanged` listener.\n *\n * @example\n * ```tsx\n * const { data: passkeys, isLoading, refetch } = useGetPasskeys();\n * ```\n */\nexport const useGetPasskeys = ({ queryParams }: UseGetPasskeysParams = {}) =>\n useBaseQuery<GetPasskeysResult>({\n middlewares: [invalidateOnUserSwitch()],\n queryFn: (client) => getPasskeys(client),\n queryKey: ['useGetPasskeys'],\n queryParams,\n });\n","import { proveWalletAccountOwnership } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype ProveWalletAccountOwnershipVariables = Parameters<\n typeof proveWalletAccountOwnership\n>[0];\ntype ProveWalletAccountOwnershipResult = Awaited<\n ReturnType<typeof proveWalletAccountOwnership>\n>;\n\nexport type UseProveWalletAccountOwnershipParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n ProveWalletAccountOwnershipResult,\n ProveWalletAccountOwnershipVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `proveWalletAccountOwnership` from `@dynamic-labs-sdk/client`. Call `mutate({ walletAccount })` to prove ownership of a connected wallet account by signing a challenge.\n *\n * @example\n * ```tsx\n * const { mutate: proveOwnership, isPending } =\n * useProveWalletAccountOwnership();\n * proveOwnership({ walletAccount });\n * ```\n */\nexport const useProveWalletAccountOwnership = ({\n mutateParams,\n}: UseProveWalletAccountOwnershipParams = {}) =>\n useBaseMutation<\n ProveWalletAccountOwnershipResult,\n ProveWalletAccountOwnershipVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n proveWalletAccountOwnership(variables, client),\n });\n","import { refreshAuth } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype RefreshAuthResult = Awaited<ReturnType<typeof refreshAuth>>;\n\nexport type UseRefreshAuthParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<RefreshAuthResult, void>['mutateParams'];\n};\n\n/**\n * Wraps `refreshAuth` from `@dynamic-labs-sdk/client`. Takes no arguments — call `mutate()` to refresh the session/JWT; the resolved `data` is a `VerifyResponse`.\n *\n * @example\n * ```tsx\n * const { mutate: refreshAuth, isPending } = useRefreshAuth();\n * <button onClick={() => refreshAuth()} disabled={isPending}>\n * Refresh session\n * </button>\n * ```\n */\nexport const useRefreshAuth = ({ mutateParams }: UseRefreshAuthParams = {}) =>\n useBaseMutation<RefreshAuthResult, void>({\n mutateParams,\n mutationFn: ({ client }) => refreshAuth(client),\n });\n","import { getRegisteredDevices } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnUserSwitch } from '../../../../middlewares/invalidateOnUserSwitch';\n\ntype GetRegisteredDevicesResult = Awaited<\n ReturnType<typeof getRegisteredDevices>\n>;\n\nexport type UseGetRegisteredDevicesParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetRegisteredDevicesResult>['queryParams'];\n};\n\n/**\n * Returns the devices registered for the current user.\n *\n * Wraps `getRegisteredDevices` from `@dynamic-labs-sdk/client`. Pair with\n * {@link useRevokeRegisteredDevice} to let users revoke a device from the\n * list.\n *\n * Automatically refetches when a different user becomes current (login or\n * account switch), so consumers don't have to pair it with a manual\n * `userChanged` listener.\n *\n * @example\n * ```tsx\n * const { data: devices, isLoading, refetch } = useGetRegisteredDevices();\n * ```\n */\nexport const useGetRegisteredDevices = ({\n queryParams,\n}: UseGetRegisteredDevicesParams = {}) =>\n useBaseQuery<GetRegisteredDevicesResult>({\n middlewares: [invalidateOnUserSwitch()],\n queryFn: (client) => getRegisteredDevices(client),\n queryKey: ['useGetRegisteredDevices'],\n queryParams,\n });\n","import { registerPasskey } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\nimport { invalidatesQueries } from '../../../../middlewares/invalidatesQueries';\n\ntype RegisterPasskeyVariables = Parameters<typeof registerPasskey>[0];\ntype RegisterPasskeyResult = Awaited<ReturnType<typeof registerPasskey>>;\n\nexport type UseRegisterPasskeyParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n RegisterPasskeyResult,\n RegisterPasskeyVariables\n >['mutateParams'];\n};\n\n/**\n * Registers a new passkey for the current user.\n *\n * Wraps `registerPasskey` from `@dynamic-labs-sdk/client`. Call `mutate()`\n * to prompt the device's WebAuthn flow; the resolved `data` is the\n * registration response.\n *\n * @example\n * ```tsx\n * const { mutate: registerPasskey, isPending } = useRegisterPasskey();\n * <button onClick={() => registerPasskey()} disabled={isPending}>\n * Add passkey\n * </button>\n * ```\n */\nexport const useRegisterPasskey = ({\n mutateParams,\n}: UseRegisterPasskeyParams = {}) =>\n useBaseMutation<RegisterPasskeyResult, RegisterPasskeyVariables>({\n middlewares: [invalidatesQueries('useGetPasskeys')],\n mutateParams,\n mutationFn: ({ client, variables }) => registerPasskey(variables, client),\n });\n","import { registerTotpMfaDevice } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\nimport { invalidatesQueries } from '../../../../middlewares/invalidatesQueries';\n\ntype RegisterTotpMfaDeviceResult = Awaited<\n ReturnType<typeof registerTotpMfaDevice>\n>;\n\nexport type UseRegisterTotpMfaDeviceParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n RegisterTotpMfaDeviceResult,\n void\n >['mutateParams'];\n};\n\n/**\n * Registers a new TOTP MFA device for the current user.\n *\n * Wraps `registerTotpMfaDevice` from `@dynamic-labs-sdk/client`. Takes no\n * arguments — call `mutate()` to start enrollment; the resolved `data`\n * contains the secret/URI used to render the authenticator QR code.\n *\n * @example\n * ```tsx\n * const { mutate: registerTotp, data, isPending } = useRegisterTotpMfaDevice();\n * <button onClick={() => registerTotp()} disabled={isPending}>\n * Add authenticator app\n * </button>\n * ```\n */\nexport const useRegisterTotpMfaDevice = ({\n mutateParams,\n}: UseRegisterTotpMfaDeviceParams = {}) =>\n useBaseMutation<RegisterTotpMfaDeviceResult, void>({\n middlewares: [invalidatesQueries('useGetMfaDevices')],\n mutateParams,\n mutationFn: ({ client }) => registerTotpMfaDevice(client),\n });\n","import { removeBusinessAccountMember } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype RemoveBusinessAccountMemberVariables = Parameters<\n typeof removeBusinessAccountMember\n>[0];\ntype RemoveBusinessAccountMemberResult = Awaited<\n ReturnType<typeof removeBusinessAccountMember>\n>;\n\n/**\n * Parameters for {@link useRemoveBusinessAccountMember}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseRemoveBusinessAccountMemberParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useRemoveBusinessAccountMember\n * @see removeBusinessAccountMember\n */\nexport type UseRemoveBusinessAccountMemberParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<\n UseBaseMutationParams<\n RemoveBusinessAccountMemberResult,\n RemoveBusinessAccountMemberVariables\n >['mutateParams']\n >;\n};\n\n/**\n * Wraps `removeBusinessAccountMember` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)`\n * to remove a member from a business account (the backend refuses to remove the last owner).\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useRemoveBusinessAccountMember();\n * <button onClick={() => mutate({ businessAccountId, userId })} disabled={isPending}>\n * Remove member\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `removeBusinessAccountMember` and whose `data` is the removed member.\n * @see removeBusinessAccountMember\n * @see UseRemoveBusinessAccountMemberParams\n */\nexport const useRemoveBusinessAccountMember = ({\n mutateParams,\n}: UseRemoveBusinessAccountMemberParams = {}) =>\n useBaseMutation<\n RemoveBusinessAccountMemberResult,\n RemoveBusinessAccountMemberVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n removeBusinessAccountMember(variables, client),\n });\n","import { removeBusinessAccountSigner } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype RemoveBusinessAccountSignerVariables = Parameters<\n typeof removeBusinessAccountSigner\n>[0];\ntype RemoveBusinessAccountSignerResult = Awaited<\n ReturnType<typeof removeBusinessAccountSigner>\n>;\n\n/**\n * Parameters for {@link useRemoveBusinessAccountSigner}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseRemoveBusinessAccountSignerParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useRemoveBusinessAccountSigner\n * @see removeBusinessAccountSigner\n */\nexport type UseRemoveBusinessAccountSignerParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<\n UseBaseMutationParams<\n RemoveBusinessAccountSignerResult,\n RemoveBusinessAccountSignerVariables\n >['mutateParams']\n >;\n};\n\n/**\n * Wraps `removeBusinessAccountSigner` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)`\n * to remove a signer from a business-account wallet (the backend refuses to remove the last signer).\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useRemoveBusinessAccountSigner();\n * <button onClick={() => mutate({ businessAccountId, walletId, signerId })} disabled={isPending}>\n * Remove signer\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `removeBusinessAccountSigner` and whose `data` is the removed signer.\n * @see removeBusinessAccountSigner\n * @see UseRemoveBusinessAccountSignerParams\n */\nexport const useRemoveBusinessAccountSigner = ({\n mutateParams,\n}: UseRemoveBusinessAccountSignerParams = {}) =>\n useBaseMutation<\n RemoveBusinessAccountSignerResult,\n RemoveBusinessAccountSignerVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n removeBusinessAccountSigner(variables, client),\n });\n","import { removeWalletAccount } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype RemoveWalletAccountVariables = Parameters<typeof removeWalletAccount>[0];\ntype RemoveWalletAccountResult = Awaited<\n ReturnType<typeof removeWalletAccount>\n>;\n\nexport type UseRemoveWalletAccountParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n RemoveWalletAccountResult,\n RemoveWalletAccountVariables\n >['mutateParams'];\n};\n\n/**\n * Removes a wallet account from the current user.\n *\n * Wraps `removeWalletAccount` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ walletAccount })` to disconnect/unlink the account; the\n * resolved `data` is `void`.\n *\n * @example\n * ```tsx\n * const { mutate: removeWallet, isPending } = useRemoveWalletAccount();\n * <button\n * onClick={() => removeWallet({ walletAccount })}\n * disabled={isPending}\n * >\n * Remove wallet\n * </button>\n * ```\n */\nexport const useRemoveWalletAccount = ({\n mutateParams,\n}: UseRemoveWalletAccountParams = {}) =>\n useBaseMutation<RemoveWalletAccountResult, RemoveWalletAccountVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n removeWalletAccount(variables, client),\n });\n","import { requestExternalAuthElevatedToken } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype RequestExternalAuthElevatedTokenVariables = Parameters<\n typeof requestExternalAuthElevatedToken\n>[0];\ntype RequestExternalAuthElevatedTokenResult = Awaited<\n ReturnType<typeof requestExternalAuthElevatedToken>\n>;\n\nexport type UseRequestExternalAuthElevatedTokenParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n RequestExternalAuthElevatedTokenResult,\n RequestExternalAuthElevatedTokenVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `requestExternalAuthElevatedToken` from `@dynamic-labs-sdk/client`. Call `mutate({ externalJwt })` to exchange an externally issued JWT for an elevated-access token.\n *\n * @example\n * ```tsx\n * const { mutate: requestElevatedToken } =\n * useRequestExternalAuthElevatedToken();\n * requestElevatedToken({ externalJwt });\n * ```\n */\nexport const useRequestExternalAuthElevatedToken = ({\n mutateParams,\n}: UseRequestExternalAuthElevatedTokenParams = {}) =>\n useBaseMutation<\n RequestExternalAuthElevatedTokenResult,\n RequestExternalAuthElevatedTokenVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n requestExternalAuthElevatedToken(variables, client),\n });\n","import { revokeAllRegisteredDevices } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\nimport { invalidatesQueries } from '../../../../middlewares/invalidatesQueries';\n\ntype RevokeAllRegisteredDevicesResult = Awaited<\n ReturnType<typeof revokeAllRegisteredDevices>\n>;\n\nexport type UseRevokeAllRegisteredDevicesParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n RevokeAllRegisteredDevicesResult,\n void\n >['mutateParams'];\n};\n\n/**\n * Wraps `revokeAllRegisteredDevices` from `@dynamic-labs-sdk/client`. Takes no arguments — call `mutate()` to revoke every device registered to the current user; the resolved `data` is `void`.\n *\n * @example\n * ```tsx\n * const { mutate: revokeAllDevices, isPending } =\n * useRevokeAllRegisteredDevices();\n * <button onClick={() => revokeAllDevices()} disabled={isPending}>\n * Revoke all devices\n * </button>\n * ```\n */\nexport const useRevokeAllRegisteredDevices = ({\n mutateParams,\n}: UseRevokeAllRegisteredDevicesParams = {}) => {\n return useBaseMutation<RevokeAllRegisteredDevicesResult, void>({\n middlewares: [invalidatesQueries('useGetRegisteredDevices')],\n mutateParams,\n mutationFn: ({ client }) => revokeAllRegisteredDevices(client),\n });\n};\n","import { revokeRegisteredDevice } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\nimport { invalidatesQueries } from '../../../../middlewares/invalidatesQueries';\n\ntype RevokeRegisteredDeviceVariables = Parameters<\n typeof revokeRegisteredDevice\n>[0];\ntype RevokeRegisteredDeviceResult = Awaited<\n ReturnType<typeof revokeRegisteredDevice>\n>;\n\nexport type UseRevokeRegisteredDeviceParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n RevokeRegisteredDeviceResult,\n RevokeRegisteredDeviceVariables\n >['mutateParams'];\n};\n\n/**\n * Revokes a previously registered device.\n *\n * Wraps `revokeRegisteredDevice` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ deviceRegistrationId })` with the id of the device to revoke\n * (e.g. one returned by {@link useGetRegisteredDevices}); the resolved `data`\n * is `void`.\n *\n * @example\n * ```tsx\n * const { mutate: revokeDevice, isPending } = useRevokeRegisteredDevice();\n * <button\n * onClick={() => revokeDevice({ deviceRegistrationId })}\n * disabled={isPending}\n * >\n * Revoke device\n * </button>\n * ```\n */\nexport const useRevokeRegisteredDevice = ({\n mutateParams,\n}: UseRevokeRegisteredDeviceParams = {}) => {\n return useBaseMutation<\n RevokeRegisteredDeviceResult,\n RevokeRegisteredDeviceVariables\n >({\n middlewares: [invalidatesQueries('useGetRegisteredDevices')],\n mutateParams,\n mutationFn: ({ client, variables }) =>\n revokeRegisteredDevice(variables, client),\n });\n};\n","import { sendEmailOTP } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype SendEmailOTPVariables = Parameters<typeof sendEmailOTP>[0];\ntype SendEmailOTPResult = Awaited<ReturnType<typeof sendEmailOTP>>;\n\nexport type UseSendEmailOTPParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n SendEmailOTPResult,\n SendEmailOTPVariables\n >['mutateParams'];\n};\n\n/**\n * Sends a one-time password to an email address.\n *\n * Wraps `sendEmailOTP` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ email })` to dispatch the code; the resolved `data` is the\n * `OTPVerification` payload to hand to {@link useVerifyOTP} once the user\n * enters the code they received.\n *\n * @example\n * ```tsx\n * const { mutate: sendEmailOTP, data: otpVerification, isPending } =\n * useSendEmailOTP();\n * <button\n * onClick={() => sendEmailOTP({ email: 'velma@mystery.inc' })}\n * disabled={isPending}\n * >\n * Email me a code\n * </button>\n * ```\n */\nexport const useSendEmailOTP = ({ mutateParams }: UseSendEmailOTPParams = {}) =>\n useBaseMutation<SendEmailOTPResult, SendEmailOTPVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => sendEmailOTP(variables, client),\n });\n","import { sendSmsOTP } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype SendSmsOTPVariables = Parameters<typeof sendSmsOTP>[0];\ntype SendSmsOTPResult = Awaited<ReturnType<typeof sendSmsOTP>>;\n\nexport type UseSendSmsOTPParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n SendSmsOTPResult,\n SendSmsOTPVariables\n >['mutateParams'];\n};\n\n/**\n * Sends a one-time password to a phone number via SMS.\n *\n * Wraps `sendSmsOTP` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ isoCountryCode, phoneNumber })` to dispatch the code; the\n * resolved `data` is the `OTPVerification` payload to hand to\n * {@link useVerifyOTP} once the user enters the code they received.\n *\n * @example\n * ```tsx\n * const { mutate: sendSmsOTP, data: otpVerification, isPending } =\n * useSendSmsOTP();\n * <button\n * onClick={() =>\n * sendSmsOTP({ isoCountryCode: 'US', phoneNumber: '5550100' })\n * }\n * disabled={isPending}\n * >\n * Text me a code\n * </button>\n * ```\n */\nexport const useSendSmsOTP = ({ mutateParams }: UseSendSmsOTPParams = {}) =>\n useBaseMutation<SendSmsOTPResult, SendSmsOTPVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => sendSmsOTP(variables, client),\n });\n","import { setDefaultMfaDevice } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\nimport { invalidatesQueries } from '../../../../middlewares/invalidatesQueries';\n\ntype SetDefaultMfaDeviceVariables = Parameters<typeof setDefaultMfaDevice>[0];\ntype SetDefaultMfaDeviceResult = Awaited<\n ReturnType<typeof setDefaultMfaDevice>\n>;\n\nexport type UseSetDefaultMfaDeviceParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n SetDefaultMfaDeviceResult,\n SetDefaultMfaDeviceVariables\n >['mutateParams'];\n};\n\n/**\n * Sets the current user's default MFA device.\n *\n * Wraps `setDefaultMfaDevice` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ deviceId })` to designate the device used for MFA challenges.\n *\n * @example\n * ```tsx\n * const { mutate: setDefaultDevice, isPending } = useSetDefaultMfaDevice();\n * <button onClick={() => setDefaultDevice({ deviceId })} disabled={isPending}>\n * Make default\n * </button>\n * ```\n */\nexport const useSetDefaultMfaDevice = ({\n mutateParams,\n}: UseSetDefaultMfaDeviceParams = {}) =>\n useBaseMutation<SetDefaultMfaDeviceResult, SetDefaultMfaDeviceVariables>({\n middlewares: [invalidatesQueries('useGetMfaDevices')],\n mutateParams,\n mutationFn: ({ client, variables }) =>\n setDefaultMfaDevice(variables, client),\n });\n","import { signInWithExternalJwt } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype SignInWithExternalJwtVariables = Parameters<\n typeof signInWithExternalJwt\n>[0];\ntype SignInWithExternalJwtResult = Awaited<\n ReturnType<typeof signInWithExternalJwt>\n>;\n\nexport type UseSignInWithExternalJwtParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n SignInWithExternalJwtResult,\n SignInWithExternalJwtVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `signInWithExternalJwt` from `@dynamic-labs-sdk/client`. Call `mutate({ externalJwt })` to authenticate the user with a JWT issued by an external auth provider.\n *\n * @example\n * ```tsx\n * const { mutate: signInWithJwt, isPending } = useSignInWithExternalJwt();\n * signInWithJwt({ externalJwt });\n * ```\n */\nexport const useSignInWithExternalJwt = ({\n mutateParams,\n}: UseSignInWithExternalJwtParams = {}) =>\n useBaseMutation<SignInWithExternalJwtResult, SignInWithExternalJwtVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n signInWithExternalJwt(variables, client),\n });\n","import { signInWithPasskey } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype SignInWithPasskeyVariables = Parameters<typeof signInWithPasskey>[0];\ntype SignInWithPasskeyResult = Awaited<ReturnType<typeof signInWithPasskey>>;\n\nexport type UseSignInWithPasskeyParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n SignInWithPasskeyResult,\n SignInWithPasskeyVariables\n >['mutateParams'];\n};\n\n/**\n * Signs the user in with a previously registered passkey.\n *\n * Wraps `signInWithPasskey` from `@dynamic-labs-sdk/client`. Call `mutate()`\n * to start the WebAuthn authentication; the resolved `data` is the\n * authentication response.\n *\n * @example\n * ```tsx\n * const { mutate: signInWithPasskey, isPending } = useSignInWithPasskey();\n * <button onClick={() => signInWithPasskey()} disabled={isPending}>\n * Sign in with passkey\n * </button>\n * ```\n */\nexport const useSignInWithPasskey = ({\n mutateParams,\n}: UseSignInWithPasskeyParams = {}) =>\n useBaseMutation<SignInWithPasskeyResult, SignInWithPasskeyVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => signInWithPasskey(variables, client),\n });\n","import { signInWithSocialPopUp } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype SignInWithSocialPopUpVariables = Parameters<\n typeof signInWithSocialPopUp\n>[0];\ntype SignInWithSocialPopUpResult = Awaited<\n ReturnType<typeof signInWithSocialPopUp>\n>;\n\nexport type UseSignInWithSocialPopUpParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n SignInWithSocialPopUpResult,\n SignInWithSocialPopUpVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `signInWithSocialPopUp` from `@dynamic-labs-sdk/client`. Call `mutate({ provider })` to open the provider's OAuth popup; the resolved `data` is the signed-in `User` (or `null`).\n *\n * @example\n * ```tsx\n * const { mutate: signInWithPopUp, data: user } =\n * useSignInWithSocialPopUp();\n * signInWithPopUp({ provider: 'google' });\n * ```\n */\nexport const useSignInWithSocialPopUp = ({\n mutateParams,\n}: UseSignInWithSocialPopUpParams = {}) =>\n useBaseMutation<SignInWithSocialPopUpResult, SignInWithSocialPopUpVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n signInWithSocialPopUp(variables, client),\n });\n","import { signInWithSocialRedirect } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype SignInWithSocialRedirectVariables = Parameters<\n typeof signInWithSocialRedirect\n>[0];\ntype SignInWithSocialRedirectResult = Awaited<\n ReturnType<typeof signInWithSocialRedirect>\n>;\n\nexport type UseSignInWithSocialRedirectParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n SignInWithSocialRedirectResult,\n SignInWithSocialRedirectVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `signInWithSocialRedirect` from `@dynamic-labs-sdk/client`. Call `mutate({ provider, redirectUrl })` to redirect the user to the provider's OAuth page; complete the flow with {@link useCompleteSocialAuthentication}.\n *\n * @example\n * ```tsx\n * const { mutate: signInWithRedirect } = useSignInWithSocialRedirect();\n * signInWithRedirect({ provider: 'google', redirectUrl });\n * ```\n */\nexport const useSignInWithSocialRedirect = ({\n mutateParams,\n}: UseSignInWithSocialRedirectParams = {}) =>\n useBaseMutation<\n SignInWithSocialRedirectResult,\n SignInWithSocialRedirectVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n signInWithSocialRedirect(variables, client),\n });\n","import { signMessage } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype SignMessageVariables = Parameters<typeof signMessage>[0];\ntype SignMessageResult = Awaited<ReturnType<typeof signMessage>>;\n\nexport type UseSignMessageParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n SignMessageResult,\n SignMessageVariables\n >['mutateParams'];\n};\n\n/**\n * Signs an arbitrary message with a wallet account.\n *\n * Wraps `signMessage` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ walletAccount, message })` to trigger the signature flow —\n * the wallet provider will prompt the user via its native UI.\n *\n * @example\n * ```tsx\n * const { mutate: signMessage, data, isPending } = useSignMessage();\n * <button\n * onClick={() => signMessage({ message: 'gm', walletAccount })}\n * disabled={isPending}\n * >\n * Sign\n * </button>\n * ```\n */\nexport const useSignMessage = ({ mutateParams }: UseSignMessageParams = {}) =>\n useBaseMutation<SignMessageResult, SignMessageVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => signMessage(variables, client),\n });\n","import { submitFlowTransaction } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype SubmitFlowTransactionVariables = Parameters<typeof submitFlowTransaction>[0];\ntype SubmitFlowTransactionResult = Awaited<ReturnType<typeof submitFlowTransaction>>;\n\nexport type UseSubmitFlowTransactionParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n SubmitFlowTransactionResult,\n SubmitFlowTransactionVariables\n >['mutateParams'];\n};\n\n/**\n * Prepares, signs, and broadcasts a flow transaction in one call.\n *\n * Wraps `submitFlowTransaction` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ flowId, walletAccount })` to run the full submission flow:\n * prepare signing, sign on-chain, and broadcast.\n *\n * @example\n * ```tsx\n * const { mutate: submitFlowTransaction, isPending } = useSubmitFlowTransaction();\n * <button onClick={() => submitFlowTransaction({ flowId, walletAccount })} disabled={isPending}>\n * Submit flow transaction\n * </button>\n * ```\n */\nexport const useSubmitFlowTransaction = ({\n mutateParams,\n}: UseSubmitFlowTransactionParams = {}) =>\n useBaseMutation<SubmitFlowTransactionResult, SubmitFlowTransactionVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n submitFlowTransaction(variables, client),\n });\n","import { getSwapQuote } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetSwapQuoteResult = Awaited<ReturnType<typeof getSwapQuote>>;\ntype GetSwapQuoteArgs = Parameters<typeof getSwapQuote>[0];\n\nexport type UseGetSwapQuoteParams = GetSwapQuoteArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetSwapQuoteResult>['queryParams'];\n};\n\n/**\n * Wraps `getSwapQuote` from `@dynamic-labs-sdk/client`. Returns a swap quote (including the signing payload consumed by {@link useExecuteSwapTransaction}).\n *\n * @example\n * ```tsx\n * const { data: quote, isLoading } = useGetSwapQuote(params);\n * ```\n */\nexport const useGetSwapQuote = ({ queryParams, ...args }: UseGetSwapQuoteParams) =>\n useBaseQuery<GetSwapQuoteResult>({\n queryFn: (client) => getSwapQuote(args, client),\n queryKey: ['useGetSwapQuote', args],\n queryParams,\n });\n","import { getSwapStatus } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetSwapStatusResult = Awaited<ReturnType<typeof getSwapStatus>>;\ntype GetSwapStatusArgs = Parameters<typeof getSwapStatus>[0];\n\nexport type UseGetSwapStatusParams = GetSwapStatusArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetSwapStatusResult>['queryParams'];\n};\n\n/**\n * Wraps `getSwapStatus` from `@dynamic-labs-sdk/client`. Returns the current status of a previously submitted swap.\n *\n * @example\n * ```tsx\n * const { data: status, isLoading } = useGetSwapStatus(params);\n * ```\n */\nexport const useGetSwapStatus = ({ queryParams, ...args }: UseGetSwapStatusParams) =>\n useBaseQuery<GetSwapStatusResult>({\n queryFn: (client) => getSwapStatus(args, client),\n queryKey: ['useGetSwapStatus', args],\n queryParams,\n });\n","import { switchActiveNetwork } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\nimport { invalidatesQueries } from '../../../../middlewares/invalidatesQueries';\n\ntype SwitchActiveNetworkVariables = Parameters<typeof switchActiveNetwork>[0];\ntype SwitchActiveNetworkResult = Awaited<\n ReturnType<typeof switchActiveNetwork>\n>;\n\nexport type UseSwitchActiveNetworkParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n SwitchActiveNetworkResult,\n SwitchActiveNetworkVariables\n >['mutateParams'];\n};\n\n/**\n * Switches the active network for a wallet account.\n *\n * Wraps `switchActiveNetwork` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ networkId, walletAccount })` to request the switch — the\n * wallet provider may prompt the user to approve adding/changing the\n * chain via its native UI.\n *\n * @example\n * ```tsx\n * const { mutate: switchNetwork, isPending } = useSwitchActiveNetwork();\n * <button\n * onClick={() => switchNetwork({ networkId: 1, walletAccount })}\n * disabled={isPending}\n * >\n * Switch to Ethereum\n * </button>\n * ```\n */\nexport const useSwitchActiveNetwork = ({\n mutateParams,\n}: UseSwitchActiveNetworkParams = {}) =>\n useBaseMutation<SwitchActiveNetworkResult, SwitchActiveNetworkVariables>({\n middlewares: [\n invalidatesQueries('useGetActiveNetworkData', 'useGetActiveNetworkId'),\n ],\n mutateParams,\n mutationFn: ({ client, variables }) =>\n switchActiveNetwork(variables, client),\n });\n","import type {\n GetTokenBalancesParams,\n WalletAccount,\n} from '@dynamic-labs-sdk/client';\nimport { getTokenBalances } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnWalletProviderEvent } from '../../../../middlewares/invalidateOnWalletProviderEvent';\n\ntype GetTokenBalancesResult = Awaited<ReturnType<typeof getTokenBalances>>;\n\n/**\n * `Omit` that distributes across each member of a union instead of collapsing\n * it into a single shape.\n *\n * `GetTokenBalancesParams` carries a `networkId` xor `networkIds` discriminated\n * union. The built-in `Omit` does not distribute over unions, so it merges the\n * branches into one shape that appears to allow both keys at once — which\n * neither branch actually accepts. Distributing preserves the discriminator so\n * callers still can't pass both at the same time.\n */\ntype DistributiveOmit<T, K extends PropertyKey> = T extends unknown\n ? Omit<T, K>\n : never;\n\nexport type UseGetTokenBalancesParams = DistributiveOmit<\n GetTokenBalancesParams,\n 'walletAccount'\n> & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetTokenBalancesResult>['queryParams'];\n /**\n * **Pseudo-required.** The wallet account to fetch balances for.\n * Accepting `undefined` lets callers wire this up before the wallet\n * account has loaded — the hook stays disabled until a real value is\n * supplied.\n */\n walletAccount: WalletAccount | undefined;\n};\n\n/**\n * Returns the ERC-20-style token balances for a wallet account on a single\n * chain.\n *\n * Wraps `getTokenBalances` from `@dynamic-labs-sdk/client`. The hook stays\n * disabled until `walletAccount` is defined.\n *\n * For native-only balance use {@link useGetNativeBalance}; for a multi-chain\n * portfolio use {@link useGetMultichainTokenBalances}.\n *\n * @example\n * ```tsx\n * const { data, isLoading, refetch } = useGetTokenBalances({ walletAccount });\n * ```\n */\nexport const useGetTokenBalances = ({\n walletAccount,\n queryParams,\n ...rest\n}: UseGetTokenBalancesParams) =>\n useBaseQuery<GetTokenBalancesResult>({\n enabled: walletAccount !== undefined,\n middlewares: [\n invalidateOnWalletProviderEvent({\n event: 'networkChanged',\n walletAccount,\n }),\n ],\n queryFn: (client) =>\n getTokenBalances(\n // safe: `enabled` guarantees walletAccount is defined when queryFn runs\n { walletAccount: walletAccount as WalletAccount, ...rest },\n client\n ),\n queryKey: ['useGetTokenBalances', walletAccount?.id, rest],\n queryParams,\n });\n","import type {\n Chain,\n GetTransactionHistoryParams,\n GetTransactionHistoryResponse,\n} from '@dynamic-labs-sdk/client';\nimport { getTransactionHistory } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\nexport type UseGetTransactionHistoryParams = Omit<\n GetTransactionHistoryParams,\n 'address' | 'chain' | 'networkId'\n> & {\n /**\n * **Pseudo-required.** The wallet address to fetch transactions for.\n * Accepting `undefined` lets callers wire this up before the wallet\n * has loaded — the hook stays disabled until all three of `address`,\n * `chain`, and `networkId` are defined.\n */\n address: string | undefined;\n /**\n * **Pseudo-required.** The chain to fetch transactions for. See\n * {@link address} for the gating semantics.\n */\n chain: Chain | undefined;\n /**\n * **Pseudo-required.** The network ID to fetch transactions for. See\n * {@link address} for the gating semantics.\n */\n networkId: number | string | undefined;\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetTransactionHistoryResponse>['queryParams'];\n};\n\n/**\n * Returns the transaction history for a given wallet address, chain, and\n * network.\n *\n * Wraps `getTransactionHistory` from `@dynamic-labs-sdk/client`. The hook\n * stays disabled until `address`, `chain`, and `networkId` are all\n * defined. Pagination is driven by `offset` — callers can swap in a new\n * `offset` to fetch the next page (each unique key produces its own cache\n * entry).\n *\n * @example\n * ```tsx\n * const { data, isLoading, refetch } = useGetTransactionHistory({\n * address,\n * chain,\n * networkId,\n * });\n * ```\n */\nexport const useGetTransactionHistory = ({\n address,\n chain,\n networkId,\n queryParams,\n ...rest\n}: UseGetTransactionHistoryParams) =>\n useBaseQuery<GetTransactionHistoryResponse>({\n enabled:\n address !== undefined && chain !== undefined && networkId !== undefined,\n queryFn: (client) =>\n getTransactionHistory(\n // safe: `enabled` guarantees these are defined when queryFn runs\n {\n address: address as string,\n chain: chain as Chain,\n networkId: networkId as number | string,\n ...rest,\n },\n client\n ),\n queryKey: [\n 'useGetTransactionHistory',\n address,\n chain,\n networkId,\n rest,\n ],\n queryParams,\n });\n","import { transferAmount } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype TransferAmountVariables = Parameters<typeof transferAmount>[0];\ntype TransferAmountResult = Awaited<ReturnType<typeof transferAmount>>;\n\nexport type UseTransferAmountParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n TransferAmountResult,\n TransferAmountVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `transferAmount` from `@dynamic-labs-sdk/client`. Call `mutate({ walletAccount, amount, recipient, token })` to send tokens; the resolved `data` is `{ transactionHash }`.\n *\n * @example\n * ```tsx\n * const { mutate: transfer, data } = useTransferAmount();\n * transfer({ walletAccount, amount, recipient, token });\n * ```\n */\nexport const useTransferAmount = ({\n mutateParams,\n}: UseTransferAmountParams = {}) =>\n useBaseMutation<TransferAmountResult, TransferAmountVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => transferAmount(variables, client),\n });\n","import { transferBusinessAccountOwnership } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype TransferBusinessAccountOwnershipVariables = Parameters<\n typeof transferBusinessAccountOwnership\n>[0];\ntype TransferBusinessAccountOwnershipResult = Awaited<\n ReturnType<typeof transferBusinessAccountOwnership>\n>;\n\n/**\n * Parameters for {@link useTransferBusinessAccountOwnership}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseTransferBusinessAccountOwnershipParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useTransferBusinessAccountOwnership\n * @see transferBusinessAccountOwnership\n */\nexport type UseTransferBusinessAccountOwnershipParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<\n UseBaseMutationParams<\n TransferBusinessAccountOwnershipResult,\n TransferBusinessAccountOwnershipVariables\n >['mutateParams']\n >;\n};\n\n/**\n * Wraps `transferBusinessAccountOwnership` from `@dynamic-labs-sdk/client/waas`. Call\n * `mutate(variables)` to hand ownership of a business account to another member (owner-only; the\n * previous owner is demoted to admin).\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useTransferBusinessAccountOwnership();\n * <button onClick={() => mutate({ businessAccountId, newOwnerUserId })} disabled={isPending}>\n * Transfer ownership\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `transferBusinessAccountOwnership` and whose `data` is the updated business account detail.\n * @see transferBusinessAccountOwnership\n * @see UseTransferBusinessAccountOwnershipParams\n * @notInstrumented\n */\nexport const useTransferBusinessAccountOwnership = ({\n mutateParams,\n}: UseTransferBusinessAccountOwnershipParams = {}) =>\n useBaseMutation<\n TransferBusinessAccountOwnershipResult,\n TransferBusinessAccountOwnershipVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n transferBusinessAccountOwnership(variables, client),\n });\n","import { transferWalletAccount } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype TransferWalletAccountVariables = Parameters<\n typeof transferWalletAccount\n>[0];\ntype TransferWalletAccountResult = Awaited<\n ReturnType<typeof transferWalletAccount>\n>;\n\nexport type UseTransferWalletAccountParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n TransferWalletAccountResult,\n TransferWalletAccountVariables\n >['mutateParams'];\n};\n\n/**\n * Wraps `transferWalletAccount` from `@dynamic-labs-sdk/client`. Call `mutate({ walletProviderKey })` to transfer (hand off) a wallet account to the given provider.\n *\n * @example\n * ```tsx\n * const { mutate: transferWalletAccount, isPending } =\n * useTransferWalletAccount();\n * transferWalletAccount({ walletProviderKey });\n * ```\n */\nexport const useTransferWalletAccount = ({\n mutateParams,\n}: UseTransferWalletAccountParams = {}) =>\n useBaseMutation<TransferWalletAccountResult, TransferWalletAccountVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n transferWalletAccount(variables, client),\n });\n","import { unlinkSocialAccount } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype UnlinkSocialAccountVariables = Parameters<typeof unlinkSocialAccount>[0];\ntype UnlinkSocialAccountResult = Awaited<\n ReturnType<typeof unlinkSocialAccount>\n>;\n\nexport type UseUnlinkSocialAccountParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n UnlinkSocialAccountResult,\n UnlinkSocialAccountVariables\n >['mutateParams'];\n};\n\n/**\n * Unlinks a social account from the current user.\n *\n * Wraps `unlinkSocialAccount` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ verifiedCredentialId })` with the id of the social credential\n * to remove (e.g. from {@link useGetUserSocialAccounts}); the resolved `data`\n * is the updated `VerifyResponse`.\n *\n * @example\n * ```tsx\n * const { mutate: unlinkSocial, isPending } = useUnlinkSocialAccount();\n * <button\n * onClick={() => unlinkSocial({ verifiedCredentialId })}\n * disabled={isPending}\n * >\n * Disconnect\n * </button>\n * ```\n */\nexport const useUnlinkSocialAccount = ({\n mutateParams,\n}: UseUnlinkSocialAccountParams = {}) =>\n useBaseMutation<UnlinkSocialAccountResult, UnlinkSocialAccountVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n unlinkSocialAccount(variables, client),\n });\n","import { updateBusinessAccount } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype UpdateBusinessAccountVariables = Parameters<\n typeof updateBusinessAccount\n>[0];\ntype UpdateBusinessAccountResult = Awaited<\n ReturnType<typeof updateBusinessAccount>\n>;\n\n/**\n * Parameters for {@link useUpdateBusinessAccount}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseUpdateBusinessAccountParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useUpdateBusinessAccount\n * @see updateBusinessAccount\n */\nexport type UseUpdateBusinessAccountParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<\n UseBaseMutationParams<\n UpdateBusinessAccountResult,\n UpdateBusinessAccountVariables\n >['mutateParams']\n >;\n};\n\n/**\n * Wraps `updateBusinessAccount` from `@dynamic-labs-sdk/client/waas`. Call\n * `mutate({ businessAccountId, name })` to rename a business account (owner-/admin-only).\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useUpdateBusinessAccount();\n * <button onClick={() => mutate({ businessAccountId, name })} disabled={isPending}>\n * Rename\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `updateBusinessAccount` and whose `data` is the updated business account.\n * @see updateBusinessAccount\n * @see UseUpdateBusinessAccountParams\n * @notInstrumented\n */\nexport const useUpdateBusinessAccount = ({\n mutateParams,\n}: UseUpdateBusinessAccountParams = {}) =>\n useBaseMutation<\n UpdateBusinessAccountResult,\n UpdateBusinessAccountVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n updateBusinessAccount(variables, client),\n });\n","import { updateBusinessAccountMemberRole } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype UpdateBusinessAccountMemberRoleVariables = Parameters<\n typeof updateBusinessAccountMemberRole\n>[0];\ntype UpdateBusinessAccountMemberRoleResult = Awaited<\n ReturnType<typeof updateBusinessAccountMemberRole>\n>;\n\n/**\n * Parameters for {@link useUpdateBusinessAccountMemberRole}: an optional override of the\n * underlying react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseUpdateBusinessAccountMemberRoleParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useUpdateBusinessAccountMemberRole\n * @see updateBusinessAccountMemberRole\n */\nexport type UseUpdateBusinessAccountMemberRoleParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<\n UseBaseMutationParams<\n UpdateBusinessAccountMemberRoleResult,\n UpdateBusinessAccountMemberRoleVariables\n >['mutateParams']\n >;\n};\n\n/**\n * Wraps `updateBusinessAccountMemberRole` from `@dynamic-labs-sdk/client/waas`. Call\n * `mutate({ businessAccountId, userId, role })` to change a member's role between `admin`\n * and `viewer` (owner-/admin-only; owner moves via transfer ownership).\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useUpdateBusinessAccountMemberRole();\n * <button onClick={() => mutate({ businessAccountId, userId, role: 'admin' })} disabled={isPending}>\n * Make admin\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `updateBusinessAccountMemberRole` and whose `data` is the updated member.\n * @see updateBusinessAccountMemberRole\n * @see UseUpdateBusinessAccountMemberRoleParams\n * @notInstrumented\n */\nexport const useUpdateBusinessAccountMemberRole = ({\n mutateParams,\n}: UseUpdateBusinessAccountMemberRoleParams = {}) =>\n useBaseMutation<\n UpdateBusinessAccountMemberRoleResult,\n UpdateBusinessAccountMemberRoleVariables\n >({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n updateBusinessAccountMemberRole(variables, client),\n });\n","import { updateUser } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype UpdateUserVariables = Parameters<typeof updateUser>[0];\ntype UpdateUserResult = Awaited<ReturnType<typeof updateUser>>;\n\nexport type UseUpdateUserParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n UpdateUserResult,\n UpdateUserVariables\n >['mutateParams'];\n};\n\n/**\n * Updates the current user's profile information.\n *\n * Wraps `updateUser` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ userFields })` to push the new values; if a sensitive field\n * (email, phone) changed the resolved `data` will contain an\n * `OTPVerification` payload the caller needs to follow up on, otherwise\n * `data` is `undefined`.\n *\n * @example\n * ```tsx\n * const { mutate: updateUser, data: otp, isPending } = useUpdateUser();\n * <button\n * onClick={() => updateUser({ userFields: { firstName: 'Velma' } })}\n * disabled={isPending}\n * >\n * Save\n * </button>\n * ```\n */\nexport const useUpdateUser = ({ mutateParams }: UseUpdateUserParams = {}) =>\n useBaseMutation<UpdateUserResult, UpdateUserVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => updateUser(variables, client),\n });\n","import { getUserSocialAccounts } from '@dynamic-labs-sdk/client';\n\nimport { useBaseState } from '../../../../foundation/useBaseState';\n\n/**\n * Returns the current user's linked social accounts.\n *\n * Re-renders when the user changes. Resolves to an empty list while no user is\n * authenticated — the guard is required because the selector runs synchronously\n * and `getUserSocialAccounts` throws (`assertDefined`) when there is no user.\n */\nexport const useGetUserSocialAccounts = () =>\n useBaseState({\n defaultValue: [],\n event: 'userChanged',\n queryKey: ['useGetUserSocialAccounts'],\n selector: (client) => (client.user ? getUserSocialAccounts(client) : []),\n });\n","import { verifyOTP } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype VerifyOTPVariables = Parameters<typeof verifyOTP>[0];\ntype VerifyOTPResult = Awaited<ReturnType<typeof verifyOTP>>;\n\nexport type UseVerifyOTPParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n VerifyOTPResult,\n VerifyOTPVariables\n >['mutateParams'];\n};\n\n/**\n * Verifies a one-time password the user received via email or SMS.\n *\n * Wraps `verifyOTP` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ otpVerification, verificationToken })` with the\n * `OTPVerification` returned by {@link useSendEmailOTP} /\n * {@link useSendSmsOTP} and the code the user entered. A single hook\n * covers both flows — `verifyOTP` resolves sign-in vs. user-update\n * internally based on the current session.\n *\n * @example\n * ```tsx\n * const { mutate: verifyOTP, isPending } = useVerifyOTP();\n * <button\n * onClick={() => verifyOTP({ otpVerification, verificationToken: code })}\n * disabled={isPending}\n * >\n * Verify\n * </button>\n * ```\n */\nexport const useVerifyOTP = ({ mutateParams }: UseVerifyOTPParams = {}) =>\n useBaseMutation<VerifyOTPResult, VerifyOTPVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => verifyOTP(variables, client),\n });\n","import { verifyWalletAccount } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype VerifyWalletAccountVariables = Parameters<typeof verifyWalletAccount>[0];\ntype VerifyWalletAccountResult = Awaited<ReturnType<typeof verifyWalletAccount>>;\n\nexport type UseVerifyWalletAccountParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: UseBaseMutationParams<\n VerifyWalletAccountResult,\n VerifyWalletAccountVariables\n >['mutateParams'];\n};\n\n/**\n * Verifies ownership of a wallet account and adds it to the user's profile.\n *\n * Wraps `verifyWalletAccount` from `@dynamic-labs-sdk/client`. Call\n * `mutate({ walletAccount })` to trigger the verification flow — the\n * wallet provider will prompt the user to sign a proof-of-ownership\n * message. On success, `data` resolves to the verified\n * {@link WalletAccount}.\n *\n * Throws `WalletAccountAlreadyVerifiedError` if the wallet is already\n * verified (and no `requestedScopes` are provided), or\n * `WalletAlreadyLinkedToAnotherUserError` if the wallet is\n * linked to a different user — both surface through `error`.\n *\n * @example\n * ```tsx\n * const { mutate: verifyWalletAccount, isPending } = useVerifyWalletAccount();\n * <button\n * onClick={() => verifyWalletAccount({ walletAccount })}\n * disabled={isPending}\n * >\n * Verify\n * </button>\n * ```\n */\nexport const useVerifyWalletAccount = ({\n mutateParams,\n}: UseVerifyWalletAccountParams = {}) =>\n useBaseMutation<VerifyWalletAccountResult, VerifyWalletAccountVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) =>\n verifyWalletAccount(variables, client),\n });\n","import { getWalletAccounts } from '@dynamic-labs-sdk/client';\n\nimport { useBaseState } from '../../../../foundation/useBaseState';\n\n/**\n * Returns all wallet accounts connected to the current user.\n *\n * Re-renders when wallet accounts change (connect, disconnect, verify).\n */\nexport const useGetWalletAccounts = () =>\n useBaseState({\n defaultValue: [],\n // wallet accounts derive from both unverifiedWalletAccounts state and\n // user.verifiedCredentials, so we need to refresh on either change\n event: { userChanged: true, walletAccountsChanged: true },\n queryKey: ['useGetWalletAccounts'],\n selector: (client) => getWalletAccounts(client),\n });\n","import { getWalletConnectCatalog } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetWalletConnectCatalogResult = Awaited<\n ReturnType<typeof getWalletConnectCatalog>\n>;\n\nexport type UseGetWalletConnectCatalogParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<GetWalletConnectCatalogResult>['queryParams'];\n};\n\n/**\n * Returns the WalletConnect catalog (groups and wallets) used for displaying\n * wallet information and building mobile wallet deeplinks.\n *\n * Wraps `getWalletConnectCatalog` from `@dynamic-labs-sdk/client`.\n *\n * @example\n * ```tsx\n * const { data: catalog, isLoading } = useGetWalletConnectCatalog();\n * ```\n */\nexport const useGetWalletConnectCatalog = ({\n queryParams,\n}: UseGetWalletConnectCatalogParams = {}) =>\n useBaseQuery<GetWalletConnectCatalogResult>({\n queryFn: (client) => getWalletConnectCatalog(client),\n queryKey: ['useGetWalletConnectCatalog'],\n queryParams,\n });\n","import { getWalletConnectCatalogWalletByWalletProviderKey } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype WalletConnectCatalogWalletByWalletProviderKeyResult = Awaited<ReturnType<typeof getWalletConnectCatalogWalletByWalletProviderKey>>;\ntype WalletConnectCatalogWalletByWalletProviderKeyArgs = Parameters<typeof getWalletConnectCatalogWalletByWalletProviderKey>[0];\n\nexport type UseGetWalletConnectCatalogWalletByWalletProviderKeyParams = WalletConnectCatalogWalletByWalletProviderKeyArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: UseBaseQueryParams<WalletConnectCatalogWalletByWalletProviderKeyResult>['queryParams'];\n};\n\n/**\n * Returns the WalletConnect catalog wallet for the given wallet provider key.\n *\n * Wraps `getWalletConnectCatalogWalletByWalletProviderKey` from `@dynamic-labs-sdk/client`.\n */\nexport const useGetWalletConnectCatalogWalletByWalletProviderKey = ({ queryParams, ...args }: UseGetWalletConnectCatalogWalletByWalletProviderKeyParams) =>\n useBaseQuery<WalletConnectCatalogWalletByWalletProviderKeyResult>({\n queryFn: (client) => getWalletConnectCatalogWalletByWalletProviderKey(args, client),\n queryKey: ['useGetWalletConnectCatalogWalletByWalletProviderKey', args],\n queryParams,\n });\n","import { getWalletOptionsCatalogue } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnEvent } from '../../../../middlewares/invalidateOnEvent';\n\ntype GetWalletOptionsCatalogueResult = Awaited<\n ReturnType<typeof getWalletOptionsCatalogue>\n>;\ntype GetWalletOptionsCatalogueArgs = NonNullable<\n Parameters<typeof getWalletOptionsCatalogue>[0]\n>;\n\n/**\n * Freshness window for the catalogue, in milliseconds.\n *\n * The catalogue is derived from two near-static sources: the in-memory wallet\n * provider registry and the wallet-book document served from a CDN. With\n * react-query's default `staleTime: 0` the data is stale the instant it\n * arrives, so every new mount/observer (e.g. reopening the wallet list)\n * refetches the CDN document even though nothing changed — needlessly\n * hammering the CDN. A 1h window serves cached data to remounts; the registry\n * event middlewares below still force an immediate refetch on any real change,\n * so reactivity is preserved.\n */\nconst CATALOGUE_STALE_TIME_MS = 3_600_000;\n\nexport type UseGetWalletOptionsCatalogueParams = GetWalletOptionsCatalogueArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.). Spread last, so overrides win over the\n * hook's CDN-aware defaults.\n */\n queryParams?: UseBaseQueryParams<GetWalletOptionsCatalogueResult>['queryParams'];\n};\n\n/**\n * Wraps `getWalletOptionsCatalogue` from `@dynamic-labs-sdk/client`. Returns the catalogue of wallet options the project supports.\n *\n * Automatically refetches when the wallet provider registry changes: EIP-6963\n * wallets fill the registry asynchronously after mount, and the registry emits\n * `walletProviderChanged` (on register / priority update) and\n * `walletProviderUnregistered` (on removal). Wiring both keeps the catalogue in\n * sync without consumers pairing the hook with a manual listener.\n *\n * @example\n * ```tsx\n * const { data: catalogue, isLoading } = useGetWalletOptionsCatalogue();\n * ```\n */\nexport const useGetWalletOptionsCatalogue = ({\n queryParams,\n ...args\n}: UseGetWalletOptionsCatalogueParams = {}) =>\n useBaseQuery<GetWalletOptionsCatalogueResult>({\n middlewares: [\n invalidateOnEvent({ event: 'walletProviderChanged' }),\n invalidateOnEvent({ event: 'walletProviderUnregistered' }),\n ],\n queryFn: (client) => getWalletOptionsCatalogue(args, client),\n queryKey: ['useGetWalletOptionsCatalogue', args],\n queryParams: {\n // `getWalletOptionsCatalogue` already retries the wallet-book CDN\n // internally and falls back to a cached copy, so react-query's default 3\n // retries would only stack redundant requests on a failing network.\n retry: false,\n staleTime: CATALOGUE_STALE_TIME_MS,\n // Consumer overrides win over the above CDN-aware defaults.\n ...queryParams,\n },\n });\n","import { getWalletProviderDataByKey } from '@dynamic-labs-sdk/client';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\nimport { invalidateOnEvent } from '../../../../middlewares/invalidateOnEvent';\n\ntype GetWalletProviderDataByKeyResult = Awaited<\n ReturnType<typeof getWalletProviderDataByKey>\n>;\ntype GetWalletProviderDataByKeyArgs = Parameters<\n typeof getWalletProviderDataByKey\n>[0];\n\nexport type UseGetWalletProviderDataByKeyParams =\n GetWalletProviderDataByKeyArgs & {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, enabled, etc.).\n */\n queryParams?: NonNullable<\n UseBaseQueryParams<GetWalletProviderDataByKeyResult>['queryParams']\n >;\n };\n\n/**\n * Wraps `getWalletProviderDataByKey` from `@dynamic-labs-sdk/client`. Returns\n * the display/connection data for a single wallet provider, by key.\n *\n * The underlying data is read from the in-memory wallet provider registry,\n * which EIP-6963 wallets fill asynchronously after mount. The registry emits\n * `walletProviderChanged` on register / priority update, so wiring it keeps the\n * provider data in sync without consumers pairing the hook with a manual\n * `useOnEvent` + `refetch` listener.\n *\n * `walletProviderUnregistered` is intentionally not wired here: this hook reads\n * a single key, and once that key is removed there is no replacement data to\n * fetch — refetching would only make `getWalletProviderDataByKey` throw\n * `NoWalletProviderFoundError`. Skipping it keeps the last-known data instead of\n * forcing the query into an error state.\n *\n * @example\n * ```tsx\n * const { data: walletProviderData } = useGetWalletProviderDataByKey({\n * walletProviderKey,\n * });\n * ```\n */\nexport const useGetWalletProviderDataByKey = ({\n queryParams,\n ...args\n}: UseGetWalletProviderDataByKeyParams) =>\n useBaseQuery<GetWalletProviderDataByKeyResult>({\n middlewares: [invalidateOnEvent({ event: 'walletProviderChanged' })],\n // `getWalletProviderDataByKey` resolves synchronously, but `useBaseQuery`\n // expects a promise-returning `queryFn`, so wrap the result.\n queryFn: (client) =>\n Promise.resolve(getWalletProviderDataByKey(args, client)),\n queryKey: ['useGetWalletProviderDataByKey', args],\n queryParams,\n });\n","import { isDeviceRegistrationRequired } from '@dynamic-labs-sdk/client';\n\nimport { useBaseState } from '../../../../foundation/useBaseState';\n\n/**\n * Returns whether the current user still needs to register this device.\n *\n * Re-renders when the user changes (login, logout, completing device\n * registration). Resolves to `false` while no user is authenticated.\n */\nexport const useIsDeviceRegistrationRequired = () =>\n useBaseState({\n defaultValue: false,\n event: 'userChanged',\n queryKey: ['useIsDeviceRegistrationRequired'],\n selector: (client) =>\n client.user ? isDeviceRegistrationRequired(client.user) : false,\n });\n","import { isUserMissingMfaAuth } from '@dynamic-labs-sdk/client';\n\nimport { useBaseState } from '../../../../foundation/useBaseState';\n\n/**\n * Returns whether the current user still needs to complete an MFA challenge.\n *\n * Re-renders when the user changes (login, logout, completing the MFA\n * challenge). Resolves to `false` while no user is authenticated.\n */\nexport const useIsUserMissingMfaAuth = () =>\n useBaseState({\n defaultValue: false,\n event: 'userChanged',\n queryKey: ['useIsUserMissingMfaAuth'],\n selector: (client) => (client.user ? isUserMissingMfaAuth(client) : false),\n });\n","import { isPendingRecoveryCodesAcknowledgment } from '@dynamic-labs-sdk/client';\n\nimport { useBaseState } from '../../../../foundation/useBaseState';\n\n/**\n * Returns whether the current user still needs to acknowledge their MFA\n * recovery codes.\n *\n * Re-renders when the user changes (login, logout, acknowledging the recovery\n * codes). Resolves to `false` while no user is authenticated.\n */\nexport const useIsPendingRecoveryCodesAcknowledgment = () =>\n useBaseState({\n defaultValue: false,\n event: 'userChanged',\n queryKey: ['useIsPendingRecoveryCodesAcknowledgment'],\n selector: (client) =>\n client.user ? isPendingRecoveryCodesAcknowledgment(client) : false,\n });\n","import { isUserOnboardingComplete } from '@dynamic-labs-sdk/client';\n\nimport { useBaseState } from '../../../../foundation/useBaseState';\n\n/**\n * Returns whether the current user has completed every onboarding requirement\n * (KYC fields, MFA, recovery codes acknowledgment, device registration).\n *\n * Re-renders when the user changes (login, logout, completing any onboarding\n * step). Resolves to `false` while no user is authenticated.\n */\nexport const useIsUserOnboardingComplete = () =>\n useBaseState({\n defaultValue: false,\n event: 'userChanged',\n queryKey: ['useIsUserOnboardingComplete'],\n selector: (client) =>\n client.user ? isUserOnboardingComplete(client) : false,\n });\n","import { backupWaasKeySharesToGoogleDrive } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype BackupWaasKeySharesToGoogleDriveVariables = Parameters<typeof backupWaasKeySharesToGoogleDrive>[0];\ntype BackupWaasKeySharesToGoogleDriveResult = Awaited<ReturnType<typeof backupWaasKeySharesToGoogleDrive>>;\n\n/**\n * Parameters for {@link useBackupWaasKeySharesToGoogleDrive}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseBackupWaasKeySharesToGoogleDriveParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useBackupWaasKeySharesToGoogleDrive\n * @see backupWaasKeySharesToGoogleDrive\n */\nexport type UseBackupWaasKeySharesToGoogleDriveParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<BackupWaasKeySharesToGoogleDriveResult, BackupWaasKeySharesToGoogleDriveVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `backupWaasKeySharesToGoogleDrive` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * back up an embedded wallet's key shares to the user's Google Drive.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useBackupWaasKeySharesToGoogleDrive();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `backupWaasKeySharesToGoogleDrive` and whose `data` is its resolved value.\n * @see backupWaasKeySharesToGoogleDrive\n * @see UseBackupWaasKeySharesToGoogleDriveParams\n */\nexport const useBackupWaasKeySharesToGoogleDrive = ({ mutateParams }: UseBackupWaasKeySharesToGoogleDriveParams = {}) =>\n useBaseMutation<BackupWaasKeySharesToGoogleDriveResult, BackupWaasKeySharesToGoogleDriveVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => backupWaasKeySharesToGoogleDrive(variables, client),\n });\n","import { createWaasWalletAccounts } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype CreateWaasWalletAccountsVariables = Parameters<typeof createWaasWalletAccounts>[0];\ntype CreateWaasWalletAccountsResult = Awaited<ReturnType<typeof createWaasWalletAccounts>>;\n\n/**\n * Parameters for {@link useCreateWaasWalletAccounts}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseCreateWaasWalletAccountsParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useCreateWaasWalletAccounts\n * @see createWaasWalletAccounts\n */\nexport type UseCreateWaasWalletAccountsParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<CreateWaasWalletAccountsResult, CreateWaasWalletAccountsVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `createWaasWalletAccounts` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * create embedded wallet accounts for the signed-in user.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useCreateWaasWalletAccounts();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `createWaasWalletAccounts` and whose `data` is its resolved value.\n * @see createWaasWalletAccounts\n * @see UseCreateWaasWalletAccountsParams\n */\nexport const useCreateWaasWalletAccounts = ({ mutateParams }: UseCreateWaasWalletAccountsParams = {}) =>\n useBaseMutation<CreateWaasWalletAccountsResult, CreateWaasWalletAccountsVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => createWaasWalletAccounts(variables, client),\n });\n","import { createWalletForBusinessAccount } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype CreateWalletForBusinessAccountVariables = Parameters<typeof createWalletForBusinessAccount>[0];\ntype CreateWalletForBusinessAccountResult = Awaited<ReturnType<typeof createWalletForBusinessAccount>>;\n\n/**\n * Parameters for {@link useCreateWalletForBusinessAccount}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseCreateWalletForBusinessAccountParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useCreateWalletForBusinessAccount\n * @see createWalletForBusinessAccount\n */\nexport type UseCreateWalletForBusinessAccountParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<CreateWalletForBusinessAccountResult, CreateWalletForBusinessAccountVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `createWalletForBusinessAccount` from `@dynamic-labs-sdk/client/waas`. Call\n * `mutate(variables)` to create a WaaS wallet owned directly by a business account in one step.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useCreateWalletForBusinessAccount();\n * <button\n * onClick={() => mutate({ businessAccountId: 'ba-1', chain: 'EVM' })}\n * disabled={isPending}\n * >\n * Create wallet\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `createWalletForBusinessAccount` and whose `data` is its resolved value.\n * @see createWalletForBusinessAccount\n * @see UseCreateWalletForBusinessAccountParams\n */\nexport const useCreateWalletForBusinessAccount = ({ mutateParams }: UseCreateWalletForBusinessAccountParams = {}) =>\n useBaseMutation<CreateWalletForBusinessAccountResult, CreateWalletForBusinessAccountVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => createWalletForBusinessAccount(variables, client),\n });\n","import { delegateWaasKeyShares } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype DelegateWaasKeySharesVariables = Parameters<typeof delegateWaasKeyShares>[0];\ntype DelegateWaasKeySharesResult = Awaited<ReturnType<typeof delegateWaasKeyShares>>;\n\n/**\n * Parameters for {@link useDelegateWaasKeyShares}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseDelegateWaasKeySharesParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useDelegateWaasKeyShares\n * @see delegateWaasKeyShares\n */\nexport type UseDelegateWaasKeySharesParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<DelegateWaasKeySharesResult, DelegateWaasKeySharesVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `delegateWaasKeyShares` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * delegate signing access for an embedded wallet to your server.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useDelegateWaasKeyShares();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `delegateWaasKeyShares` and whose `data` is its resolved value.\n * @see delegateWaasKeyShares\n * @see UseDelegateWaasKeySharesParams\n */\nexport const useDelegateWaasKeyShares = ({ mutateParams }: UseDelegateWaasKeySharesParams = {}) =>\n useBaseMutation<DelegateWaasKeySharesResult, DelegateWaasKeySharesVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => delegateWaasKeyShares(variables, client),\n });\n","import { exportWaasClientKeyshares } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype ExportWaasClientKeysharesVariables = Parameters<typeof exportWaasClientKeyshares>[0];\ntype ExportWaasClientKeysharesResult = Awaited<ReturnType<typeof exportWaasClientKeyshares>>;\n\n/**\n * Parameters for {@link useExportWaasClientKeyshares}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseExportWaasClientKeysharesParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useExportWaasClientKeyshares\n * @see exportWaasClientKeyshares\n */\nexport type UseExportWaasClientKeysharesParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<ExportWaasClientKeysharesResult, ExportWaasClientKeysharesVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `exportWaasClientKeyshares` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * export an embedded wallet's client key shares.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useExportWaasClientKeyshares();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `exportWaasClientKeyshares` and whose `data` is its resolved value.\n * @see exportWaasClientKeyshares\n * @see UseExportWaasClientKeysharesParams\n */\nexport const useExportWaasClientKeyshares = ({ mutateParams }: UseExportWaasClientKeysharesParams = {}) =>\n useBaseMutation<ExportWaasClientKeysharesResult, ExportWaasClientKeysharesVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => exportWaasClientKeyshares(variables, client),\n });\n","import { exportWaasPrivateKey } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype ExportWaasPrivateKeyVariables = Parameters<typeof exportWaasPrivateKey>[0];\ntype ExportWaasPrivateKeyResult = Awaited<ReturnType<typeof exportWaasPrivateKey>>;\n\n/**\n * Parameters for {@link useExportWaasPrivateKey}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseExportWaasPrivateKeyParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useExportWaasPrivateKey\n * @see exportWaasPrivateKey\n */\nexport type UseExportWaasPrivateKeyParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<ExportWaasPrivateKeyResult, ExportWaasPrivateKeyVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `exportWaasPrivateKey` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * export an embedded wallet's private key.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useExportWaasPrivateKey();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `exportWaasPrivateKey` and whose `data` is its resolved value.\n * @see exportWaasPrivateKey\n * @see UseExportWaasPrivateKeyParams\n */\nexport const useExportWaasPrivateKey = ({ mutateParams }: UseExportWaasPrivateKeyParams = {}) =>\n useBaseMutation<ExportWaasPrivateKeyResult, ExportWaasPrivateKeyVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => exportWaasPrivateKey(variables, client),\n });\n","import type { WalletAccount } from '@dynamic-labs-sdk/client';\nimport { getWalletRecoveryState } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseQueryParams } from '../../../../foundation/useBaseQuery';\nimport { useBaseQuery } from '../../../../foundation/useBaseQuery';\n\ntype GetWalletRecoveryStateResult = Awaited<\n ReturnType<typeof getWalletRecoveryState>\n>;\n\n/**\n * Parameters for {@link useGetWalletRecoveryState}: the embedded wallet account to read recovery\n * state for, plus optional react-query options.\n *\n * @example\n * ```tsx\n * const params: UseGetWalletRecoveryStateParams = { walletAccount };\n * ```\n * @see useGetWalletRecoveryState\n * @see getWalletRecoveryState\n */\nexport type UseGetWalletRecoveryStateParams = {\n /**\n * Optional override of any react-query `UseQueryOptions` (retry,\n * staleTime, refetchInterval, etc.).\n */\n queryParams?: NonNullable<UseBaseQueryParams<GetWalletRecoveryStateResult>['queryParams']>;\n /**\n * **Pseudo-required.** The embedded wallet account to read recovery state\n * for. Accepting `undefined` lets callers wire this up before the wallet\n * account has loaded — the hook stays disabled until a real value is\n * supplied.\n */\n walletAccount: WalletAccount | undefined;\n};\n\n/**\n * Returns the recovery state of an embedded wallet account — whether the user\n * still needs to set a password, back up their key shares, etc.\n *\n * Wraps `getWalletRecoveryState` from `@dynamic-labs-sdk/client/waas`. The hook\n * stays disabled until `walletAccount` is defined.\n *\n * @example\n * ```tsx\n * const { data, isLoading } = useGetWalletRecoveryState({ walletAccount });\n * ```\n *\n * @returns A react-query result whose `data` is the wallet account's recovery state; it stays disabled until `walletAccount` is defined.\n * @see getWalletRecoveryState\n * @see UseGetWalletRecoveryStateParams\n */\nexport const useGetWalletRecoveryState = ({\n queryParams,\n walletAccount,\n}: UseGetWalletRecoveryStateParams) =>\n useBaseQuery<GetWalletRecoveryStateResult>({\n enabled: walletAccount !== undefined,\n queryFn: (client) =>\n getWalletRecoveryState(\n // safe: `enabled` guarantees walletAccount is defined when queryFn runs\n { walletAccount: walletAccount as WalletAccount },\n client,\n ),\n queryKey: ['useGetWalletRecoveryState', walletAccount?.id],\n queryParams,\n });\n","import { importWaasPrivateKey } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype ImportWaasPrivateKeyVariables = Parameters<typeof importWaasPrivateKey>[0];\ntype ImportWaasPrivateKeyResult = Awaited<ReturnType<typeof importWaasPrivateKey>>;\n\n/**\n * Parameters for {@link useImportWaasPrivateKey}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseImportWaasPrivateKeyParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useImportWaasPrivateKey\n * @see importWaasPrivateKey\n */\nexport type UseImportWaasPrivateKeyParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<ImportWaasPrivateKeyResult, ImportWaasPrivateKeyVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `importWaasPrivateKey` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * import a private key into a new embedded wallet account.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useImportWaasPrivateKey();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `importWaasPrivateKey` and whose `data` is its resolved value.\n * @see importWaasPrivateKey\n * @see UseImportWaasPrivateKeyParams\n */\nexport const useImportWaasPrivateKey = ({ mutateParams }: UseImportWaasPrivateKeyParams = {}) =>\n useBaseMutation<ImportWaasPrivateKeyResult, ImportWaasPrivateKeyVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => importWaasPrivateKey(variables, client),\n });\n","import { migrateFromFireblocks } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype MigrateFromFireblocksVariables = Parameters<typeof migrateFromFireblocks>[0];\ntype MigrateFromFireblocksResult = Awaited<ReturnType<typeof migrateFromFireblocks>>;\n\n/**\n * Parameters for {@link useMigrateFromFireblocks}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseMigrateFromFireblocksParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useMigrateFromFireblocks\n * @see migrateFromFireblocks\n */\nexport type UseMigrateFromFireblocksParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<MigrateFromFireblocksResult, MigrateFromFireblocksVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `migrateFromFireblocks` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * migrate a user's legacy Fireblocks wallet to an embedded wallet.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useMigrateFromFireblocks();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `migrateFromFireblocks` and whose `data` is its resolved value.\n * @see migrateFromFireblocks\n * @see UseMigrateFromFireblocksParams\n */\nexport const useMigrateFromFireblocks = ({ mutateParams }: UseMigrateFromFireblocksParams = {}) =>\n useBaseMutation<MigrateFromFireblocksResult, MigrateFromFireblocksVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => migrateFromFireblocks(variables, client),\n });\n","import { refreshWaasWalletAccountShares } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype RefreshWaasWalletAccountSharesVariables = Parameters<typeof refreshWaasWalletAccountShares>[0];\ntype RefreshWaasWalletAccountSharesResult = Awaited<ReturnType<typeof refreshWaasWalletAccountShares>>;\n\n/**\n * Parameters for {@link useRefreshWaasWalletAccountShares}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseRefreshWaasWalletAccountSharesParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useRefreshWaasWalletAccountShares\n * @see refreshWaasWalletAccountShares\n */\nexport type UseRefreshWaasWalletAccountSharesParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<RefreshWaasWalletAccountSharesResult, RefreshWaasWalletAccountSharesVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `refreshWaasWalletAccountShares` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * refresh an embedded wallet account's key shares.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useRefreshWaasWalletAccountShares();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `refreshWaasWalletAccountShares` and whose `data` is its resolved value.\n * @see refreshWaasWalletAccountShares\n * @see UseRefreshWaasWalletAccountSharesParams\n */\nexport const useRefreshWaasWalletAccountShares = ({ mutateParams }: UseRefreshWaasWalletAccountSharesParams = {}) =>\n useBaseMutation<RefreshWaasWalletAccountSharesResult, RefreshWaasWalletAccountSharesVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => refreshWaasWalletAccountShares(variables, client),\n });\n","import { revokeWaasDelegation } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype RevokeWaasDelegationVariables = Parameters<typeof revokeWaasDelegation>[0];\ntype RevokeWaasDelegationResult = Awaited<ReturnType<typeof revokeWaasDelegation>>;\n\n/**\n * Parameters for {@link useRevokeWaasDelegation}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseRevokeWaasDelegationParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useRevokeWaasDelegation\n * @see revokeWaasDelegation\n */\nexport type UseRevokeWaasDelegationParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<RevokeWaasDelegationResult, RevokeWaasDelegationVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `revokeWaasDelegation` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * revoke an embedded wallet's previously granted delegated signing access.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useRevokeWaasDelegation();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `revokeWaasDelegation` and whose `data` is its resolved value.\n * @see revokeWaasDelegation\n * @see UseRevokeWaasDelegationParams\n */\nexport const useRevokeWaasDelegation = ({ mutateParams }: UseRevokeWaasDelegationParams = {}) =>\n useBaseMutation<RevokeWaasDelegationResult, RevokeWaasDelegationVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => revokeWaasDelegation(variables, client),\n });\n","import { setWaasWalletAccountPassword } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype SetWaasWalletAccountPasswordVariables = Parameters<typeof setWaasWalletAccountPassword>[0];\ntype SetWaasWalletAccountPasswordResult = Awaited<ReturnType<typeof setWaasWalletAccountPassword>>;\n\n/**\n * Parameters for {@link useSetWaasWalletAccountPassword}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseSetWaasWalletAccountPasswordParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useSetWaasWalletAccountPassword\n * @see setWaasWalletAccountPassword\n */\nexport type UseSetWaasWalletAccountPasswordParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<SetWaasWalletAccountPasswordResult, SetWaasWalletAccountPasswordVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `setWaasWalletAccountPassword` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * set a password on an embedded wallet account.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useSetWaasWalletAccountPassword();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `setWaasWalletAccountPassword` and whose `data` is its resolved value.\n * @see setWaasWalletAccountPassword\n * @see UseSetWaasWalletAccountPasswordParams\n */\nexport const useSetWaasWalletAccountPassword = ({ mutateParams }: UseSetWaasWalletAccountPasswordParams = {}) =>\n useBaseMutation<SetWaasWalletAccountPasswordResult, SetWaasWalletAccountPasswordVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => setWaasWalletAccountPassword(variables, client),\n });\n","import { unlockWallet } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype UnlockWalletVariables = Parameters<typeof unlockWallet>[0];\ntype UnlockWalletResult = Awaited<ReturnType<typeof unlockWallet>>;\n\n/**\n * Parameters for {@link useUnlockWallet}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseUnlockWalletParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useUnlockWallet\n * @see unlockWallet\n */\nexport type UseUnlockWalletParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<UnlockWalletResult, UnlockWalletVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `unlockWallet` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * unlock an embedded wallet account with its password.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useUnlockWallet();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `unlockWallet` and whose `data` is its resolved value.\n * @see unlockWallet\n * @see UseUnlockWalletParams\n */\nexport const useUnlockWallet = ({ mutateParams }: UseUnlockWalletParams = {}) =>\n useBaseMutation<UnlockWalletResult, UnlockWalletVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => unlockWallet(variables, client),\n });\n","import { updateWaasPassword } from '@dynamic-labs-sdk/client/waas';\n\nimport type { UseBaseMutationParams } from '../../../../foundation/useBaseMutation';\nimport { useBaseMutation } from '../../../../foundation/useBaseMutation';\n\ntype UpdateWaasPasswordVariables = Parameters<typeof updateWaasPassword>[0];\ntype UpdateWaasPasswordResult = Awaited<ReturnType<typeof updateWaasPassword>>;\n\n/**\n * Parameters for {@link useUpdateWaasPassword}: an optional override of the underlying\n * react-query mutation options.\n *\n * @example\n * ```tsx\n * const params: UseUpdateWaasPasswordParams = {\n * mutateParams: { onSuccess: () => {} },\n * };\n * ```\n * @see useUpdateWaasPassword\n * @see updateWaasPassword\n */\nexport type UseUpdateWaasPasswordParams = {\n /**\n * Optional override of any react-query `UseMutationOptions`\n * (`onSuccess`, `onError`, `retry`, etc.).\n */\n mutateParams?: NonNullable<UseBaseMutationParams<UpdateWaasPasswordResult, UpdateWaasPasswordVariables>['mutateParams']>;\n};\n\n/**\n * Wraps `updateWaasPassword` from `@dynamic-labs-sdk/client/waas`. Call `mutate(variables)` to\n * update the password protecting an embedded wallet account.\n *\n * @example\n * ```tsx\n * const { mutate, isPending } = useUpdateWaasPassword();\n * <button onClick={() => mutate(variables)} disabled={isPending}>\n * Continue\n * </button>\n * ```\n *\n * @returns A react-query mutation whose `mutate`/`mutateAsync` calls `updateWaasPassword` and whose `data` is its resolved value.\n * @see updateWaasPassword\n * @see UseUpdateWaasPasswordParams\n */\nexport const useUpdateWaasPassword = ({ mutateParams }: UseUpdateWaasPasswordParams = {}) =>\n useBaseMutation<UpdateWaasPasswordResult, UpdateWaasPasswordVariables>({\n mutateParams,\n mutationFn: ({ client, variables }) => updateWaasPassword(variables, client),\n });\n","import type { DynamicInitStatus } from '@dynamic-labs-sdk/client';\n\nimport { useBaseState } from '../../../../foundation/useBaseState';\n\n/**\n * Narrowed result surface for `useInitStatus`.\n *\n * This is an **exceptional** state hook: unlike every other hook built on\n * `useBaseState` (which returns the full react-query result), it deliberately\n * exposes only the init status (`data`) and the init error. The usual\n * `isLoading` / `isFetching` / `isPlaceholderData` / `refetch` surface is\n * meaningless here because `data` already mirrors the client's own init\n * lifecycle (`'uninitialized' → 'in-progress' → 'finished' | 'failed'`), so\n * surfacing it would only invite callers to gate on the wrong signal.\n */\nexport type UseInitStatusResult = {\n /**\n * Current client initialization status. Reactive — updates whenever the\n * client emits `initStatusChanged`.\n *\n * `'uninitialized' | 'in-progress' | 'finished' | 'failed'`. A `'failed'`\n * value is the authoritative signal that initialization failed.\n */\n data: DynamicInitStatus | undefined;\n /**\n * The error that caused initialization to fail, or `null` when init has not\n * failed. When `data === 'failed'` this holds *why* it failed (unless a\n * non-`Error` value was thrown, in which case it is `null`).\n */\n error: Error | null;\n /**\n * `true` iff initialization failed with an `Error` (i.e. `error` is\n * non-null).\n */\n isError: boolean;\n};\n\n/**\n * Internal reactive shape read from client state: the init status plus the\n * error that caused a failure, kept together so a single subscription drives\n * both fields.\n */\ntype InitState = {\n error: Error | null;\n status: DynamicInitStatus;\n};\n\n/**\n * Returns the current initialization status of the Dynamic client, plus the\n * error that caused initialization to fail (when it did).\n *\n * Exposes only `data` (the reactive init status), `error` and `isError` —\n * see {@link UseInitStatusResult}. Possible `data` values: `'uninitialized'`,\n * `'in-progress'`, `'finished'`, `'failed'`. When `data === 'failed'`, `error`\n * carries the failure reason.\n *\n * @example\n * ```tsx\n * const { data: status, error } = useInitStatus();\n * if (status === 'failed') return <InitErrorScreen message={error?.message} />;\n * if (status !== 'finished') return <LoadingScreen />;\n * return <App />;\n * ```\n *\n * @notInstrumented\n */\nexport const useInitStatus = (): UseInitStatusResult => {\n const { data } = useBaseState<InitState>({\n defaultValue: { error: null, status: 'uninitialized' },\n event: 'initStatusChanged',\n queryKey: ['useInitStatus'],\n selector: (client) => ({\n error: client.initError,\n status: client.initStatus,\n }),\n // exception: this hook exposes init state *during* init, so it must not\n // gate on waitForClientInitialized.\n skipWaitForInit: true,\n });\n\n const error = data?.error ?? null;\n\n return { data: data?.status, error, isError: error !== null };\n};\n","import { useBaseState } from '../../../../foundation/useBaseState';\n\n/**\n * Returns the session expiration date, or null if no active session.\n *\n * Re-renders when the user changes (which includes session updates).\n */\nexport const useSessionExpiresAt = () =>\n useBaseState({\n defaultValue: null,\n event: 'userChanged',\n queryKey: ['useSessionExpiresAt'],\n selector: (client) => client.sessionExpiresAt,\n });\n","import { useBaseState } from '../../../../foundation/useBaseState';\n\n/**\n * Returns the current authenticated user, or null if not authenticated.\n *\n * Re-renders when the user changes (login, logout, profile update).\n */\nexport const useUser = () =>\n useBaseState({\n defaultValue: null,\n event: 'userChanged',\n queryKey: ['useUser'],\n selector: (client) => client.user,\n });\n","import { assertPackageVersion } from '@dynamic-labs-sdk/assert-package-version';\n\nimport {\n name as packageName,\n version as packageVersion,\n} from '../../package.json';\nassertPackageVersion(packageName, packageVersion);\n\nexport {\n useAcknowledgeRecoveryCodes,\n type UseAcknowledgeRecoveryCodesParams,\n} from '../hooks/wrappers/functions/useAcknowledgeRecoveryCodes';\nexport {\n useGetActiveNetworkData,\n type UseGetActiveNetworkDataParams,\n} from '../hooks/wrappers/functions/useGetActiveNetworkData';\nexport {\n useGetActiveNetworkId,\n type UseGetActiveNetworkIdParams,\n} from '../hooks/wrappers/functions/useGetActiveNetworkId';\nexport {\n useAddBusinessAccountMember,\n type UseAddBusinessAccountMemberParams,\n} from '../hooks/wrappers/functions/useAddBusinessAccountMember';\nexport {\n useAddBusinessAccountSigner,\n type UseAddBusinessAccountSignerParams,\n} from '../hooks/wrappers/functions/useAddBusinessAccountSigner';\nexport {\n useAddNetwork,\n type UseAddNetworkParams,\n} from '../hooks/wrappers/functions/useAddNetwork';\nexport {\n useAddWalletToBusinessAccount,\n type UseAddWalletToBusinessAccountParams,\n} from '../hooks/wrappers/functions/useAddWalletToBusinessAccount';\nexport {\n useAssertWalletAccountSigningAvailability,\n type UseAssertWalletAccountSigningAvailabilityParams,\n} from '../hooks/wrappers/functions/useAssertWalletAccountSigningAvailability';\nexport {\n useAttachFlowSource,\n type UseAttachFlowSourceParams,\n} from '../hooks/wrappers/functions/useAttachFlowSource';\nexport {\n useAuthenticateMfaRecoveryCode,\n type UseAuthenticateMfaRecoveryCodeParams,\n} from '../hooks/wrappers/functions/useAuthenticateMfaRecoveryCode';\nexport {\n useAuthenticatePasskeyMFA,\n type UseAuthenticatePasskeyMFAParams,\n} from '../hooks/wrappers/functions/useAuthenticatePasskeyMFA';\nexport {\n useAuthenticateTotpMfaDevice,\n type UseAuthenticateTotpMfaDeviceParams,\n} from '../hooks/wrappers/functions/useAuthenticateTotpMfaDevice';\nexport { useGetAvailableWalletProvidersData } from '../hooks/wrappers/functions/useGetAvailableWalletProvidersData';\nexport {\n useGetBalanceForAddress,\n type UseGetBalanceForAddressParams,\n} from '../hooks/wrappers/functions/useGetBalanceForAddress';\nexport {\n useGetBusinessAccount,\n type UseGetBusinessAccountParams,\n} from '../hooks/wrappers/functions/useGetBusinessAccount';\nexport {\n useBroadcastFlow,\n type UseBroadcastFlowParams,\n} from '../hooks/wrappers/functions/useBroadcastFlow';\nexport {\n useCancelFlow,\n type UseCancelFlowParams,\n} from '../hooks/wrappers/functions/useCancelFlow';\nexport {\n useCheckStepUpAuth,\n type UseCheckStepUpAuthParams,\n} from '../hooks/wrappers/functions/useCheckStepUpAuth';\nexport {\n useGetCoinbaseBuyUrl,\n type UseGetCoinbaseBuyUrlParams,\n} from '../hooks/wrappers/functions/useGetCoinbaseBuyUrl';\nexport {\n useAddCoinbaseOnrampOrderEventListener,\n type UseAddCoinbaseOnrampOrderEventListenerParams,\n} from '../hooks/wrappers/functions/useAddCoinbaseOnrampOrderEventListener';\nexport {\n useCompleteDeviceRegistration,\n type UseCompleteDeviceRegistrationParams,\n} from '../hooks/wrappers/functions/useCompleteDeviceRegistration';\nexport {\n useCompleteSocialRedirect,\n type UseCompleteSocialRedirectParams,\n} from '../hooks/wrappers/functions/useCompleteSocialRedirect';\nexport {\n useDetectSocialRedirectUrl,\n type UseDetectSocialRedirectUrlParams,\n} from '../hooks/wrappers/functions/useDetectSocialRedirectUrl';\nexport {\n useConfirmTransaction,\n type UseConfirmTransactionParams,\n} from '../hooks/wrappers/functions/useConfirmTransaction';\nexport {\n useConnectAndVerifyWithWalletProvider,\n type UseConnectAndVerifyWithWalletProviderParams,\n} from '../hooks/wrappers/functions/useConnectAndVerifyWithWalletProvider';\nexport {\n useGetConnectedAddresses,\n type UseGetConnectedAddressesParams,\n} from '../hooks/wrappers/functions/useGetConnectedAddresses';\nexport {\n useConnectWithWalletProvider,\n type UseConnectWithWalletProviderParams,\n} from '../hooks/wrappers/functions/useConnectWithWalletProvider';\nexport {\n useCreateBusinessAccount,\n type UseCreateBusinessAccountParams,\n} from '../hooks/wrappers/functions/useCreateBusinessAccount';\nexport {\n useCreateCoinbaseOnrampOrder,\n type UseCreateCoinbaseOnrampOrderParams,\n} from '../hooks/wrappers/functions/useCreateCoinbaseOnrampOrder';\nexport {\n useCreateCryptoDotComPayment,\n type UseCreateCryptoDotComPaymentParams,\n} from '../hooks/wrappers/functions/useCreateCryptoDotComPayment';\nexport {\n useCreateNewMfaRecoveryCodes,\n type UseCreateNewMfaRecoveryCodesParams,\n} from '../hooks/wrappers/functions/useCreateNewMfaRecoveryCodes';\nexport {\n useDeleteMfaDevice,\n type UseDeleteMfaDeviceParams,\n} from '../hooks/wrappers/functions/useDeleteMfaDevice';\nexport {\n useDeletePasskey,\n type UseDeletePasskeyParams,\n} from '../hooks/wrappers/functions/useDeletePasskey';\nexport {\n useDeleteUser,\n type UseDeleteUserParams,\n} from '../hooks/wrappers/functions/useDeleteUser';\nexport { useOnEvent } from '../hooks/wrappers/functions/useOnEvent';\nexport {\n useExecuteSwapTransaction,\n type UseExecuteSwapTransactionParams,\n} from '../hooks/wrappers/functions/useExecuteSwapTransaction';\nexport {\n useGetFlow,\n type UseGetFlowParams,\n} from '../hooks/wrappers/functions/useGetFlow';\nexport {\n useGetFlowQuote,\n type UseGetFlowQuoteParams,\n} from '../hooks/wrappers/functions/useGetFlowQuote';\nexport {\n usePrepareFlowSigning,\n type UsePrepareFlowSigningParams,\n} from '../hooks/wrappers/functions/usePrepareFlowSigning';\nexport {\n useGetGoogleDriveBackupReadiness,\n type UseGetGoogleDriveBackupReadinessParams,\n} from '../hooks/wrappers/functions/useGetGoogleDriveBackupReadiness';\nexport {\n useIsMfaRequiredForAction,\n type UseIsMfaRequiredForActionParams,\n} from '../hooks/wrappers/functions/useIsMfaRequiredForAction';\nexport {\n useGetKrakenAccounts,\n type UseGetKrakenAccountsParams,\n} from '../hooks/wrappers/functions/useGetKrakenAccounts';\nexport {\n useCreateKrakenExchangeTransfer,\n type UseCreateKrakenExchangeTransferParams,\n} from '../hooks/wrappers/functions/useCreateKrakenExchangeTransfer';\nexport {\n useGetKrakenWhitelistedAddresses,\n type UseGetKrakenWhitelistedAddressesParams,\n} from '../hooks/wrappers/functions/useGetKrakenWhitelistedAddresses';\nexport {\n useListBusinessAccounts,\n type UseListBusinessAccountsParams,\n} from '../hooks/wrappers/functions/useListBusinessAccounts';\nexport { useLogout } from '../hooks/wrappers/functions/useLogout';\nexport {\n useMergeUserAccounts,\n type UseMergeUserAccountsParams,\n} from '../hooks/wrappers/functions/useMergeUserAccounts';\nexport {\n useGetMfaDevices,\n type UseGetMfaDevicesParams,\n} from '../hooks/wrappers/functions/useGetMfaDevices';\nexport {\n useGetMfaMethods,\n type UseGetMfaMethodsParams,\n} from '../hooks/wrappers/functions/useGetMfaMethods';\nexport {\n useGetMfaRecoveryCodes,\n type UseGetMfaRecoveryCodesParams,\n} from '../hooks/wrappers/functions/useGetMfaRecoveryCodes';\nexport {\n useGetMoonPayCurrencies,\n type UseGetMoonPayCurrenciesParams,\n} from '../hooks/wrappers/functions/useGetMoonPayCurrencies';\nexport {\n useGetMoonPayUrl,\n type UseGetMoonPayUrlParams,\n} from '../hooks/wrappers/functions/useGetMoonPayUrl';\nexport {\n useGetMultichainTokenBalances,\n type UseGetMultichainTokenBalancesParams,\n} from '../hooks/wrappers/functions/useGetMultichainTokenBalances';\nexport { useGetNativeBalance } from '../hooks/wrappers/functions/useGetNativeBalance';\nexport { useOnceEvent } from '../hooks/wrappers/functions/useOnceEvent';\nexport {\n useGetPasskeys,\n type UseGetPasskeysParams,\n} from '../hooks/wrappers/functions/useGetPasskeys';\nexport {\n useProveWalletAccountOwnership,\n type UseProveWalletAccountOwnershipParams,\n} from '../hooks/wrappers/functions/useProveWalletAccountOwnership';\nexport {\n useRefreshAuth,\n type UseRefreshAuthParams,\n} from '../hooks/wrappers/functions/useRefreshAuth';\nexport {\n useGetRegisteredDevices,\n type UseGetRegisteredDevicesParams,\n} from '../hooks/wrappers/functions/useGetRegisteredDevices';\nexport {\n useRegisterPasskey,\n type UseRegisterPasskeyParams,\n} from '../hooks/wrappers/functions/useRegisterPasskey';\nexport {\n useRegisterTotpMfaDevice,\n type UseRegisterTotpMfaDeviceParams,\n} from '../hooks/wrappers/functions/useRegisterTotpMfaDevice';\nexport {\n useRemoveBusinessAccountMember,\n type UseRemoveBusinessAccountMemberParams,\n} from '../hooks/wrappers/functions/useRemoveBusinessAccountMember';\nexport {\n useRemoveBusinessAccountSigner,\n type UseRemoveBusinessAccountSignerParams,\n} from '../hooks/wrappers/functions/useRemoveBusinessAccountSigner';\nexport {\n useRemoveWalletAccount,\n type UseRemoveWalletAccountParams,\n} from '../hooks/wrappers/functions/useRemoveWalletAccount';\nexport {\n useRequestExternalAuthElevatedToken,\n type UseRequestExternalAuthElevatedTokenParams,\n} from '../hooks/wrappers/functions/useRequestExternalAuthElevatedToken';\nexport {\n useRevokeAllRegisteredDevices,\n type UseRevokeAllRegisteredDevicesParams,\n} from '../hooks/wrappers/functions/useRevokeAllRegisteredDevices';\nexport {\n useRevokeRegisteredDevice,\n type UseRevokeRegisteredDeviceParams,\n} from '../hooks/wrappers/functions/useRevokeRegisteredDevice';\nexport {\n useSendEmailOTP,\n type UseSendEmailOTPParams,\n} from '../hooks/wrappers/functions/useSendEmailOTP';\nexport {\n useSendSmsOTP,\n type UseSendSmsOTPParams,\n} from '../hooks/wrappers/functions/useSendSmsOTP';\nexport {\n useSetDefaultMfaDevice,\n type UseSetDefaultMfaDeviceParams,\n} from '../hooks/wrappers/functions/useSetDefaultMfaDevice';\nexport {\n useSignInWithExternalJwt,\n type UseSignInWithExternalJwtParams,\n} from '../hooks/wrappers/functions/useSignInWithExternalJwt';\nexport {\n useSignInWithPasskey,\n type UseSignInWithPasskeyParams,\n} from '../hooks/wrappers/functions/useSignInWithPasskey';\nexport {\n useSignInWithSocialPopUp,\n type UseSignInWithSocialPopUpParams,\n} from '../hooks/wrappers/functions/useSignInWithSocialPopUp';\nexport {\n useSignInWithSocialRedirect,\n type UseSignInWithSocialRedirectParams,\n} from '../hooks/wrappers/functions/useSignInWithSocialRedirect';\nexport {\n useSignMessage,\n type UseSignMessageParams,\n} from '../hooks/wrappers/functions/useSignMessage';\nexport {\n useSubmitFlowTransaction,\n type UseSubmitFlowTransactionParams,\n} from '../hooks/wrappers/functions/useSubmitFlowTransaction';\nexport {\n useGetSwapQuote,\n type UseGetSwapQuoteParams,\n} from '../hooks/wrappers/functions/useGetSwapQuote';\nexport {\n useGetSwapStatus,\n type UseGetSwapStatusParams,\n} from '../hooks/wrappers/functions/useGetSwapStatus';\nexport {\n useSwitchActiveNetwork,\n type UseSwitchActiveNetworkParams,\n} from '../hooks/wrappers/functions/useSwitchActiveNetwork';\nexport {\n useGetTokenBalances,\n type UseGetTokenBalancesParams,\n} from '../hooks/wrappers/functions/useGetTokenBalances';\nexport {\n useGetTransactionHistory,\n type UseGetTransactionHistoryParams,\n} from '../hooks/wrappers/functions/useGetTransactionHistory';\nexport {\n useTransferAmount,\n type UseTransferAmountParams,\n} from '../hooks/wrappers/functions/useTransferAmount';\nexport {\n useTransferBusinessAccountOwnership,\n type UseTransferBusinessAccountOwnershipParams,\n} from '../hooks/wrappers/functions/useTransferBusinessAccountOwnership';\nexport {\n useTransferWalletAccount,\n type UseTransferWalletAccountParams,\n} from '../hooks/wrappers/functions/useTransferWalletAccount';\nexport {\n useUnlinkSocialAccount,\n type UseUnlinkSocialAccountParams,\n} from '../hooks/wrappers/functions/useUnlinkSocialAccount';\nexport {\n useUpdateBusinessAccount,\n type UseUpdateBusinessAccountParams,\n} from '../hooks/wrappers/functions/useUpdateBusinessAccount';\nexport {\n useUpdateBusinessAccountMemberRole,\n type UseUpdateBusinessAccountMemberRoleParams,\n} from '../hooks/wrappers/functions/useUpdateBusinessAccountMemberRole';\nexport {\n useUpdateUser,\n type UseUpdateUserParams,\n} from '../hooks/wrappers/functions/useUpdateUser';\nexport { useGetUserSocialAccounts } from '../hooks/wrappers/functions/useGetUserSocialAccounts';\nexport {\n useVerifyOTP,\n type UseVerifyOTPParams,\n} from '../hooks/wrappers/functions/useVerifyOTP';\nexport {\n useVerifyWalletAccount,\n type UseVerifyWalletAccountParams,\n} from '../hooks/wrappers/functions/useVerifyWalletAccount';\nexport { useGetWalletAccounts } from '../hooks/wrappers/functions/useGetWalletAccounts';\nexport {\n useGetWalletConnectCatalog,\n type UseGetWalletConnectCatalogParams,\n} from '../hooks/wrappers/functions/useGetWalletConnectCatalog';\nexport {\n useGetWalletConnectCatalogWalletByWalletProviderKey,\n type UseGetWalletConnectCatalogWalletByWalletProviderKeyParams,\n} from '../hooks/wrappers/functions/useGetWalletConnectCatalogWalletByWalletProviderKey';\nexport {\n useGetWalletOptionsCatalogue,\n type UseGetWalletOptionsCatalogueParams,\n} from '../hooks/wrappers/functions/useGetWalletOptionsCatalogue';\nexport {\n useGetWalletProviderDataByKey,\n type UseGetWalletProviderDataByKeyParams,\n} from '../hooks/wrappers/functions/useGetWalletProviderDataByKey';\nexport { useOnWalletProviderEvent } from '../hooks/wrappers/functions/useOnWalletProviderEvent';\nexport { useIsDeviceRegistrationRequired } from '../hooks/wrappers/functions/useIsDeviceRegistrationRequired';\nexport { useIsUserMissingMfaAuth } from '../hooks/wrappers/functions/useIsUserMissingMfaAuth';\nexport { useIsPendingRecoveryCodesAcknowledgment } from '../hooks/wrappers/functions/useIsPendingRecoveryCodesAcknowledgment';\nexport { useIsUserOnboardingComplete } from '../hooks/wrappers/functions/useIsUserOnboardingComplete';\nexport {\n useBackupWaasKeySharesToGoogleDrive,\n type UseBackupWaasKeySharesToGoogleDriveParams,\n} from '../hooks/wrappers/functions/useBackupWaasKeySharesToGoogleDrive';\nexport {\n useCreateWaasWalletAccounts,\n type UseCreateWaasWalletAccountsParams,\n} from '../hooks/wrappers/functions/useCreateWaasWalletAccounts';\nexport {\n useCreateWalletForBusinessAccount,\n type UseCreateWalletForBusinessAccountParams,\n} from '../hooks/wrappers/functions/useCreateWalletForBusinessAccount';\nexport {\n useDelegateWaasKeyShares,\n type UseDelegateWaasKeySharesParams,\n} from '../hooks/wrappers/functions/useDelegateWaasKeyShares';\nexport {\n useExportWaasClientKeyshares,\n type UseExportWaasClientKeysharesParams,\n} from '../hooks/wrappers/functions/useExportWaasClientKeyshares';\nexport {\n useExportWaasPrivateKey,\n type UseExportWaasPrivateKeyParams,\n} from '../hooks/wrappers/functions/useExportWaasPrivateKey';\nexport {\n useGetWalletRecoveryState,\n type UseGetWalletRecoveryStateParams,\n} from '../hooks/wrappers/functions/useGetWalletRecoveryState';\nexport {\n useImportWaasPrivateKey,\n type UseImportWaasPrivateKeyParams,\n} from '../hooks/wrappers/functions/useImportWaasPrivateKey';\nexport {\n useMigrateFromFireblocks,\n type UseMigrateFromFireblocksParams,\n} from '../hooks/wrappers/functions/useMigrateFromFireblocks';\nexport {\n useRefreshWaasWalletAccountShares,\n type UseRefreshWaasWalletAccountSharesParams,\n} from '../hooks/wrappers/functions/useRefreshWaasWalletAccountShares';\nexport {\n useRevokeWaasDelegation,\n type UseRevokeWaasDelegationParams,\n} from '../hooks/wrappers/functions/useRevokeWaasDelegation';\nexport {\n useSetWaasWalletAccountPassword,\n type UseSetWaasWalletAccountPasswordParams,\n} from '../hooks/wrappers/functions/useSetWaasWalletAccountPassword';\nexport {\n useUnlockWallet,\n type UseUnlockWalletParams,\n} from '../hooks/wrappers/functions/useUnlockWallet';\nexport {\n useUpdateWaasPassword,\n type UseUpdateWaasPasswordParams,\n} from '../hooks/wrappers/functions/useUpdateWaasPassword';\nexport {\n useInitStatus,\n type UseInitStatusResult,\n} from '../hooks/wrappers/state/useInitStatus';\nexport { useSessionExpiresAt } from '../hooks/wrappers/state/useSessionExpiresAt';\nexport { useUser } from '../hooks/wrappers/state/useUser';\nexport { DynamicProvider, useDynamicClient } from '../modules/DynamicContext';\n"],"mappings":"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"}
|