hermit_toolkit_serialization/
lib.rs1use serde::{de::DeserializeOwned, Serialize};
2
3use cosmwasm_std::StdResult;
4
5#[cfg(feature = "base64")]
6mod base64;
7#[cfg(feature = "bincode2")]
8mod bincode2;
9#[cfg(feature = "json")]
10mod json;
11
12#[cfg(all(feature = "bincode2", feature = "base64"))]
13pub use crate::base64::Base64Bincode2Of;
14#[cfg(all(feature = "json", feature = "base64"))]
15pub use crate::base64::Base64JsonOf;
16#[cfg(feature = "base64")]
17pub use crate::base64::{Base64, Base64Of};
18
19#[cfg(feature = "bincode2")]
20pub use crate::bincode2::Bincode2;
21#[cfg(feature = "json")]
22pub use crate::json::Json;
23
24pub trait Serde {
31 fn serialize<T: Serialize>(obj: &T) -> StdResult<Vec<u8>>;
32 fn deserialize<T: DeserializeOwned>(data: &[u8]) -> StdResult<T>;
33}