use neo_types::{NeoByteString, NeoValue};
use serde::{Deserialize, Serialize};
use serde_json::Value as JsonValue;
pub fn bytes_to_json<T: for<'de> Deserialize<'de>>(bytes: &NeoByteString) -> Option<T> {
crate::storage::read_json(bytes)
}
pub fn json_to_bytes<T: Serialize>(value: &T) -> neo_types::NeoResult<NeoByteString> {
crate::storage::write_json(value)
}
pub fn storage_struct(key: &NeoByteString, value: &NeoByteString) -> NeoValue {
crate::storage::struct_entry(key.clone(), value.clone())
}
pub fn json_from_value(value: &NeoValue) -> Option<JsonValue> {
crate::storage::value_to_json(value)
}