arnaucube
arnaucube/gnark-plonky2-verifierPublic Self-hosted repository
gnark-plonky2-verifier/verifier/util.go
verifier/util.goRaw
 1package verifier
 2
 3import (
 4	"github.com/consensys/gnark/frontend"
 5	gl "github.com/succinctlabs/gnark-plonky2-verifier/goldilocks"
 6	"github.com/succinctlabs/gnark-plonky2-verifier/types"
 7	"github.com/succinctlabs/gnark-plonky2-verifier/variables"
 8)
 9
10type ExampleVerifierCircuit struct {
11	PublicInputs            []gl.Variable                     `gnark:",public"`
12	Proof                   variables.Proof                   `gnark:",secret"`
13	VerifierOnlyCircuitData variables.VerifierOnlyCircuitData `gnark:",secret"`
14	CommonCircuitData       types.CommonCircuitData           `gnark:",-"`
15}
16
17func (c *ExampleVerifierCircuit) Define(api frontend.API) error {
18	verifierChip := NewVerifierChip(api, c.CommonCircuitData)
19	verifierChip.Verify(c.Proof, c.PublicInputs, c.VerifierOnlyCircuitData)
20
21	return nil
22}