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