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 ) -> ConsensusValidationResult<Self> {
13 let notes: Vec<ShieldedActionNote> =
14 value.actions.iter().map(ShieldedActionNote::from).collect();
15
16 ConsensusValidationResult::new_with_data(UnshieldTransitionActionV0 {
17 output_address: value.output_address,
18 amount: value.unshielding_amount,
19 notes,
20 anchor: value.anchor,
21 fee_amount: 0, current_total_balance,
23 })
24 }
25}