EIP-712 Domain Helper
A helper for retrieval of the EIP-712 domain of a contract. Uses ERC-5267 with fallback to known domains or guided guessing.
npm install eip712domains
Usage
import { createERC5267Client } from 'eip712domains/viem';
const { getEIP712Domain } = createERC5267Client(publicClient);
import { createERC5267Client } from 'eip712domains/ethers';
const { getEIP712Domain } = createERC5267Client(provider);
import { createERC5267Client } from 'eip712domains/http';
const { getEIP712Domain } = createERC5267Client('https://infura.io/...');
const domain = await getEIP712Domain(contractAddress);
if (domain === undefined) {
}
const signature = await walletClient.signTypedData({ domain, ... });
const signature = await signer.signTypedData(domain, ...);