arnaucube
arnaucube/gnark-plonky2-verifierPublic Self-hosted repository
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.DeserializeCommonCircuitData("../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}