Skip to main content

miden_objects/conversion/
transaction_effects.rs

1use miden_protocol::transaction::TransactionEffects;
2
3use crate::proto;
4
5#[cfg(test)]
6mod tests;
7
8// TRANSACTION EFFECTS
9// ================================================================================================
10
11impl From<&TransactionEffects> for proto::transaction::TransactionEffectsV1 {
12    fn from(effects: &TransactionEffects) -> Self {
13        Self {
14            initial_state_commitment: Some(effects.initial_state_commitment().into()),
15            final_state_commitment: Some(effects.final_state_commitment().into()),
16            account_patch: Some(effects.account_patch().into()),
17            input_notes: Some(effects.input_notes().into()),
18            output_notes: Some(effects.output_notes().into()),
19            ref_block_number: Some(effects.ref_block_number().into()),
20            ref_block_commitment: Some(effects.ref_block_commitment().into()),
21            expiration_block_num: Some(effects.expiration_block_num().into()),
22        }
23    }
24}
25
26impl From<&TransactionEffects> for proto::transaction::TransactionEffects {
27    fn from(effects: &TransactionEffects) -> Self {
28        use proto::transaction::transaction_effects::Version;
29
30        Self {
31            version: Some(Version::V1(effects.into())),
32        }
33    }
34}
35
36impl From<TransactionEffects> for proto::transaction::TransactionEffects {
37    fn from(effects: TransactionEffects) -> Self {
38        Self::from(&effects)
39    }
40}