dpp/data_contract/
generate_data_contract.rs

1use crate::data_contract::DataContract;
2use crate::prelude::IdentityNonce;
3use platform_value::Identifier;
4use std::io::Write;
5
6use crate::util::hash::hash_double;
7
8impl DataContract {
9    /// Generate data contract id based on owner id and identity nonce
10    pub fn generate_data_contract_id_v0(
11        owner_id: impl AsRef<[u8]>,
12        identity_nonce: IdentityNonce,
13    ) -> Identifier {
14        let mut b: Vec<u8> = vec![];
15        let _ = b.write(owner_id.as_ref());
16        let _ = b.write(identity_nonce.to_be_bytes().as_slice());
17        Identifier::from(hash_double(b))
18    }
19}