pub fn sapling_note_commitments(&self) -> Box<dyn Iterator<Item = &jubjub::Fq> + '_> {
        // This function returns a boxed iterator because the different
        // transaction variants end up having different iterator types
        match self {
            // Spends with Groth16 Proofs
            Transaction::V4 {
                sapling_shielded_data: Some(sapling_shielded_data),
                ..
            } => Box::new(sapling_shielded_data.note_commitments()),
            Transaction::V5 {
                sapling_shielded_data: Some(sapling_shielded_data),
                ..
            } => Box::new(sapling_shielded_data.note_commitments()),

            // No Spends
            Transaction::V1 { .. }
            | Transaction::V2 { .. }
            | Transaction::V3 { .. }
            | Transaction::V4 {
                sapling_shielded_data: None,
                ..
            }
            | Transaction::V5 {
                sapling_shielded_data: None,
                ..
            } => Box::new(std::iter::empty()),
        }
    }
/// Returns the Sapling note commitments in this transaction, regardless of version.
Returns the Sapling note commitments in this transaction, regardless of version.
Returns the Sapling note commitments in this transaction regardless of version .
pub fn sapling_note_commitments(&self) -> Box<dyn Iterator<Item = &jubjub::Fq> + '_> {
        // This function returns a boxed iterator because the different
        // transaction variants end up having different iterator types
        match self {
            // Spends with Groth16 Proofs
            Transaction::V4 {
                sapling_shielded_data: Some(sapling_shielded_data),
                ..
            } => Box::new(sapling_shielded_data.note_commitments()),
            Transaction::V5 {
                sapling_shielded_data: Some(sapling_shielded_data),
                ..
            } => Box::new(sapling_shielded_data.note_commitments()),
            // No Spends
            Transaction::V1 { .. }
            | Transaction::V2 { .. }
            | Transaction::V3 { .. }
            | Transaction::V4 {
                sapling_shielded_data: None,
                ..
            }
            | Transaction::V5 {
                sapling_shielded_data: None,
                ..
            } => Box::new(std::iter::empty()),
        }
    }
pub fn sapling_note_commitments ( & self ) -> Box < dyn Iterator < Item = & jubjub :: Fq > + ' _ > { // This function returns a boxed iterator because the different // transaction variants end up having different iterator types match self { // Spends with Groth16 Proofs Transaction :: V4 { sapling_shielded_data : Some ( sapling_shielded_data ) , .. } => Box :: new ( sapling_shielded_data . note_commitments ( ) ) , Transaction :: V5 { sapling_shielded_data : Some ( sapling_shielded_data ) , .. } => Box :: new ( sapling_shielded_data . note_commitments ( ) ) , // No Spends Transaction :: V1 { .. } | Transaction :: V2 { .. } | Transaction :: V3 { .. } | Transaction :: V4 { sapling_shielded_data : None , .. } | Transaction :: V5 { sapling_shielded_data : None , .. } => Box :: new ( std :: iter :: empty ( ) ) , } }
Returns the Sapling note commitments in this transaction, regardless of version.
Returns the Sapling note commitments in this transaction regardless of version .
&self