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