From 1571ff5f90333189922ab886484a8e6f58c83090 Mon Sep 17 00:00:00 2001 From: Sean Bowe Date: Fri, 16 Sep 2016 17:25:50 -0600 Subject: [PATCH] Reorganization of multicore/qap/spair. --- src/coordinator.rs | 3 --- src/player.rs | 5 ----- src/protocol/mod.rs | 13 ++++++++----- src/{ => protocol}/multicore.rs | 0 src/{ => protocol}/qap.rs | 4 ++-- src/protocol/secrets.rs | 5 ++--- src/{ => protocol}/spair.rs | 1 - src/verifier.rs | 3 --- 8 files changed, 12 insertions(+), 22 deletions(-) rename src/{ => protocol}/multicore.rs (100%) rename src/{ => protocol}/qap.rs (97%) rename src/{ => protocol}/spair.rs (99%) diff --git a/src/coordinator.rs b/src/coordinator.rs index 9ec9929..bd1f2bd 100644 --- a/src/coordinator.rs +++ b/src/coordinator.rs @@ -13,10 +13,7 @@ extern crate env_logger; extern crate time; extern crate ansi_term; -mod multicore; -mod qap; mod protocol; -mod spair; use snark::*; use self::protocol::*; diff --git a/src/player.rs b/src/player.rs index 731abfc..2f1e3dc 100644 --- a/src/player.rs +++ b/src/player.rs @@ -8,12 +8,7 @@ extern crate crossbeam; extern crate rustc_serialize; extern crate bincode; -mod multicore; mod protocol; -mod spair; -#[cfg(feature = "snark")] -mod qap; - use self::protocol::*; use rand::Rng; diff --git a/src/protocol/mod.rs b/src/protocol/mod.rs index b89cbc8..40338bc 100644 --- a/src/protocol/mod.rs +++ b/src/protocol/mod.rs @@ -35,16 +35,19 @@ use crossbeam; use bn::*; -use spair::*; -use multicore::*; -#[cfg(feature = "snark")] -use qap::*; #[cfg(feature = "snark")] use snark::*; mod secrets; +mod spair; +mod multicore; pub use self::secrets::*; +use self::spair::*; +use self::multicore::*; + +#[cfg(feature = "snark")] +mod qap; /// The powers of tau. #[derive(Clone, RustcEncodable, RustcDecodable)] @@ -123,7 +126,7 @@ impl Stage2Contents { #[cfg(feature = "snark")] pub fn new(cs: &CS, stage1: &Stage1Contents) -> Self { // evaluate QAP for the next round - let (at, bt1, bt2, ct) = evaluate_qap(&stage1.v1, &stage1.v2, cs); + let (at, bt1, bt2, ct) = qap::evaluate(&stage1.v1, &stage1.v2, cs); Stage2Contents { vk_a: G2::one(), diff --git a/src/multicore.rs b/src/protocol/multicore.rs similarity index 100% rename from src/multicore.rs rename to src/protocol/multicore.rs diff --git a/src/qap.rs b/src/protocol/qap.rs similarity index 97% rename from src/qap.rs rename to src/protocol/qap.rs index 26203d4..6ae26cc 100644 --- a/src/qap.rs +++ b/src/protocol/qap.rs @@ -1,11 +1,11 @@ use bn::*; use snark::*; -use multicore::*; +use super::multicore::*; /// Evaluates the QAP A, B and C polynomials at tau given the powers of tau. /// Converts the powers of tau in G1 and G2 into the lagrange basis with an FFT /// Extends with Z(tau) as (effectively) done in libsnark. -pub fn evaluate_qap(g1_powers: &[G1], g2_powers: &[G2], cs: &CS) -> (Vec, Vec, Vec, Vec) +pub fn evaluate(g1_powers: &[G1], g2_powers: &[G2], cs: &CS) -> (Vec, Vec, Vec, Vec) { assert_eq!(g1_powers.len(), cs.d+1); assert_eq!(g2_powers.len(), cs.d+1); diff --git a/src/protocol/secrets.rs b/src/protocol/secrets.rs index 178a221..334785e 100644 --- a/src/protocol/secrets.rs +++ b/src/protocol/secrets.rs @@ -1,7 +1,7 @@ use bn::*; use rand::Rng; -use spair::*; -#[cfg(feature = "snark")] +use super::spair::{Spair, same_power}; +#[cfg(test)] use snark::*; use rustc_serialize::{Encodable, Encoder, Decodable, Decoder}; @@ -231,7 +231,6 @@ impl PrivateKey { self.gamma = self.gamma * other.gamma; } - #[cfg(feature = "snark")] #[cfg(test)] pub fn libsnark_keypair(&self, cs: &CS) -> Keypair { Keypair::generate( diff --git a/src/spair.rs b/src/protocol/spair.rs similarity index 99% rename from src/spair.rs rename to src/protocol/spair.rs index 54e7d65..41e4519 100644 --- a/src/spair.rs +++ b/src/protocol/spair.rs @@ -1,7 +1,6 @@ use rand::Rng; use bn::*; use crossbeam; -use multicore::*; use rustc_serialize::{Encodable, Encoder, Decodable, Decoder}; #[derive(Clone, PartialEq, Eq)] diff --git a/src/verifier.rs b/src/verifier.rs index cd38680..ba4fb47 100644 --- a/src/verifier.rs +++ b/src/verifier.rs @@ -5,10 +5,7 @@ extern crate crossbeam; extern crate rustc_serialize; extern crate bincode; -mod multicore; -mod qap; mod protocol; -mod spair; use std::fs::File; use std::io::{Read, Write};