dpp/tests/fixtures/
identity_credit_withdrawal_transition_fixture.rs

1use crate::identity::core_script::CoreScript;
2use crate::prelude::Identifier;
3use crate::prelude::Revision;
4use dashcore::{PubkeyHash, ScriptBuf};
5use platform_value::string_encoding::{encode, Encoding};
6use platform_value::BinaryData;
7use platform_value::{platform_value, Value};
8use serde_json::{json, Value as JsonValue};
9
10use crate::withdrawal::Pooling;
11use crate::{state_transition::StateTransitionType, version};
12
13pub fn identity_credit_withdrawal_transition_fixture_raw_object() -> Value {
14    platform_value!({
15        "protocolVersion": version::LATEST_VERSION,
16        "type": StateTransitionType::IdentityCreditWithdrawal as u8,
17        "identityId": Identifier::from([1_u8; 32]),
18        "amount": 1042u64,
19        "coreFeePerByte": 3u32,
20        "pooling": Pooling::Never as u8,
21        "outputScript": CoreScript::new(ScriptBuf::new_p2pkh(&PubkeyHash::from_hex("0000000000000000000000000000000000000000").unwrap())),
22        "revision": 1 as Revision,
23        "signaturePublicKeyId": 0u32,
24        "signature": BinaryData::new(vec![0_u8; 65]),
25    })
26}
27
28pub fn identity_credit_withdrawal_transition_fixture_json() -> JsonValue {
29    json!({
30        "protocolVersion": version::LATEST_VERSION,
31        "type": StateTransitionType::IdentityCreditWithdrawal,
32        "identityId": encode(&[1_u8; 32], Encoding::Base58),
33        "amount": 1042,
34        "coreFeePerByte": 3,
35        "pooling": Pooling::Never,
36        "outputScript": encode(&ScriptBuf::new_p2pkh(&PubkeyHash::from_hex("0000000000000000000000000000000000000000").unwrap()).to_bytes(), Encoding::Base64),
37        "signature": encode(&[0_u8; 65], Encoding::Base64),
38        "signaturePublicKeyId": 0,
39        "revision": 1,
40    })
41}