dpp/tests/fixtures/
get_masternode_reward_shares_documents_fixture.rs

1use crate::document::Document;
2#[cfg(feature = "extended-document")]
3use crate::document::ExtendedDocument;
4use crate::system_data_contracts::load_system_data_contract;
5use crate::{
6    data_contract::DataContract, document::document_factory::DocumentFactory,
7    tests::utils::generate_random_identifier_struct,
8};
9use data_contracts::SystemDataContract;
10use platform_value::platform_value;
11use platform_version::version::PlatformVersion;
12
13pub fn get_masternode_reward_shares_documents_fixture(
14    protocol_version: u32,
15) -> (Vec<Document>, DataContract) {
16    let owner_id = generate_random_identifier_struct();
17    let pay_to_id = generate_random_identifier_struct();
18
19    let platform_version =
20        PlatformVersion::get(protocol_version).expect("expected to get platform version");
21
22    let data_contract =
23        load_system_data_contract(SystemDataContract::MasternodeRewards, platform_version)
24            .expect("should load masternode rewards contract");
25
26    let factory = DocumentFactory::new(protocol_version).expect("expected to make factory");
27
28    (
29        vec![factory
30            .create_document(
31                &data_contract,
32                owner_id,
33                String::from("rewardShare"),
34                platform_value!({
35                    "payToId": pay_to_id,
36                    "percentage" : 500u16,
37                }),
38            )
39            .expect("document for masternode reward shares contract should be created")],
40        data_contract,
41    )
42}
43
44pub fn get_masternode_reward_shares_data_contract_fixture(protocol_version: u32) -> DataContract {
45    let platform_version = PlatformVersion::get(protocol_version).expect("expected to get version");
46
47    load_system_data_contract(SystemDataContract::MasternodeRewards, platform_version)
48        .expect("should load masternode rewards contract")
49}
50
51#[cfg(feature = "extended-document")]
52pub fn get_masternode_reward_shares_extended_documents_fixture(
53    protocol_version: u32,
54) -> (Vec<ExtendedDocument>, DataContract) {
55    let platform_version = PlatformVersion::get(protocol_version).expect("expected to get version");
56
57    let owner_id = generate_random_identifier_struct();
58    let pay_to_id = generate_random_identifier_struct();
59    let data_contract =
60        load_system_data_contract(SystemDataContract::MasternodeRewards, platform_version)
61            .expect("should load masternode rewards contract");
62
63    let factory = DocumentFactory::new(protocol_version).expect("expected to make factory");
64
65    (
66        vec![factory
67            .create_extended_document(
68                &data_contract,
69                owner_id,
70                String::from("rewardShare"),
71                platform_value!({
72                    "payToId": pay_to_id,
73                    "percentage" : 500u16,
74                }),
75            )
76            .expect("document for masternode reward shares contract should be created")],
77        data_contract,
78    )
79}