gnark-plonky2-verifier/verifier/verifier_test.go
verifier/verifier_test.goRaw
1package verifier_test
2
3import (
4 "testing"
5
6 "github.com/consensys/gnark-crypto/ecc"
7 "github.com/consensys/gnark/test"
8 "github.com/succinctlabs/gnark-plonky2-verifier/types"
9 "github.com/succinctlabs/gnark-plonky2-verifier/variables"
10 "github.com/succinctlabs/gnark-plonky2-verifier/verifier"
11)
12
13func TestStepVerifier(t *testing.T) {
14 assert := test.NewAssert(t)
15
16 testCase := func() {
17 plonky2Circuit := "step"
18 commonCircuitData := types.ReadCommonCircuitData("../testdata/" + plonky2Circuit + "/common_circuit_data.json")
19
20 proofWithPis := variables.DeserializeProofWithPublicInputs(types.ReadProofWithPublicInputs("../testdata/" + plonky2Circuit + "/proof_with_public_inputs.json"))
21 verifierOnlyCircuitData := variables.DeserializeVerifierOnlyCircuitData(types.ReadVerifierOnlyCircuitData("../testdata/" + plonky2Circuit + "/verifier_only_circuit_data.json"))
22
23 circuit := verifier.ExampleVerifierCircuit{
24 Proof: proofWithPis.Proof,
25 PublicInputs: proofWithPis.PublicInputs,
26 VerifierOnlyCircuitData: verifierOnlyCircuitData,
27 CommonCircuitData: commonCircuitData,
28 }
29
30 witness := verifier.ExampleVerifierCircuit{
31 Proof: proofWithPis.Proof,
32 PublicInputs: proofWithPis.PublicInputs,
33 VerifierOnlyCircuitData: verifierOnlyCircuitData,
34 CommonCircuitData: commonCircuitData,
35 }
36
37 err := test.IsSolved(&circuit, &witness, ecc.BN254.ScalarField())
38 assert.NoError(err)
39 }
40 testCase()
41}