mirror of
https://github.com/logos-storage/gnark-plonky2-verifier.git
synced 2026-01-05 06:33:13 +00:00
32 lines
910 B
Go
32 lines
910 B
Go
package verifier
|
|
|
|
import (
|
|
"github.com/consensys/gnark/frontend"
|
|
gl "github.com/succinctlabs/gnark-plonky2-verifier/goldilocks"
|
|
"github.com/succinctlabs/gnark-plonky2-verifier/types"
|
|
"github.com/succinctlabs/gnark-plonky2-verifier/variables"
|
|
)
|
|
|
|
type ExampleVerifierCircuit struct {
|
|
PublicInputs []gl.Variable `gnark:",public"`
|
|
Proof variables.Proof `gnark:"-"`
|
|
VerifierOnlyCircuitData variables.VerifierOnlyCircuitData `gnark:"-"`
|
|
|
|
// This is configuration for the circuit, it is a constant not a variable
|
|
CommonCircuitData types.CommonCircuitData
|
|
}
|
|
|
|
func (c *ExampleVerifierCircuit) Define(api frontend.API) error {
|
|
verifierChip := NewVerifierChip(api, c.CommonCircuitData)
|
|
verifierChip.Verify(c.Proof, c.PublicInputs, c.VerifierOnlyCircuitData)
|
|
|
|
return nil
|
|
}
|
|
|
|
func boolToUint64(b bool) uint64 {
|
|
if b {
|
|
return 1
|
|
}
|
|
return 0
|
|
}
|