dpp/tests/fixtures/
get_document_transitions_fixture.rs1use crate::data_contract::document_type::DocumentTypeRef;
2use crate::document::document_factory::DocumentFactory;
3use platform_value::{Bytes32, Identifier};
4use platform_version::version::PlatformVersion;
5use std::collections::BTreeMap;
6
7use crate::document::Document;
8use crate::state_transition::batch_transition::accessors::DocumentsBatchTransitionAccessorsV0;
9use crate::state_transition::batch_transition::batched_transition::BatchedTransition;
10use crate::state_transition::batch_transition::batched_transition::document_transition_action_type::DocumentTransitionActionType;
11use crate::tokens::token_payment_info::TokenPaymentInfo;
12
13pub fn get_batched_transitions_fixture<'a>(
14 documents: impl IntoIterator<
15 Item = (
16 DocumentTransitionActionType,
17 Vec<(
18 Document,
19 DocumentTypeRef<'a>,
20 Bytes32,
21 Option<TokenPaymentInfo>,
22 )>,
23 ),
24 >,
25 nonce_counter: &mut BTreeMap<(Identifier, Identifier), u64>, ) -> Vec<BatchedTransition> {
27 let protocol_version = PlatformVersion::latest().protocol_version;
28 let document_factory =
29 DocumentFactory::new(protocol_version).expect("expected to get document factory");
30
31 document_factory
32 .create_state_transition(documents, nonce_counter)
33 .expect("the transitions should be created")
34 .transitions_iter()
35 .map(|batched_transition_ref| batched_transition_ref.to_owned_transition())
36 .collect()
37}