dpp/validation/
mod.rs

1#[cfg(feature = "validation")]
2pub(crate) use json_schema_validator::JsonSchemaValidator;
3
4pub use validation_result::{
5    ConsensusValidationResult, SimpleConsensusValidationResult, SimpleValidationResult,
6    ValidationResult,
7};
8
9#[cfg(feature = "validation")]
10use crate::version::PlatformVersion;
11#[cfg(feature = "validation")]
12use crate::ProtocolError;
13#[cfg(feature = "validation")]
14pub(crate) mod byte_array_keyword;
15#[cfg(feature = "validation")]
16pub mod json_schema_validator;
17#[cfg(feature = "validation")]
18pub(crate) mod meta_validators;
19pub mod operations;
20mod validation_result;
21
22#[cfg(feature = "validation")]
23/// Validator validates data of given type
24pub trait DataValidator {
25    // TODO We should remove it
26    // TODO, when GAT is available remove the reference in method and use: `type Item<'a>`
27    type Item;
28    fn validate(
29        &self,
30        data: &Self::Item,
31        platform_version: &PlatformVersion,
32    ) -> Result<SimpleConsensusValidationResult, ProtocolError>;
33}