essential_app_utils/
addresses.rs

1use 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}