ssi_data_integrity_suites/eip712/
hashing.rs1use ssi_data_integrity_core::{
2 suite::standard::{HashingAlgorithm, HashingError, TransformationAlgorithm},
3 ProofConfigurationRef, StandardCryptographicSuite,
4};
5
6pub struct Eip712Hashing;
7
8impl<S> HashingAlgorithm<S> for Eip712Hashing
9where
10 S: StandardCryptographicSuite,
11 S::Transformation: TransformationAlgorithm<S, Output = ssi_eip712::TypedData>,
12{
13 type Output = [u8; 66];
14
15 fn hash(
16 input: ssi_eip712::TypedData,
17 _proof_configuration: ProofConfigurationRef<S>,
18 _verification_method: &S::VerificationMethod,
19 ) -> Result<Self::Output, HashingError> {
20 input
21 .encode()
22 .map_err(|e| HashingError::InvalidMessage(e.to_string()))
23 }
24}