dpp/validation/json_schema_validator/methods/validate/
mod.rs

1use 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}