Skip to main content

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}