stellar_xdr/generated/
claimable_balance_flags.rs1#[allow(unused_imports, clippy::wildcard_imports)]
2use super::*;
3
4#[cfg_attr(feature = "alloc", derive(Default))]
17#[derive(Clone, Copy, Debug, Hash, PartialEq, Eq, PartialOrd, Ord)]
18#[cfg_attr(feature = "arbitrary", derive(Arbitrary))]
19#[cfg_attr(
20 all(feature = "serde", feature = "alloc"),
21 derive(serde::Serialize, serde::Deserialize),
22 serde(rename_all = "snake_case")
23)]
24#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
25#[repr(i32)]
26pub enum ClaimableBalanceFlags {
27 #[cfg_attr(feature = "alloc", default)]
28 ClaimableBalanceClawbackEnabledFlag = 1,
29}
30
31impl ClaimableBalanceFlags {
32 const _VARIANTS: &[ClaimableBalanceFlags] =
33 &[ClaimableBalanceFlags::ClaimableBalanceClawbackEnabledFlag];
34 pub const VARIANTS: [ClaimableBalanceFlags; Self::_VARIANTS.len()] = {
35 let mut arr = [Self::_VARIANTS[0]; Self::_VARIANTS.len()];
36 let mut i = 1;
37 while i < Self::_VARIANTS.len() {
38 arr[i] = Self::_VARIANTS[i];
39 i += 1;
40 }
41 arr
42 };
43 const _VARIANTS_STR: &[&str] = &["ClaimableBalanceClawbackEnabledFlag"];
44 pub const VARIANTS_STR: [&'static str; Self::_VARIANTS_STR.len()] = {
45 let mut arr = [Self::_VARIANTS_STR[0]; Self::_VARIANTS_STR.len()];
46 let mut i = 1;
47 while i < Self::_VARIANTS_STR.len() {
48 arr[i] = Self::_VARIANTS_STR[i];
49 i += 1;
50 }
51 arr
52 };
53
54 #[must_use]
55 pub const fn name(&self) -> &'static str {
56 match self {
57 Self::ClaimableBalanceClawbackEnabledFlag => "ClaimableBalanceClawbackEnabledFlag",
58 }
59 }
60
61 #[must_use]
62 pub const fn variants() -> [ClaimableBalanceFlags; Self::_VARIANTS.len()] {
63 Self::VARIANTS
64 }
65}
66
67impl Name for ClaimableBalanceFlags {
68 #[must_use]
69 fn name(&self) -> &'static str {
70 Self::name(self)
71 }
72}
73
74impl Variants<ClaimableBalanceFlags> for ClaimableBalanceFlags {
75 fn variants() -> slice::Iter<'static, ClaimableBalanceFlags> {
76 Self::VARIANTS.iter()
77 }
78}
79
80impl Enum for ClaimableBalanceFlags {}
81
82impl fmt::Display for ClaimableBalanceFlags {
83 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
84 f.write_str(self.name())
85 }
86}
87
88impl TryFrom<i32> for ClaimableBalanceFlags {
89 type Error = Error;
90
91 fn try_from(i: i32) -> Result<Self, Error> {
92 let e = match i {
93 1 => ClaimableBalanceFlags::ClaimableBalanceClawbackEnabledFlag,
94 #[allow(unreachable_patterns)]
95 _ => return Err(Error::Invalid),
96 };
97 Ok(e)
98 }
99}
100
101impl From<ClaimableBalanceFlags> for i32 {
102 #[must_use]
103 fn from(e: ClaimableBalanceFlags) -> Self {
104 e as Self
105 }
106}
107
108impl ReadXdr for ClaimableBalanceFlags {
109 #[cfg(feature = "std")]
110 fn read_xdr<R: Read>(r: &mut Limited<R>) -> Result<Self, Error> {
111 r.with_limited_depth(|r| {
112 let e = i32::read_xdr(r)?;
113 let v: Self = e.try_into()?;
114 Ok(v)
115 })
116 }
117}
118
119impl WriteXdr for ClaimableBalanceFlags {
120 #[cfg(feature = "std")]
121 fn write_xdr<W: Write>(&self, w: &mut Limited<W>) -> Result<(), Error> {
122 w.with_limited_depth(|w| {
123 let i: i32 = (*self).into();
124 i.write_xdr(w)
125 })
126 }
127}