Prerequisites
You need Web3 libraries configured with Para authentication.Setup Web3 Libraries
Sign Typed Data
- Ethers.js
- Viem
- Wagmi
Sign structured data using the EIP-712 standard for improved security and UX
import { ethers } from "ethers";
async function signTypedData(
signer: ethers.Signer,
domain: any,
types: any,
value: any
) {
const signature = await signer.signTypedData(domain, types, value);
console.log("Signature:", signature);
return signature;
}
async function signTypedData(
walletClient: any,
account: any,
domain: any,
types: any,
primaryType: string,
message: any
) {
const signature = await walletClient.signTypedData({
account,
domain,
types,
primaryType,
message,
});
console.log("Signature:", signature);
return signature;
}
import { useSignTypedData } from "wagmi";
function SignTypedData(
domain: any,
types: any,
primaryType: string,
message: any
) {
const { data: signature, signTypedData } = useSignTypedData();
return (
<div>
<button
onClick={() =>
signTypedData({
domain,
types,
primaryType,
message,
})
}
>
Sign Typed Data
</button>
{signature && <p>Signature: {signature}</p>}
</div>
);
}