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