dpp/tests/fixtures/
get_identity_update_transition_fixture.rs1use 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}