1use serde::{Deserialize, Deserializer, Serialize, Serializer};
2
3#[derive(Debug, PartialEq, Eq)]
10pub struct Uint(serde_bare::Uint);
11
12impl Uint {
13 pub fn u64(&self) -> u64 {
15 self.0 .0
16 }
17}
18
19impl Serialize for Uint {
20 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
21 where
22 S: Serializer,
23 {
24 self.0.serialize(serializer)
25 }
26}
27
28impl<'de> Deserialize<'de> for Uint {
29 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
30 where
31 D: Deserializer<'de>,
32 {
33 let u = serde_bare::Uint::deserialize(deserializer)?;
34 Ok(Self(u))
35 }
36}
37
38impl From<u64> for Uint {
39 fn from(u: u64) -> Self {
40 Self(serde_bare::Uint(u))
41 }
42}