stellar_xdr/generated/
contract_code_cost_inputs.rs1#[allow(unused_imports, clippy::wildcard_imports)]
2use super::*;
3
4#[cfg_attr(feature = "alloc", derive(Default))]
23#[derive(Clone, Debug, Hash, PartialEq, Eq, PartialOrd, Ord)]
24#[cfg_attr(feature = "serde", cfg_eval::cfg_eval)]
25#[cfg_attr(feature = "arbitrary", derive(Arbitrary))]
26#[cfg_attr(
27 all(feature = "serde", feature = "alloc"),
28 serde_with::serde_as,
29 derive(serde::Serialize, serde::Deserialize),
30 serde(rename_all = "snake_case")
31)]
32#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
33pub struct ContractCodeCostInputs {
34 pub ext: ExtensionPoint,
35 pub n_instructions: u32,
36 pub n_functions: u32,
37 pub n_globals: u32,
38 pub n_table_entries: u32,
39 pub n_types: u32,
40 pub n_data_segments: u32,
41 pub n_elem_segments: u32,
42 pub n_imports: u32,
43 pub n_exports: u32,
44 pub n_data_segment_bytes: u32,
45}
46
47impl ReadXdr for ContractCodeCostInputs {
48 #[cfg(feature = "std")]
49 fn read_xdr<R: Read>(r: &mut Limited<R>) -> Result<Self, Error> {
50 r.with_limited_depth(|r| {
51 Ok(Self {
52 ext: ExtensionPoint::read_xdr(r)?,
53 n_instructions: u32::read_xdr(r)?,
54 n_functions: u32::read_xdr(r)?,
55 n_globals: u32::read_xdr(r)?,
56 n_table_entries: u32::read_xdr(r)?,
57 n_types: u32::read_xdr(r)?,
58 n_data_segments: u32::read_xdr(r)?,
59 n_elem_segments: u32::read_xdr(r)?,
60 n_imports: u32::read_xdr(r)?,
61 n_exports: u32::read_xdr(r)?,
62 n_data_segment_bytes: u32::read_xdr(r)?,
63 })
64 })
65 }
66}
67
68impl WriteXdr for ContractCodeCostInputs {
69 #[cfg(feature = "std")]
70 fn write_xdr<W: Write>(&self, w: &mut Limited<W>) -> Result<(), Error> {
71 w.with_limited_depth(|w| {
72 self.ext.write_xdr(w)?;
73 self.n_instructions.write_xdr(w)?;
74 self.n_functions.write_xdr(w)?;
75 self.n_globals.write_xdr(w)?;
76 self.n_table_entries.write_xdr(w)?;
77 self.n_types.write_xdr(w)?;
78 self.n_data_segments.write_xdr(w)?;
79 self.n_elem_segments.write_xdr(w)?;
80 self.n_imports.write_xdr(w)?;
81 self.n_exports.write_xdr(w)?;
82 self.n_data_segment_bytes.write_xdr(w)?;
83 Ok(())
84 })
85 }
86}