Skip to main content

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;
16#[cfg(feature = "json-conversion")]
17use crate::serialization::JsonConvertible;
18#[cfg(feature = "value-conversion")]
19use crate::serialization::ValueConvertible;
20use crate::ProtocolError;
21use bincode::{Decode, Encode};
22use derive_more::From;
23use platform_serialization_derive::{PlatformDeserialize, PlatformSerialize, PlatformSignable};
24use platform_versioning::PlatformVersioned;
25#[cfg(feature = "serde-conversion")]
26use serde::{Deserialize, Serialize};
27
28#[derive(
29    Debug,
30    Clone,
31    Encode,
32    Decode,
33    PlatformDeserialize,
34    PlatformSerialize,
35    PlatformSignable,
36    PlatformVersioned,
37    From,
38    PartialEq,
39)]
40#[cfg_attr(
41    feature = "serde-conversion",
42    derive(Serialize, Deserialize),
43    serde(tag = "$formatVersion")
44)]
45#[cfg_attr(
46    all(feature = "json-conversion", feature = "serde-conversion"),
47    derive(JsonConvertible)
48)]
49#[cfg_attr(feature = "value-conversion", derive(ValueConvertible))]
50#[platform_serialize(unversioned)] //versioned directly, no need to use platform_version
51#[platform_version_path_bounds(
52    "dpp.state_transition_serialization_versions.unshield_state_transition"
53)]
54pub enum UnshieldTransition {
55    #[cfg_attr(feature = "serde-conversion", serde(rename = "0"))]
56    V0(UnshieldTransitionV0),
57}
58
59impl OptionallyAssetLockProved for UnshieldTransition {}
60
61impl StateTransitionFieldTypes for UnshieldTransition {
62    fn signature_property_paths() -> Vec<&'static str> {
63        vec![]
64    }
65
66    fn identifiers_property_paths() -> Vec<&'static str> {
67        vec![]
68    }
69
70    fn binary_property_paths() -> Vec<&'static str> {
71        vec![]
72    }
73}