hashMessage
Calculates a EIP-191 personal sign hash via ERC-7739 PersonalSign
format.
Import
import { hashMessage } from 'viem/experimental/erc7739'
Usage
import { hashMessage } from 'viem/experimental/erc7739'
// Hash a UTF-8 value.
hashMessage({
message: 'hello world',
verifierDomain: {
name: 'Smart Account',
version: '1',
verifyingContract: '0x1234567890abcdef1234567890abcdef12345678',
chainId: 1,
},
})
// Hash a hex data value.
hashMessage({
message: { raw: '0x68656c6c6f20776f726c64' },
verifierDomain: {
name: 'Smart Account',
version: '1',
verifyingContract: '0x1234567890abcdef1234567890abcdef12345678',
chainId: 1,
},
})
// Hash a bytes data value.
hashMessage({
message: {
raw: Uint8Array.from([
104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100,
])
},
verifierDomain: {
name: 'Smart Account',
version: '1',
verifyingContract: '0x1234567890abcdef1234567890abcdef12345678',
chainId: 1,
},
})
Returns
A signable message hash.
Parameters
message
- Type:
string | { raw: Hex | ByteArray }
Message to hash.
verifierDomain
- Type:
TypedDataDomain
The EIP-712 domain of the verifying contract.