essential_app_utils/
addresses.rs1use essential_types::{PredicateAddress, Word};
2
3pub fn contract_hash(contract: &PredicateAddress) -> [Word; 4] {
4 let set_hash = essential_types::convert::word_4_from_u8_32(contract.contract.0);
5 let predicate_hash = essential_types::convert::word_4_from_u8_32(contract.predicate.0);
6 let mut words = set_hash.to_vec();
7 words.extend_from_slice(&predicate_hash);
8 let contract_hash = essential_hash::hash_words(&words);
9 essential_types::convert::word_4_from_u8_32(contract_hash)
10}