mirror of https://github.com/zcash/halo2.git
poseidon_hash_longer_input: Test real proof generation.
This test passes the MockProver, but fails to generate a real proof.
This commit is contained in:
parent
76b3f892a9
commit
496887bb75
|
@ -597,9 +597,11 @@ mod tests {
|
|||
circuit::{Layouter, SimpleFloorPlanner, Value},
|
||||
dev::MockProver,
|
||||
pasta::Fp,
|
||||
plonk::{Circuit, ConstraintSystem, Error},
|
||||
plonk::{self, Circuit, ConstraintSystem, Error, SingleVerifier},
|
||||
poly::commitment::Params,
|
||||
transcript::{Blake2bRead, Blake2bWrite, Challenge255},
|
||||
};
|
||||
use pasta_curves::pallas;
|
||||
use pasta_curves::{pallas, EqAffine};
|
||||
use rand::rngs::OsRng;
|
||||
|
||||
use super::{PoseidonInstructions, Pow5Chip, Pow5Config, StateWord};
|
||||
|
@ -840,7 +842,29 @@ mod tests {
|
|||
_spec: PhantomData,
|
||||
};
|
||||
let prover = MockProver::run(k, &circuit, vec![]).unwrap();
|
||||
assert_eq!(prover.verify(), Ok(()))
|
||||
assert_eq!(prover.verify(), Ok(()));
|
||||
|
||||
let params = Params::new(k);
|
||||
let vk = plonk::keygen_vk(¶ms, &circuit).unwrap();
|
||||
let pk = plonk::keygen_pk(¶ms, vk, &circuit).unwrap();
|
||||
|
||||
let mut transcript = Blake2bWrite::<_, EqAffine, _>::init(vec![]);
|
||||
plonk::create_proof(
|
||||
¶ms,
|
||||
&pk,
|
||||
&[circuit],
|
||||
&[&[]],
|
||||
&mut OsRng,
|
||||
&mut transcript,
|
||||
)
|
||||
.unwrap();
|
||||
let proof = transcript.finalize();
|
||||
|
||||
let strategy = SingleVerifier::new(¶ms);
|
||||
let mut transcript = Blake2bRead::<_, _, Challenge255<_>>::init(&proof[..]);
|
||||
assert!(
|
||||
plonk::verify_proof(¶ms, pk.get_vk(), strategy, &[&[]], &mut transcript).is_ok()
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
Loading…
Reference in New Issue