dubp_common/
block_number.rs1use crate::*;
2
3#[derive(
5 Copy,
6 Clone,
7 Debug,
8 Default,
9 Deserialize,
10 Eq,
11 Hash,
12 Ord,
13 PartialEq,
14 PartialOrd,
15 Serialize,
16 zerocopy::AsBytes,
17 zerocopy::FromBytes,
18)]
19#[repr(transparent)]
20pub struct BlockNumber(pub u32);
21
22impl Display for BlockNumber {
23 fn fmt(&self, f: &mut Formatter) -> Result<(), FmtError> {
24 write!(f, "{}", self.0)
25 }
26}
27
28impl FromStr for BlockNumber {
29 type Err = std::num::ParseIntError;
30
31 fn from_str(s: &str) -> Result<Self, Self::Err> {
32 u32::from_str(s).map(BlockNumber)
33 }
34}