dpp/tests/fixtures/
identity_create_transition_fixture.rs1use 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
10pub 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}