midgard_rs/types/
savers_pool.rs1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3use serde_aux::prelude::*;
4use serde_with::formats::Flexible;
5use serde_with::TimestampSeconds;
6
7#[serde_with::serde_as]
26#[derive(Debug, Serialize, Deserialize, Clone)]
27pub struct SaversPool {
28 #[serde(rename = "assetAdded", deserialize_with = "deserialize_number_from_string")]
29 asset_added: u64,
30
31 #[serde(rename = "assetAddress")]
32 asset_address: String,
33
34 #[serde(rename = "assetDeposit", deserialize_with = "deserialize_number_from_string")]
35 asset_deposit: u64,
36
37 #[serde(rename = "assetRedeem", deserialize_with = "deserialize_number_from_string")]
38 asset_redeem: u64,
39
40 #[serde(rename = "assetWithdrawn", deserialize_with = "deserialize_number_from_string")]
41 asset_withdrawn: u64,
42
43 #[serde_as(as = "TimestampSeconds<String, Flexible>")]
44 #[serde(rename = "dateFirstAdded")]
45 date_first_added: DateTime<Utc>,
46
47 #[serde_as(as = "TimestampSeconds<String, Flexible>")]
48 #[serde(rename = "dateLastAdded")]
49 date_last_added: DateTime<Utc>,
50
51 pool: String,
52
53 #[serde(rename = "saverUnits", deserialize_with = "deserialize_number_from_string")]
54 saver_units: u64,
55}
56
57impl SaversPool {
58 #[must_use]
59 pub const fn get_asset_added(&self) -> &u64 {
60 &self.asset_added
61 }
62
63 #[must_use]
64 pub fn get_asset_address(&self) -> &str {
65 &self.asset_address
66 }
67
68 #[must_use]
69 pub const fn get_asset_deposit(&self) -> &u64 {
70 &self.asset_deposit
71 }
72
73 #[must_use]
74 pub const fn get_asset_redeem(&self) -> &u64 {
75 &self.asset_redeem
76 }
77
78 #[must_use]
79 pub const fn get_asset_withdrawn(&self) -> &u64 {
80 &self.asset_withdrawn
81 }
82
83 #[must_use]
84 pub const fn get_date_first_added(&self) -> &DateTime<Utc> {
85 &self.date_first_added
86 }
87
88 #[must_use]
89 pub const fn get_date_last_added(&self) -> &DateTime<Utc> {
90 &self.date_last_added
91 }
92
93 #[must_use]
94 pub fn get_pool(&self) -> &str {
95 &self.pool
96 }
97
98 #[must_use]
99 pub const fn get_saver_units(&self) -> &u64 {
100 &self.saver_units
101 }
102}