getPlugHash
Encode a Plug into a hash and verify the decoded Plug data from a hash to verify type compliance.
Parameters
$input
: Plug : ThePlug
data to encode.
Returns
$typeHash
:bytes32
: The packet hash of the encoded Plug data.
Onchain Implementation
With getPlugHash
you can call the function as a read
and get the encoded data back as a hash.
This is helpful in times when you need to build a message hash without tracking down all the types as well as when you need to verify a signed message hash containing a Plug
data type.
solidity
function getPlugHash(
TypesLib.Plug memory $input
) public pure virtual returns (bytes32 $typeHash) {
$typeHash = keccak256(abi.encode(
PLUG_TYPEHASH,
$input.target,
$input.value,
keccak256($input.data)
));
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10