dpp/tests/fixtures/
get_dashpay_contract_fixture.rs1use crate::{
2 data_contract::DataContractFactory, prelude::Identifier,
3 tests::utils::generate_random_identifier_struct,
4};
5
6use crate::data_contract::created_data_contract::CreatedDataContract;
7use crate::prelude::IdentityNonce;
8use data_contracts::SystemDataContract;
9use platform_version::version::PlatformVersion;
10
11pub fn get_dashpay_contract_fixture(
12 owner_id: Option<Identifier>,
13 identity_nonce: IdentityNonce,
14 protocol_version: u32,
15) -> CreatedDataContract {
16 let factory = DataContractFactory::new(protocol_version).expect("expected to create factory");
17
18 let platform_version = PlatformVersion::get(protocol_version).expect("expected to get version");
19
20 let dashpay_schema = SystemDataContract::Dashpay
21 .source(platform_version)
22 .expect("DPNS contract must be defined")
23 .document_schemas;
24 let owner_id = owner_id.unwrap_or_else(generate_random_identifier_struct);
25
26 factory
27 .create_with_value_config(owner_id, identity_nonce, dashpay_schema.into(), None, None)
28 .expect("data in fixture should be correct")
29}