dpp/tests/fixtures/
get_identity_update_transition_fixture.rs

1use crate::state_transition::identity_update_transition::v0::IdentityUpdateTransitionV0;
2use crate::state_transition::identity_update_transition::IdentityUpdateTransition;
3use crate::state_transition::public_key_in_creation::v0::IdentityPublicKeyInCreationV0;
4
5use crate::version::PlatformVersion;
6use crate::{
7    identity::{KeyType, Purpose, SecurityLevel},
8    tests::utils::generate_random_identifier_struct,
9};
10use platform_value::string_encoding::Encoding;
11use platform_value::BinaryData;
12
13pub fn get_identity_update_transition_fixture(
14    platform_version: PlatformVersion,
15) -> IdentityUpdateTransition {
16    match platform_version
17        .dpp
18        .state_transition_serialization_versions
19        .identity_update_state_transition
20        .default_current_version
21    {
22        0 => IdentityUpdateTransitionV0 {
23            signature: BinaryData::new(vec![0; 65]),
24            signature_public_key_id: 0,
25            identity_id: generate_random_identifier_struct(),
26            revision: 0,
27            add_public_keys: vec![IdentityPublicKeyInCreationV0 {
28                id: 3,
29                key_type: KeyType::ECDSA_SECP256K1,
30                purpose: Purpose::AUTHENTICATION,
31                read_only: false,
32                data: BinaryData::from_string(
33                    "AkVuTKyF3YgKLAQlLEtaUL2HTditwGILfWUVqjzYnIgH",
34                    Encoding::Base64,
35                )
36                .unwrap(),
37                security_level: SecurityLevel::MASTER,
38                signature: BinaryData::new(vec![0; 65]),
39                contract_bounds: None,
40            }
41            .into()],
42            disable_public_keys: vec![0],
43            ..Default::default()
44        }
45        .into(),
46        _ => unimplemented!("not yet implemented get_identity_update_transition_fixture"),
47    }
48}