midgard_rs/types/
height_stamp.rs

1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3use serde_with::formats::Flexible;
4use serde_with::TimestampSeconds;
5
6/*
7*** HeightStamp Scheme ***
8
9{
10		"height": 0,
11		"timestamp": 0
12}
13*/
14
15#[serde_with::serde_as]
16#[derive(Serialize, Deserialize, Debug, Clone)]
17pub struct HeightStamp {
18	height: u64,
19
20	#[serde_as(as = "TimestampSeconds<String, Flexible>")]
21	timestamp: DateTime<Utc>,
22}
23
24impl HeightStamp {
25	#[must_use]
26	pub const fn get_height(&self) -> u64 {
27		self.height
28	}
29
30	#[must_use]
31	pub const fn get_timestamp(&self) -> DateTime<Utc> {
32		self.timestamp
33	}
34}