1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use serde::{de::DeserializeOwned, Serialize};

use cosmwasm_std::StdResult;

use crate::Serde;

/// Use json for serialization
#[derive(Copy, Clone, Debug)]
pub struct Json;

impl Serde for Json {
    fn serialize<T: Serialize>(obj: &T) -> StdResult<Vec<u8>> {
        cosmwasm_std::to_vec(obj)
    }

    fn deserialize<T: DeserializeOwned>(data: &[u8]) -> StdResult<T> {
        cosmwasm_std::from_slice(data)
    }
}