stellar_xdr/generated/
soroban_transaction_data.rs1#[allow(unused_imports, clippy::wildcard_imports)]
2use super::*;
3
4#[cfg_attr(feature = "alloc", derive(Default))]
31#[derive(Clone, Debug, Hash, PartialEq, Eq, PartialOrd, Ord)]
32#[cfg_attr(feature = "serde", cfg_eval::cfg_eval)]
33#[cfg_attr(feature = "arbitrary", derive(Arbitrary))]
34#[cfg_attr(
35 all(feature = "serde", feature = "alloc"),
36 serde_with::serde_as,
37 derive(serde::Serialize, serde::Deserialize),
38 serde(rename_all = "snake_case")
39)]
40#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
41pub struct SorobanTransactionData {
42 pub ext: SorobanTransactionDataExt,
43 pub resources: SorobanResources,
44 #[cfg_attr(
45 all(feature = "serde", feature = "alloc"),
46 serde_as(as = "NumberOrString")
47 )]
48 pub resource_fee: i64,
49}
50
51impl ReadXdr for SorobanTransactionData {
52 #[cfg(feature = "std")]
53 fn read_xdr<R: Read>(r: &mut Limited<R>) -> Result<Self, Error> {
54 r.with_limited_depth(|r| {
55 Ok(Self {
56 ext: SorobanTransactionDataExt::read_xdr(r)?,
57 resources: SorobanResources::read_xdr(r)?,
58 resource_fee: i64::read_xdr(r)?,
59 })
60 })
61 }
62}
63
64impl WriteXdr for SorobanTransactionData {
65 #[cfg(feature = "std")]
66 fn write_xdr<W: Write>(&self, w: &mut Limited<W>) -> Result<(), Error> {
67 w.with_limited_depth(|w| {
68 self.ext.write_xdr(w)?;
69 self.resources.write_xdr(w)?;
70 self.resource_fee.write_xdr(w)?;
71 Ok(())
72 })
73 }
74}