dpp/validation/json_schema_validator/methods/validate/
mod.rs1use crate::validation::{JsonSchemaValidator, SimpleConsensusValidationResult};
2use crate::version::PlatformVersion;
3use crate::ProtocolError;
4use serde_json::Value as JsonValue;
5
6mod v0;
7
8impl JsonSchemaValidator {
9 pub fn validate(
10 &self,
11 instance: &JsonValue,
12 platform_version: &PlatformVersion,
13 ) -> Result<SimpleConsensusValidationResult, ProtocolError> {
14 match platform_version
15 .dpp
16 .validation
17 .json_schema_validator
18 .validate
19 {
20 0 => self.validate_v0(instance),
21 version => Err(ProtocolError::UnknownVersionMismatch {
22 method: "JsonSchemaValidator::validate".to_string(),
23 known_versions: vec![0],
24 received: version,
25 }),
26 }
27 }
28}