UNPKG

permissionless

Version:

A utility library for working with ERC-4337

35 lines (32 loc) 830 B
import { type Address, type LocalAccount, type SignMessageReturnType, type SignableMessage, hashMessage } from "viem" import { signMessage as _signMessage } from "viem/actions" export async function signMessage({ message, admin, accountAddress, chainId }: { chainId: number message: SignableMessage admin: LocalAccount accountAddress: Address }): Promise<SignMessageReturnType> { const hashedMessage = hashMessage(message) return admin.signTypedData({ domain: { name: "Account", version: "1", chainId, verifyingContract: accountAddress }, primaryType: "AccountMessage", types: { AccountMessage: [{ name: "message", type: "bytes" }] }, message: { message: hashedMessage } }) }