near_api_types/utils/
mod.rs1pub mod base64_bytes {
3 use base64::Engine;
4 use serde::{de, Deserialize, Deserializer, Serializer};
5
6 pub fn serialize<S>(bytes: &[u8], serializer: S) -> Result<S::Ok, S::Error>
7 where
8 S: Serializer,
9 {
10 serializer.serialize_str(&base64::engine::general_purpose::STANDARD.encode(bytes))
11 }
12
13 pub fn deserialize<'de, D>(deserializer: D) -> Result<Vec<u8>, D::Error>
14 where
15 D: Deserializer<'de>,
16 {
17 let s: String = Deserialize::deserialize(deserializer)?;
18 base64::engine::general_purpose::STANDARD
19 .decode(s.as_str())
20 .map_err(de::Error::custom)
21 }
22}
23
24pub mod near_gas_as_u64 {
25 use near_gas::NearGas;
26 use serde::Serializer;
27
28 pub fn serialize<S>(value: &NearGas, serializer: S) -> Result<S::Ok, S::Error>
29 where
30 S: Serializer,
31 {
32 serializer.serialize_u64(value.as_gas())
33 }
34}