Skip to main content

dpp/errors/consensus/state/data_trigger/
mod.rs

1use crate::consensus::state::data_trigger::data_trigger_condition_error::DataTriggerConditionError;
2use crate::consensus::state::data_trigger::data_trigger_execution_error::DataTriggerExecutionError;
3use crate::consensus::state::data_trigger::data_trigger_invalid_result_error::DataTriggerInvalidResultError;
4use crate::consensus::state::state_error::StateError;
5use crate::consensus::ConsensusError;
6use crate::errors::ProtocolError;
7use bincode::{Decode, DecodeUntrusted, Encode};
8use platform_serialization_derive::{
9    PlatformDeserializeTrusted, PlatformDeserializeUntrusted, PlatformSerialize,
10};
11use thiserror::Error;
12
13pub mod data_trigger_condition_error;
14pub mod data_trigger_execution_error;
15pub mod data_trigger_invalid_result_error;
16
17#[derive(
18    Error,
19    Debug,
20    PartialEq,
21    Encode,
22    Decode,
23    PlatformSerialize,
24    PlatformDeserializeTrusted,
25    PlatformDeserializeUntrusted,
26    Clone,
27    DecodeUntrusted,
28)]
29pub enum DataTriggerError {
30    /*
31
32    DO NOT CHANGE ORDER OF VARIANTS WITHOUT INTRODUCING OF NEW VERSION
33
34    */
35    #[error(transparent)]
36    DataTriggerConditionError(DataTriggerConditionError),
37
38    #[error(transparent)]
39    DataTriggerExecutionError(DataTriggerExecutionError),
40
41    #[error(transparent)]
42    DataTriggerInvalidResultError(DataTriggerInvalidResultError),
43}
44
45impl From<DataTriggerError> for ConsensusError {
46    fn from(error: DataTriggerError) -> Self {
47        Self::StateError(StateError::DataTriggerError(error))
48    }
49}