dpp/state_transition/
state_transition_factory.rs1use 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}