'use client' import { useMutation } from '@tanstack/vue-query' import { type SignMessageErrorType } from '@wagmi/core' import type { Evaluate } from '@wagmi/core/internal' import { type SignMessageData, type SignMessageMutate, type SignMessageMutateAsync, type SignMessageVariables, signMessageMutationOptions, } from '@wagmi/core/query' import type { ConfigParameter, MaybeRefDeep } from '../types.js' import type { UseMutationParameters, UseMutationReturnType, } from '../utils/query.js' import { useConfig } from './useConfig.js' export type UseSignMessageParameters = Evaluate< MaybeRefDeep & { mutation?: | UseMutationParameters< SignMessageData, SignMessageErrorType, SignMessageVariables, context > | undefined } > export type UseSignMessageReturnType = Evaluate< UseMutationReturnType< SignMessageData, SignMessageErrorType, SignMessageVariables, context > & { signMessage: SignMessageMutate signMessageAsync: SignMessageMutateAsync } > /** https://wagmi.sh/react/api/hooks/useSignMessage */ export function useSignMessage( parameters: UseSignMessageParameters = {}, ): UseSignMessageReturnType { const { mutation } = parameters const config = useConfig(parameters) const mutationOptions = signMessageMutationOptions(config) const { mutate, mutateAsync, ...result } = useMutation({ ...mutation, ...mutationOptions, }) return { ...result, signMessage: mutate, signMessageAsync: mutateAsync, } }