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
13	VerifierOnlyCircuitData variables.VerifierOnlyCircuitData
14
15	// This is configuration for the circuit, it is a constant not a variable
16	CommonCircuitData types.CommonCircuitData
17}
18
19func (c *ExampleVerifierCircuit) Define(api frontend.API) error {
20	verifierChip := NewVerifierChip(api, c.CommonCircuitData)
21	verifierChip.Verify(c.Proof, c.PublicInputs, c.VerifierOnlyCircuitData)
22
23	return nil
24}