diff --git a/src/keys.rs b/src/keys.rs index 6ae0df476..5dce0f29a 100644 --- a/src/keys.rs +++ b/src/keys.rs @@ -471,6 +471,12 @@ impl FullViewingKey { } } + /// Returns the scalar form of the incoming viewing key for `scope`. + #[cfg_attr(feature = "unstable-voting-circuits", visibility::make(pub))] + pub(crate) fn ivk_scalar(&self, scope: Scope) -> pallas::Scalar { + *self.to_ivk(scope).ivk.0 + } + /// Derives an `OutgoingViewingKey` for this full viewing key. pub fn to_ovk(&self, scope: Scope) -> OutgoingViewingKey { match scope { diff --git a/src/note/commitment.rs b/src/note/commitment.rs index 0a6001f7a..176f2f1b8 100644 --- a/src/note/commitment.rs +++ b/src/note/commitment.rs @@ -50,7 +50,8 @@ impl NoteCommitment { /// Defined in [Zcash Protocol Spec § 5.4.8.4: Sinsemilla commitments][concretesinsemillacommit]. /// /// [concretesinsemillacommit]: https://zips.z.cash/protocol/nu5.pdf#concretesinsemillacommit - pub(super) fn derive( + #[cfg_attr(feature = "unstable-voting-circuits", visibility::make(pub))] + pub(crate) fn derive( g_d: [u8; 32], pk_d: [u8; 32], v: NoteValue, diff --git a/src/note/nullifier.rs b/src/note/nullifier.rs index ab4ef7607..8afef7636 100644 --- a/src/note/nullifier.rs +++ b/src/note/nullifier.rs @@ -69,7 +69,8 @@ impl Nullifier { /// Defined in [Zcash Protocol Spec § 4.16: Note Commitments and Nullifiers][commitmentsandnullifiers]. /// /// [commitmentsandnullifiers]: https://zips.z.cash/protocol/nu5.pdf#commitmentsandnullifiers - pub(super) fn derive( + #[cfg_attr(feature = "unstable-voting-circuits", visibility::make(pub))] + pub(crate) fn derive( nk: &NullifierDerivingKey, rho: pallas::Base, psi: pallas::Base,