1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use std::any::type_name;
use serde::{de::DeserializeOwned, Serialize};
use cosmwasm_std::{StdError, StdResult};
use crate::Serde;
#[derive(Copy, Clone, Debug)]
pub struct Bincode2;
impl Serde for Bincode2 {
fn serialize<T: Serialize>(obj: &T) -> StdResult<Vec<u8>> {
bincode2::serialize(obj).map_err(|err| StdError::serialize_err(type_name::<T>(), err))
}
fn deserialize<T: DeserializeOwned>(data: &[u8]) -> StdResult<T> {
bincode2::deserialize(data).map_err(|err| StdError::parse_err(type_name::<T>(), err))
}
}