dpp/tests/fixtures/
identity_create_transition_fixture.rs

1use dashcore::PrivateKey;
2use platform_value::BinaryData;
3use platform_value::{platform_value, Value};
4
5use crate::identity::{KeyType, Purpose, SecurityLevel};
6use crate::tests::fixtures::raw_instant_asset_lock_proof_fixture;
7use crate::version;
8use platform_value::string_encoding::{decode, Encoding};
9
10//3bufpwQjL5qsvuP4fmCKgXJrKG852DDMYfi9J6XKqPAT
11//[198, 23, 40, 120, 58, 93, 0, 165, 27, 49, 4, 117, 107, 204,  67, 46, 164, 216, 230, 135, 201, 92, 31, 155, 62, 131, 211, 177, 139, 175, 163, 237]
12
13pub fn identity_create_transition_fixture(one_time_private_key: Option<PrivateKey>) -> Value {
14    let asset_lock_proof = raw_instant_asset_lock_proof_fixture(one_time_private_key, None);
15
16    platform_value!({
17        "protocolVersion": version::LATEST_VERSION,
18        "type": 2u8,
19        "assetLockProof": asset_lock_proof,
20        "publicKeys": [
21            {
22                "id": 0u32,
23                "type": KeyType::ECDSA_SECP256K1 as u8,
24                "data": BinaryData::new(decode("AuryIuMtRrl/VviQuyLD1l4nmxi9ogPzC9LT7tdpo0di", Encoding::Base64).unwrap()),
25                "purpose": Purpose::AUTHENTICATION as u8,
26                "securityLevel": SecurityLevel::MASTER as u8,
27                "readOnly": false,
28                "signature": BinaryData::new(vec![0_u8; 65])
29            },
30        ],
31        "signature": BinaryData::new(vec![0_u8; 65])
32    })
33}