drive/state_transition_action/shielded/unshield/v0/
transformer.rs1use crate::state_transition_action::shielded::unshield::v0::UnshieldTransitionActionV0;
2use crate::state_transition_action::shielded::ShieldedActionNote;
3use dpp::fee::Credits;
4use dpp::prelude::ConsensusValidationResult;
5use dpp::state_transition::state_transitions::shielded::unshield_transition::v0::UnshieldTransitionV0;
6
7impl UnshieldTransitionActionV0 {
8 pub fn try_from_transition(
10 value: &UnshieldTransitionV0,
11 current_total_balance: Credits,
12 fee_amount: Credits,
13 ) -> ConsensusValidationResult<Self> {
14 let notes: Vec<ShieldedActionNote> =
15 value.actions.iter().map(ShieldedActionNote::from).collect();
16
17 ConsensusValidationResult::new_with_data(UnshieldTransitionActionV0 {
18 output_address: value.output_address,
19 amount: value.unshielding_amount,
20 notes,
21 anchor: value.anchor,
22 fee_amount,
23 current_total_balance,
24 })
25 }
26}