UNPKG

eth-signature-verifier

Version:

Minimal Ethereum signature verifier supporting EIP-712, EIP-191, and eth_sign. No ethers.js or web3.js.

24 lines (23 loc) 821 B
import { hashPersonalMessage, recoverAddress, hashTypedData } from './utils.js'; // Verifies an Ethereum signature created with personal_sign or eth_sign export function verifyMessage(address, message, signature) { try { const msgHash = hashPersonalMessage(message); const recovered = recoverAddress(msgHash, signature); return address.toLowerCase() === recovered.toLowerCase(); } catch { return false; } } // Verifies an EIP-712 typed data signature export function verifyTypedData(address, signature, domain, types, value) { try { const digest = hashTypedData(domain, types, value); const recovered = recoverAddress(digest, signature); return address.toLowerCase() === recovered.toLowerCase(); } catch { return false; } }