useSignTypedData

Similar to useSignMessage, hook for signing typed data, supporting both connected accounts and clients in EIP 712 format.

Uses eth_signTypedData to sign structured, typed data. Accepts typed, complex data structures as input. Like useSignMessage, this hook also handles deployed (1271) and undeployed accounts (6492).

Import

1import { useSignTypedData } from "@account-kit/react";

Usage

1import { useSignTypedData, useSmartAccountClient } from "@account-kit/react";
2const typedData = {
3 types: {
4 Message: [{ name: "content", type: "string" }],
5 },
6 primaryType: "Message",
7 message: { content: "Hello" },
8};
9const { client } = useSmartAccountClient({});
10const {
11 signTypedData,
12 signTypedDataAsync,
13 signedTypedData,
14 isSigningTypedData,
15 error,
16} = useSignTypedData({
17 client,
18 // these are optional
19 onSuccess: (result) => {
20 // do something on success
21 },
22 onError: (error) => console.error(error),
23});
24
25const result = await signTypedData({ typedData });

Parameters

args

UseSignTypedDataArgs The arguments for the hook, including client and mutation-related arguments. ref

Returns

UseSignTypedDataResult An object containing methods and state related to the sign typed data mutation process. ref