cardano_serialization_lib/serialization/block/
fixed_transaction_body.rs

1use crate::*;
2use crate::serialization::utils::{deserilized_with_orig_bytes};
3
4impl Deserialize for FixedTransactionBody {
5    fn deserialize<R: BufRead + Seek>(raw: &mut Deserializer<R>) -> Result<Self, DeserializeError> {
6        let (body, orig_bytes) = deserilized_with_orig_bytes(raw, |raw| -> Result<_, DeserializeError> {
7            let body = TransactionBody::deserialize(raw)?;
8            Ok(body)
9        }).map_err(|e| e.annotate("TransactionBody"))?;
10        let hash = TransactionHash(blake2b256(orig_bytes.as_ref()));
11        Ok(FixedTransactionBody {
12            body,
13            tx_hash: hash,
14            original_bytes: orig_bytes,
15        })
16    }
17}