Add nullifiers(), and note_commitments() to ShieldedData
This commit is contained in:
parent
97b6ba10cc
commit
5a78bbb6c9
|
@ -2,7 +2,7 @@ use futures::future::Either;
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
primitives::redjubjub::{Binding, Signature},
|
primitives::redjubjub::{Binding, Signature},
|
||||||
sapling::{Output, Spend},
|
sapling::{Nullifier, Output, Spend},
|
||||||
serialization::serde_helpers,
|
serialization::serde_helpers,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -61,6 +61,17 @@ impl ShieldedData {
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.chain(self.rest_outputs.iter())
|
.chain(self.rest_outputs.iter())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Collect the [`Nullifier`]s for this transaction, if it contains
|
||||||
|
/// [`Spend`]s.
|
||||||
|
pub fn nullifiers(&self) -> Vec<Nullifier> {
|
||||||
|
self.spends().map(|spend| spend.nullifier).collect()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Collect the cm_u's for this transaction, if it contains [`Output`]s.
|
||||||
|
pub fn note_commitments(&self) -> Vec<jubjub::Fq> {
|
||||||
|
self.outputs().map(|output| output.cm_u).collect()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Technically, it's possible to construct two equivalent representations
|
// Technically, it's possible to construct two equivalent representations
|
||||||
|
|
Loading…
Reference in New Issue