arnaucube
arnaucube/gnark-plonky2-verifierPublic Self-hosted repository
gnark-plonky2-verifier/plonky2_verifier/fri_test.go
plonky2_verifier/fri_test.goRaw
 1package plonky2_verifier
 2
 3import (
 4	. "gnark-ed25519/field"
 5	"testing"
 6
 7	"github.com/consensys/gnark/frontend"
 8	"github.com/consensys/gnark/test"
 9)
10
11type TestFriCircuit struct{}
12
13func (circuit *TestFriCircuit) Define(api frontend.API) error {
14	proofWithPis := DeserializeProofWithPublicInputs("./data/fibonacci/proof_with_public_inputs.json")
15	commonCircuitData := DeserializeCommonCircuitData("./data/fibonacci/common_circuit_data.json")
16
17	field := NewFieldAPI(api)
18
19	friChip := NewFriChip(api, field, commonCircuitData.Config.FriConfig)
20	friChip.VerifyFriProof(&proofWithPis.Proof.OpeningProof)
21	return nil
22}
23
24func TestFriProof(t *testing.T) {
25	assert := test.NewAssert(t)
26
27	testCase := func() {
28		circuit := TestFriCircuit{}
29		witness := TestFriCircuit{}
30		err := test.IsSolved(&circuit, &witness, TEST_CURVE.ScalarField())
31		assert.NoError(err)
32	}
33
34	testCase()
35}