dpp/data_contract/config/methods/validate_update/
mod.rs1use crate::data_contract::config::DataContractConfig;
2use crate::validation::SimpleConsensusValidationResult;
3use crate::ProtocolError;
4use platform_value::Identifier;
5use platform_version::version::PlatformVersion;
6
7mod v0;
8mod v1;
9
10impl DataContractConfig {
11 pub fn validate_update(
12 &self,
13 new_config: &DataContractConfig,
14 contract_id: Identifier,
15 platform_version: &PlatformVersion,
16 ) -> Result<SimpleConsensusValidationResult, ProtocolError> {
17 match platform_version
18 .dpp
19 .validation
20 .data_contract
21 .validate_config_update
22 {
23 0 => Ok(self.validate_update_v0(new_config, contract_id)),
24 1 => Ok(self.validate_update_v1(new_config, contract_id, platform_version)),
25 version => Err(ProtocolError::UnknownVersionMismatch {
26 method: "validate_update".to_string(),
27 known_versions: vec![0, 1],
28 received: version,
29 }),
30 }
31 }
32}