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