From bf97b21632f323241dc75ef08821fcc21662946a Mon Sep 17 00:00:00 2001 From: Kris Nuttycombe Date: Thu, 4 Mar 2021 10:33:14 -0700 Subject: [PATCH] Move redjubjub to sapling module. --- zcash_primitives/src/lib.rs | 1 - zcash_primitives/src/prover.rs | 12 ++++++++---- zcash_primitives/src/sapling.rs | 3 ++- zcash_primitives/src/{ => sapling}/redjubjub.rs | 0 zcash_primitives/src/transaction/builder.rs | 3 +-- .../src/transaction/components/sapling.rs | 2 +- zcash_primitives/src/transaction/mod.rs | 2 +- zcash_primitives/src/transaction/tests.rs | 2 +- zcash_proofs/src/prover.rs | 6 ++++-- zcash_proofs/src/sapling/prover.rs | 2 +- zcash_proofs/src/sapling/verifier.rs | 2 +- 11 files changed, 20 insertions(+), 15 deletions(-) rename zcash_primitives/src/{ => sapling}/redjubjub.rs (100%) diff --git a/zcash_primitives/src/lib.rs b/zcash_primitives/src/lib.rs index e36c0246b..7d6224af4 100644 --- a/zcash_primitives/src/lib.rs +++ b/zcash_primitives/src/lib.rs @@ -18,7 +18,6 @@ pub mod note_encryption; pub mod pedersen_hash; pub mod primitives; pub mod prover; -pub mod redjubjub; pub mod sapling; pub mod serialize; pub mod transaction; diff --git a/zcash_primitives/src/prover.rs b/zcash_primitives/src/prover.rs index 1bec62829..291fb420d 100644 --- a/zcash_primitives/src/prover.rs +++ b/zcash_primitives/src/prover.rs @@ -4,8 +4,10 @@ use crate::primitives::{Diversifier, PaymentAddress, ProofGenerationKey, Rseed}; use crate::{ merkle_tree::MerklePath, - redjubjub::{PublicKey, Signature}, - sapling::Node, + sapling::{ + redjubjub::{PublicKey, Signature}, + Node, + }, transaction::components::{Amount, GROTH_PROOF_SIZE}, }; @@ -72,8 +74,10 @@ pub mod mock { use crate::{ merkle_tree::MerklePath, - redjubjub::{PublicKey, Signature}, - sapling::Node, + sapling::{ + redjubjub::{PublicKey, Signature}, + Node, + }, transaction::components::{Amount, GROTH_PROOF_SIZE}, }; diff --git a/zcash_primitives/src/sapling.rs b/zcash_primitives/src/sapling.rs index d0a34dce6..c4e73c6f5 100644 --- a/zcash_primitives/src/sapling.rs +++ b/zcash_primitives/src/sapling.rs @@ -1,6 +1,7 @@ //! Structs and constants specific to the Sapling shielded pool. pub mod group_hash; +pub mod redjubjub; use crate::{ constants::SPENDING_KEY_GENERATOR, @@ -14,8 +15,8 @@ use lazy_static::lazy_static; use rand_core::{CryptoRng, RngCore}; use std::io::{self, Read, Write}; +use self::redjubjub::{PrivateKey, PublicKey, Signature}; use crate::merkle_tree::Hashable; -use crate::redjubjub::{PrivateKey, PublicKey, Signature}; pub const SAPLING_COMMITMENT_TREE_DEPTH: usize = 32; diff --git a/zcash_primitives/src/redjubjub.rs b/zcash_primitives/src/sapling/redjubjub.rs similarity index 100% rename from zcash_primitives/src/redjubjub.rs rename to zcash_primitives/src/sapling/redjubjub.rs diff --git a/zcash_primitives/src/transaction/builder.rs b/zcash_primitives/src/transaction/builder.rs index 187e398a4..52411f631 100644 --- a/zcash_primitives/src/transaction/builder.rs +++ b/zcash_primitives/src/transaction/builder.rs @@ -19,8 +19,7 @@ use crate::{ note_encryption::SaplingNoteEncryption, primitives::{Diversifier, Note, PaymentAddress}, prover::TxProver, - redjubjub::PrivateKey, - sapling::{spend_sig_internal, Node}, + sapling::{redjubjub::PrivateKey, spend_sig_internal, Node}, transaction::{ components::{ amount::Amount, amount::DEFAULT_FEE, OutputDescription, SpendDescription, TxOut, diff --git a/zcash_primitives/src/transaction/components/sapling.rs b/zcash_primitives/src/transaction/components/sapling.rs index 04fc679c3..101e63d6a 100644 --- a/zcash_primitives/src/transaction/components/sapling.rs +++ b/zcash_primitives/src/transaction/components/sapling.rs @@ -5,7 +5,7 @@ use std::io::{self, Read, Write}; use crate::{ primitives::Nullifier, - redjubjub::{PublicKey, Signature}, + sapling::redjubjub::{PublicKey, Signature}, }; use super::GROTH_PROOF_SIZE; diff --git a/zcash_primitives/src/transaction/mod.rs b/zcash_primitives/src/transaction/mod.rs index 61e9999e1..3102b5a95 100644 --- a/zcash_primitives/src/transaction/mod.rs +++ b/zcash_primitives/src/transaction/mod.rs @@ -7,7 +7,7 @@ use std::ops::Deref; use crate::{ consensus::BlockHeight, - redjubjub::Signature, + sapling::redjubjub::Signature, serialize::Vector, util::sha256d::{HashReader, HashWriter}, }; diff --git a/zcash_primitives/src/transaction/tests.rs b/zcash_primitives/src/transaction/tests.rs index a2ec513c4..4360cad3e 100644 --- a/zcash_primitives/src/transaction/tests.rs +++ b/zcash_primitives/src/transaction/tests.rs @@ -3,7 +3,7 @@ use rand_core::OsRng; use proptest::prelude::*; -use crate::{constants::SPENDING_KEY_GENERATOR, redjubjub::PrivateKey}; +use crate::{constants::SPENDING_KEY_GENERATOR, sapling::redjubjub::PrivateKey}; use super::{ components::Amount, diff --git a/zcash_proofs/src/prover.rs b/zcash_proofs/src/prover.rs index 7aceebd55..e95d5ccf8 100644 --- a/zcash_proofs/src/prover.rs +++ b/zcash_proofs/src/prover.rs @@ -7,8 +7,10 @@ use zcash_primitives::{ merkle_tree::MerklePath, primitives::{Diversifier, PaymentAddress, ProofGenerationKey, Rseed}, prover::TxProver, - redjubjub::{PublicKey, Signature}, - sapling::Node, + sapling::{ + redjubjub::{PublicKey, Signature}, + Node, + }, transaction::components::{Amount, GROTH_PROOF_SIZE}, }; diff --git a/zcash_proofs/src/sapling/prover.rs b/zcash_proofs/src/sapling/prover.rs index ee1cb64ed..1a0054c5f 100644 --- a/zcash_proofs/src/sapling/prover.rs +++ b/zcash_proofs/src/sapling/prover.rs @@ -11,7 +11,7 @@ use zcash_primitives::{ constants::{SPENDING_KEY_GENERATOR, VALUE_COMMITMENT_RANDOMNESS_GENERATOR}, merkle_tree::MerklePath, primitives::{Diversifier, Note, PaymentAddress, ProofGenerationKey, Rseed, ValueCommitment}, - redjubjub::{PrivateKey, PublicKey, Signature}, + sapling::redjubjub::{PrivateKey, PublicKey, Signature}, sapling::Node, transaction::components::Amount, }; diff --git a/zcash_proofs/src/sapling/verifier.rs b/zcash_proofs/src/sapling/verifier.rs index 0f3b23c3d..bd7bee7ac 100644 --- a/zcash_proofs/src/sapling/verifier.rs +++ b/zcash_proofs/src/sapling/verifier.rs @@ -6,7 +6,7 @@ use bls12_381::Bls12; use group::{Curve, GroupEncoding}; use zcash_primitives::{ constants::{SPENDING_KEY_GENERATOR, VALUE_COMMITMENT_RANDOMNESS_GENERATOR}, - redjubjub::{PublicKey, Signature}, + sapling::redjubjub::{PublicKey, Signature}, transaction::components::Amount, };