dpp/state_transition/
state_transition_factory.rs

1use crate::consensus::basic::decode::SerializedObjectParsingError;
2use crate::consensus::basic::BasicError;
3use crate::consensus::ConsensusError;
4use crate::serialization::PlatformDeserializable;
5use crate::state_transition::StateTransition;
6use crate::ProtocolError;
7
8#[derive(Clone)]
9pub struct StateTransitionFactory;
10
11impl StateTransitionFactory {
12    pub fn create_from_buffer(&self, buffer: &[u8]) -> Result<StateTransition, ProtocolError> {
13        StateTransition::deserialize_from_bytes(buffer).map_err(|e| {
14            ConsensusError::BasicError(BasicError::SerializedObjectParsingError(
15                SerializedObjectParsingError::new(format!("Decode protocol entity: {:#?}", e)),
16            ))
17            .into()
18        })
19    }
20}