pub fn output_values_to_sprout(&self) -> Box<dyn Iterator<Item = &Amount<NonNegative>> + '_> {
        match self {
            // JoinSplits with Bctv14 Proofs
            Transaction::V2 {
                joinsplit_data: Some(joinsplit_data),
                ..
            }
            | Transaction::V3 {
                joinsplit_data: Some(joinsplit_data),
                ..
            } => Box::new(
                joinsplit_data
                    .joinsplits()
                    .map(|joinsplit| &joinsplit.vpub_old),
            ),
            // JoinSplits with Groth Proofs
            Transaction::V4 {
                joinsplit_data: Some(joinsplit_data),
                ..
            } => Box::new(
                joinsplit_data
                    .joinsplits()
                    .map(|joinsplit| &joinsplit.vpub_old),
            ),
            // No JoinSplits
            Transaction::V1 { .. }
            | Transaction::V2 {
                joinsplit_data: None,
                ..
            }
            | Transaction::V3 {
                joinsplit_data: None,
                ..
            }
            | Transaction::V4 {
                joinsplit_data: None,
                ..
            }
            | Transaction::V5 { .. } => Box::new(std::iter::empty()),
        }
    }
/// Returns the `vpub_old` fields from `JoinSplit`s in this transaction,
/// regardless of version, in the order they appear in the transaction.
///
/// These values are added to the sprout chain value pool,
/// and removed from the value pool of this transaction.
Returns the `vpub_old` fields from `JoinSplit`s in this transaction,
regardless of version, in the order they appear in the transaction.

These values are added to the sprout chain value pool,
and removed from the value pool of this transaction.
Returns the ` vpub_old ` fields from ` JoinSplit ` s in this transaction regardless of version in the order they appear in the transaction . These values are added to the sprout chain value pool and removed from the value pool of this transaction .
pub fn output_values_to_sprout(&self) -> Box<dyn Iterator<Item = &Amount<NonNegative>> + '_> {
        match self {
            // JoinSplits with Bctv14 Proofs
            Transaction::V2 {
                joinsplit_data: Some(joinsplit_data),
                ..
            }
            | Transaction::V3 {
                joinsplit_data: Some(joinsplit_data),
                ..
            } => Box::new(
                joinsplit_data
                    .joinsplits()
                    .map(|joinsplit| &joinsplit.vpub_old),
            ),
            // JoinSplits with Groth Proofs
            Transaction::V4 {
                joinsplit_data: Some(joinsplit_data),
                ..
            } => Box::new(
                joinsplit_data
                    .joinsplits()
                    .map(|joinsplit| &joinsplit.vpub_old),
            ),
            // No JoinSplits
            Transaction::V1 { .. }
            | Transaction::V2 {
                joinsplit_data: None,
                ..
            }
            | Transaction::V3 {
                joinsplit_data: None,
                ..
            }
            | Transaction::V4 {
                joinsplit_data: None,
                ..
            }
            | Transaction::V5 { .. } => Box::new(std::iter::empty()),
        }
    }
pub fn output_values_to_sprout ( & self ) -> Box < dyn Iterator < Item = & Amount < NonNegative > > + ' _ > { match self { // JoinSplits with Bctv14 Proofs Transaction :: V2 { joinsplit_data : Some ( joinsplit_data ) , .. } | Transaction :: V3 { joinsplit_data : Some ( joinsplit_data ) , .. } => Box :: new ( joinsplit_data . joinsplits ( ) . map ( | joinsplit | & joinsplit . vpub_old ) , ) , // JoinSplits with Groth Proofs Transaction :: V4 { joinsplit_data : Some ( joinsplit_data ) , .. } => Box :: new ( joinsplit_data . joinsplits ( ) . map ( | joinsplit | & joinsplit . vpub_old ) , ) , // No JoinSplits Transaction :: V1 { .. } | Transaction :: V2 { joinsplit_data : None , .. } | Transaction :: V3 { joinsplit_data : None , .. } | Transaction :: V4 { joinsplit_data : None , .. } | Transaction :: V5 { .. } => Box :: new ( std :: iter :: empty ( ) ) , } }
Returns the `vpub_old` fields from `JoinSplit`s in this transaction,
regardless of version, in the order they appear in the transaction.
Returns the ` vpub_old ` fields from ` JoinSplit ` s in this transaction regardless of version in the order they appear in the transaction .
&self