arnaucube
arnaucube/gnark-plonky2-verifierPublic Self-hosted repository
gnark-plonky2-verifier/plonky2_verifier/verifier_test.go
plonky2_verifier/verifier_test.goRaw
 1package plonky2_verifier
 2
 3import (
 4	. "gnark-ed25519/field"
 5	. "gnark-ed25519/poseidon"
 6	"testing"
 7
 8	"github.com/consensys/gnark/frontend"
 9	"github.com/consensys/gnark/test"
10)
11
12type TestVerifierCircuit struct{}
13
14func (circuit *TestVerifierCircuit) Define(api frontend.API) error {
15	field := NewFieldAPI(api)
16	poseidonChip := NewPoseidonChip(api, field)
17	verifierChip := VerifierChip{api: api, field: field, poseidonChip: *poseidonChip}
18	proofWithPis := DeserializeProofWithPublicInputs("./data/proof_with_public_inputs.json")
19	commonCircuitData := DeserializeCommonCircuitData("./data/common_circuit_data.json")
20	verfierOnlyCircuitData := DeserializeVerifierOnlyCircuitData("./data/verifier_only_circuit_data.json")
21	verifierChip.Verify(proofWithPis, verfierOnlyCircuitData, commonCircuitData)
22	panic("look at stdout")
23	return nil
24}
25
26func TestVerifierWitness(t *testing.T) {
27	assert := test.NewAssert(t)
28
29	testCase := func() {
30		circuit := TestVerifierCircuit{}
31		witness := TestVerifierCircuit{}
32		err := test.IsSolved(&circuit, &witness, TEST_CURVE.ScalarField())
33		assert.NoError(err)
34	}
35
36	testCase()
37}