dpp/data_contract/methods/validate_update/
mod.rs

1use crate::block::block_info::BlockInfo;
2use crate::prelude::DataContract;
3use platform_version::version::PlatformVersion;
4
5mod v0;
6use crate::validation::SimpleConsensusValidationResult;
7use crate::ProtocolError;
8pub use v0::*;
9
10impl DataContractUpdateValidationMethodsV0 for DataContract {
11    fn validate_update(
12        &self,
13        data_contract: &DataContract,
14        block_info: &BlockInfo,
15        platform_version: &PlatformVersion,
16    ) -> Result<SimpleConsensusValidationResult, ProtocolError> {
17        match platform_version
18            .dpp
19            .contract_versions
20            .methods
21            .validate_update
22        {
23            0 => self.validate_update_v0(data_contract, block_info, platform_version),
24            version => Err(ProtocolError::UnknownVersionMismatch {
25                method: "DataContract::validate_update".to_string(),
26                known_versions: vec![0],
27                received: version,
28            }),
29        }
30    }
31}