drive/state_transition_action/shielded/unshield/v0/mod.rs
1mod transformer;
2
3use crate::state_transition_action::shielded::ShieldedActionNote;
4use dpp::address_funds::PlatformAddress;
5use dpp::fee::Credits;
6
7/// Unshield transition action v0
8#[derive(Debug, Clone)]
9pub struct UnshieldTransitionActionV0 {
10 /// The address receiving unshielded funds
11 pub output_address: PlatformAddress,
12 /// Amount being unshielded
13 pub amount: Credits,
14 /// Notes from the orchard bundle actions
15 pub notes: Vec<ShieldedActionNote>,
16 /// The anchor used for verification
17 pub anchor: [u8; 32],
18 /// Shielded fee paid to proposers, carved out of `amount` (the recipient
19 /// receives `amount - fee_amount`). Equals `compute_shielded_unshield_fee`
20 /// (the base shielded minimum fee plus the flat `AddBalanceToAddress`
21 /// output-write storage cost).
22 pub fee_amount: Credits,
23 /// Current total balance of the shielded pool
24 pub current_total_balance: Credits,
25}