drive/state_transition_action/shielded/shielded_transfer/
transformer.rs

1use crate::state_transition_action::shielded::shielded_transfer::v0::ShieldedTransferTransitionActionV0;
2use crate::state_transition_action::shielded::shielded_transfer::ShieldedTransferTransitionAction;
3use dpp::fee::Credits;
4use dpp::prelude::ConsensusValidationResult;
5use dpp::state_transition::shielded_transfer_transition::ShieldedTransferTransition;
6
7impl ShieldedTransferTransitionAction {
8    /// Transforms the state transition into an action
9    pub fn try_from_transition(
10        value: &ShieldedTransferTransition,
11        fee_amount: Credits,
12        current_total_balance: Credits,
13    ) -> ConsensusValidationResult<Self> {
14        match value {
15            ShieldedTransferTransition::V0(v0) => {
16                let result = ShieldedTransferTransitionActionV0::try_from_transition(
17                    v0,
18                    fee_amount,
19                    current_total_balance,
20                );
21                result.map(|action| action.into())
22            }
23        }
24    }
25}