diff --git a/src/types/mod.rs b/src/types/mod.rs index bf11c2d..21cd2c1 100644 --- a/src/types/mod.rs +++ b/src/types/mod.rs @@ -9,3 +9,6 @@ pub use pubkey::Pubkey; mod sig; pub use sig::Sig; + +mod time; +pub use time::Time; diff --git a/src/types/time.rs b/src/types/time.rs new file mode 100644 index 0000000..f91f2ee --- /dev/null +++ b/src/types/time.rs @@ -0,0 +1,24 @@ +use std::fmt; + +#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)] +pub struct Time(pub u64); + +impl fmt::Display for Time { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "{}", self.0) + } +} + +impl Time { + pub fn as_u64(&self) -> u64 { + self.0 + } + + pub fn min() -> Time { + Time(0) + } + + pub fn max() -> Time { + Time(u64::MAX) + } +}