dpp/document/serialization_traits/json_conversion/v0/
mod.rs1use 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}