MessageHashUtils: Add toDataWithIntendedValidatorHash(address, bytes32) (#5081)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com> Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
a9b1f58b00
commit
a4b0d89900
@ -63,6 +63,21 @@ library MessageHashUtils {
|
||||
return keccak256(abi.encodePacked(hex"19_00", validator, data));
|
||||
}
|
||||
|
||||
/**
|
||||
* @dev Variant of {toDataWithIntendedValidatorHash-address-bytes} optimized for cases where `data` is a bytes32.
|
||||
*/
|
||||
function toDataWithIntendedValidatorHash(
|
||||
address validator,
|
||||
bytes32 messageHash
|
||||
) internal pure returns (bytes32 digest) {
|
||||
assembly ("memory-safe") {
|
||||
mstore(0x00, hex"19_00")
|
||||
mstore(0x02, shl(96, validator))
|
||||
mstore(0x16, messageHash)
|
||||
digest := keccak256(0x00, 0x36)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @dev Returns the keccak256 digest of an EIP-712 typed data (ERC-191 version `0x01`).
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user