dpp/document/serialization_traits/json_conversion/v0/
mod.rs

1use crate::document::serialization_traits::DocumentPlatformValueMethodsV0;
2use crate::ProtocolError;
3use platform_value::Identifier;
4use platform_version::version::PlatformVersion;
5use serde::Deserialize;
6use serde_json::Value as JsonValue;
7use std::convert::TryInto;
8
9pub trait DocumentJsonMethodsV0<'a>: DocumentPlatformValueMethodsV0<'a> {
10    fn to_json_with_identifiers_using_bytes(
11        &self,
12        platform_version: &PlatformVersion,
13    ) -> Result<JsonValue, ProtocolError>;
14    fn to_json(&self, platform_version: &PlatformVersion) -> Result<JsonValue, ProtocolError>;
15    fn from_json_value<S, E>(
16        document_value: JsonValue,
17        platform_version: &PlatformVersion,
18    ) -> Result<Self, ProtocolError>
19    where
20        for<'de> S: Deserialize<'de> + TryInto<Identifier, Error = E>,
21        E: Into<ProtocolError>,
22        Self: Sized;
23}