swapkit_rs/types/
quote_swap.rs1use rust_decimal::Decimal;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Serialize, Deserialize)]
18pub struct QuoteSwap {
19 from: String,
20 to: String,
21 parts: Vec<QuoteSwapPart>,
22}
23
24impl QuoteSwap {
25 #[must_use]
26 pub const fn get_from(&self) -> &String {
27 &self.from
28 }
29
30 #[must_use]
31 pub const fn get_to(&self) -> &String {
32 &self.to
33 }
34
35 #[must_use]
36 pub const fn get_parts(&self) -> &Vec<QuoteSwapPart> {
37 &self.parts
38 }
39}
40
41#[allow(clippy::module_name_repetitions)]
49#[derive(Debug, Clone, Serialize, Deserialize)]
50pub struct QuoteSwapPart {
51 provider: String,
52
53 #[serde(serialize_with = "rust_decimal::serde::str::serialize", deserialize_with = "rust_decimal::serde::float::deserialize")]
54 percentage: Decimal,
55}
56
57impl QuoteSwapPart {
58 #[must_use]
59 pub const fn get_provider(&self) -> &String {
60 &self.provider
61 }
62
63 #[must_use]
64 pub const fn get_percentage(&self) -> Decimal {
65 self.percentage
66 }
67}