raiden_primitives/
serializers.rs

1#![warn(clippy::missing_docs_in_private_items)]
2
3use serde::{
4	Serialize,
5	Serializer,
6};
7
8use crate::{
9	traits::Checksum,
10	types::{
11		ChainID,
12		U64,
13	},
14};
15
16impl Serialize for ChainID {
17	fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
18	where
19		S: serde::Serializer,
20	{
21		let value: u64 = (*self).into();
22		serializer.serialize_str(&value.to_string())
23	}
24}
25
26impl Serialize for U64 {
27	fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
28	where
29		S: Serializer,
30	{
31		serializer.serialize_str(&self.to_string())
32	}
33}
34
35/// Serialize U256 into a string.
36pub fn u256_to_str<T, S>(v: &T, serializer: S) -> Result<S::Ok, S::Error>
37where
38	T: ToString,
39	S: Serializer,
40{
41	serializer.serialize_str(&v.to_string())
42}
43
44/// Return a string of a check-summed address.
45pub fn to_checksum_str<T, S>(v: &T, serializer: S) -> Result<S::Ok, S::Error>
46where
47	T: Checksum,
48	S: Serializer,
49{
50	serializer.serialize_str(&v.checksum())
51}