dpp/state_transition/state_transitions/shielded/unshield_transition/
mod.rs

1pub mod accessors;
2pub mod methods;
3mod state_transition_estimated_fee_validation;
4mod state_transition_like;
5mod state_transition_validation;
6pub mod v0;
7mod version;
8
9use crate::state_transition::unshield_transition::v0::UnshieldTransitionV0;
10use crate::state_transition::unshield_transition::v0::UnshieldTransitionV0Signable;
11use crate::state_transition::StateTransitionFieldTypes;
12
13pub type UnshieldTransitionLatest = UnshieldTransitionV0;
14
15use crate::identity::state_transition::OptionallyAssetLockProved;
16use crate::ProtocolError;
17use bincode::{Decode, Encode};
18use derive_more::From;
19use platform_serialization_derive::{PlatformDeserialize, PlatformSerialize, PlatformSignable};
20use platform_versioning::PlatformVersioned;
21#[cfg(feature = "serde-conversion")]
22use serde::{Deserialize, Serialize};
23
24#[derive(
25    Debug,
26    Clone,
27    Encode,
28    Decode,
29    PlatformDeserialize,
30    PlatformSerialize,
31    PlatformSignable,
32    PlatformVersioned,
33    From,
34    PartialEq,
35)]
36#[cfg_attr(
37    feature = "serde-conversion",
38    derive(Serialize, Deserialize),
39    serde(tag = "$version")
40)]
41#[platform_serialize(unversioned)] //versioned directly, no need to use platform_version
42#[platform_version_path_bounds(
43    "dpp.state_transition_serialization_versions.unshield_state_transition"
44)]
45pub enum UnshieldTransition {
46    #[cfg_attr(feature = "serde-conversion", serde(rename = "0"))]
47    V0(UnshieldTransitionV0),
48}
49
50impl OptionallyAssetLockProved for UnshieldTransition {}
51
52impl StateTransitionFieldTypes for UnshieldTransition {
53    fn signature_property_paths() -> Vec<&'static str> {
54        vec![]
55    }
56
57    fn identifiers_property_paths() -> Vec<&'static str> {
58        vec![]
59    }
60
61    fn binary_property_paths() -> Vec<&'static str> {
62        vec![]
63    }
64}