dpp/state_transition/state_transitions/shielded/shield_transition/
mod.rs1pub 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)] #[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}