dpp/data_contract/v1/conversion/
json.rs1use crate::data_contract::conversion::json::DataContractJsonConversionMethodsV0;
2use crate::data_contract::conversion::value::v0::DataContractValueConversionMethodsV0;
3
4use crate::version::PlatformVersion;
5use crate::ProtocolError;
6
7use crate::data_contract::DataContractV1;
8use serde_json::Value as JsonValue;
9use std::convert::TryInto;
10
11impl DataContractJsonConversionMethodsV0 for DataContractV1 {
12 fn from_json(
13 json_value: JsonValue,
14 full_validation: bool,
15 platform_version: &PlatformVersion,
16 ) -> Result<Self, ProtocolError> {
17 Self::from_value(json_value.into(), full_validation, platform_version)
18 }
19
20 fn to_json(&self, platform_version: &PlatformVersion) -> Result<JsonValue, ProtocolError> {
22 self.to_value(platform_version)?
23 .try_into()
24 .map_err(ProtocolError::ValueError)
25
26 }
28
29 fn to_validating_json(
31 &self,
32 platform_version: &PlatformVersion,
33 ) -> Result<JsonValue, ProtocolError> {
34 self.to_value(platform_version)?
35 .try_into_validating_json()
36 .map_err(ProtocolError::ValueError)
37 }
38}