diff --git a/zcash_proofs/Cargo.toml b/zcash_proofs/Cargo.toml index 9e989fa1d..598e01342 100644 --- a/zcash_proofs/Cargo.toml +++ b/zcash_proofs/Cargo.toml @@ -9,9 +9,13 @@ authors = [ bellman = { path = "../bellman" } blake2b_simd = "0.5" byteorder = "1" -directories = "1" +directories = { version = "1", optional = true } ff = { path = "../ff" } pairing = { path = "../pairing" } rand_os = "0.2" sapling-crypto = { path = "../sapling-crypto" } zcash_primitives = { path = "../zcash_primitives" } + +[features] +default = ["local-prover"] +local-prover = ["directories"] diff --git a/zcash_proofs/src/lib.rs b/zcash_proofs/src/lib.rs index 26aa2f16b..d2dc8779f 100644 --- a/zcash_proofs/src/lib.rs +++ b/zcash_proofs/src/lib.rs @@ -1,13 +1,15 @@ extern crate bellman; extern crate blake2b_simd; extern crate byteorder; -extern crate directories; extern crate ff; extern crate pairing; extern crate rand_os; extern crate sapling_crypto; extern crate zcash_primitives; +#[cfg(feature = "local-prover")] +extern crate directories; + use bellman::groth16::{prepare_verifying_key, Parameters, PreparedVerifyingKey, VerifyingKey}; use pairing::bls12_381::Bls12; use std::fs::File; @@ -15,9 +17,11 @@ use std::io::{self, BufReader}; use std::path::Path; mod hashreader; -pub mod prover; pub mod sapling; +#[cfg(feature = "local-prover")] +pub mod prover; + pub fn load_parameters( spend_path: &Path, spend_hash: &str,