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

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