diff --git a/librustzcash/src/rustzcash.rs b/librustzcash/src/rustzcash.rs index da448b0..4503ec9 100644 --- a/librustzcash/src/rustzcash.rs +++ b/librustzcash/src/rustzcash.rs @@ -181,6 +181,8 @@ pub extern "system" fn librustzcash_init_zksnark_params( ) } +// We ignore the values of sprout_path/sprout_hash but keep +// same function signature for convenience fn init_zksnark_params( spend_path: &Path, spend_hash: *const c_char, @@ -205,7 +207,8 @@ fn init_zksnark_params( .expect("hash should be a valid string"); // Load params - let (spend_params, spend_vk, output_params, output_vk, sprout_vk) = load_parameters( + //let (spend_params, spend_vk, output_params, output_vk, sprout_vk) = load_parameters( + let (spend_params, spend_vk, output_params, output_vk) = load_parameters( spend_path, spend_hash, output_path, @@ -223,7 +226,7 @@ fn init_zksnark_params( SAPLING_SPEND_VK = Some(spend_vk); SAPLING_OUTPUT_VK = Some(output_vk); - SPROUT_GROTH16_VK = Some(sprout_vk.unwrap()); + //SPROUT_GROTH16_VK = Some(sprout_vk.unwrap()); } } @@ -864,7 +867,7 @@ pub extern "system" fn librustzcash_sprout_prove( ) .expect("couldn't load Sprout groth16 parameters file"); - let mut sprout_fs = BufReader::with_capacity(1024 * 1024, sprout_fs); + //let mut sprout_fs = BufReader::with_capacity(1024 * 1024, sprout_fs); let params = Parameters::::read(&mut sprout_fs, false) .expect("couldn't deserialize Sprout JoinSplit parameters file"); diff --git a/zcash_proofs/src/lib.rs b/zcash_proofs/src/lib.rs index ca17a8b..36f89d3 100644 --- a/zcash_proofs/src/lib.rs +++ b/zcash_proofs/src/lib.rs @@ -32,14 +32,12 @@ pub fn load_parameters( // Load from each of the paths let spend_fs = File::open(spend_path).expect("couldn't load Sapling spend parameters file"); let output_fs = File::open(output_path).expect("couldn't load Sapling output parameters file"); - let sprout_fs = - sprout_path.map(|p| File::open(p).expect("couldn't load Sprout groth16 parameters file")); + //let sprout_fs = sprout_path.map(|p| File::open(p).expect("couldn't load Sprout groth16 parameters file")); let mut spend_fs = hashreader::HashReader::new(BufReader::with_capacity(1024 * 1024, spend_fs)); let mut output_fs = hashreader::HashReader::new(BufReader::with_capacity(1024 * 1024, output_fs)); - let mut sprout_fs = - sprout_fs.map(|fs| hashreader::HashReader::new(BufReader::with_capacity(1024 * 1024, fs))); + //let mut sprout_fs = sprout_fs.map(|fs| hashreader::HashReader::new(BufReader::with_capacity(1024 * 1024, fs))); // Deserialize params let spend_params = Parameters::::read(&mut spend_fs, false) @@ -50,10 +48,10 @@ pub fn load_parameters( // We only deserialize the verifying key for the Sprout parameters, which // appears at the beginning of the parameter file. The rest is loaded // during proving time. - let sprout_vk = sprout_fs.as_mut().map(|mut fs| { - VerifyingKey::::read(&mut fs) - .expect("couldn't deserialize Sprout Groth16 verifying key") - }); + //let sprout_vk = sprout_fs.as_mut().map(|mut fs| { + // VerifyingKey::::read(&mut fs) + // .expect("couldn't deserialize Sprout Groth16 verifying key") + //}); // There is extra stuff (the transcript) at the end of the parameter file which is // used to verify the parameter validity, but we're not interested in that. We do @@ -64,10 +62,10 @@ pub fn load_parameters( .expect("couldn't finish reading Sapling spend parameter file"); io::copy(&mut output_fs, &mut sink) .expect("couldn't finish reading Sapling output parameter file"); - if let Some(mut sprout_fs) = sprout_fs.as_mut() { - io::copy(&mut sprout_fs, &mut sink) - .expect("couldn't finish reading Sprout groth16 parameter file"); - } + //if let Some(mut sprout_fs) = sprout_fs.as_mut() { + // io::copy(&mut sprout_fs, &mut sink) + // .expect("couldn't finish reading Sprout groth16 parameter file"); + //} if spend_fs.into_hash() != spend_hash { panic!("Sapling spend parameter file is not correct, please clean your `~/.zcash-params/` and re-run `fetch-params`."); @@ -77,14 +75,15 @@ pub fn load_parameters( panic!("Sapling output parameter file is not correct, please clean your `~/.zcash-params/` and re-run `fetch-params`."); } - if sprout_fs.map(|fs| fs.into_hash()) != sprout_hash.map(|h| h.to_owned()) { - panic!("Sprout groth16 parameter file is not correct, please clean your `~/.zcash-params/` and re-run `fetch-params`."); - } + //if sprout_fs.map(|fs| fs.into_hash()) != sprout_hash.map(|h| h.to_owned()) { + // panic!("Sprout groth16 parameter file is not correct, please clean your `~/.zcash-params/` and re-run `fetch-params`."); + //} // Prepare verifying keys let spend_vk = prepare_verifying_key(&spend_params.vk); let output_vk = prepare_verifying_key(&output_params.vk); - let sprout_vk = sprout_vk.map(|vk| prepare_verifying_key(&vk)); + //let sprout_vk = sprout_vk.map(|vk| prepare_verifying_key(&vk)); - (spend_params, spend_vk, output_params, output_vk, sprout_vk) + //(spend_params, spend_vk, output_params, output_vk, sprout_vk) + (spend_params, spend_vk, output_params, output_vk) }