arnaucube
arnaucube/gnark-plonky2-verifierPublic Self-hosted repository
gnark-plonky2-verifier/plonky2_verifier/verifier.go
plonky2_verifier/verifier.goRaw
 1package plonky2_verifier
 2
 3// import (
 4// 	. "gnark-ed25519/field"
 5// 	"gnark-ed25519/poseidon"
 6
 7// 	"github.com/consensys/gnark/frontend"
 8// )
 9
10// type VerifierChip struct {
11// 	api          frontend.API
12// 	field        frontend.API
13// 	poseidonChip poseidon.PoseidonChip
14// }
15
16// func (c *VerifierChip) GetPublicInputsHash(publicInputs []F) poseidon.HashOutput {
17// 	return c.poseidonChip.HashNoPad(publicInputs)
18// }
19
20// func (c *VerifierChip) GetChallenges(proofWithPis ProofWithPublicInputs, publicInputsHash Hash, commonData CommonCircuitData) {
21// 	config := commonData.Config
22// 	numChallenges := int(config.NumChallenges)
23// 	challenger := NewChallengerChip(c.api, c.field, c.poseidonChip)
24
25// 	challenger.ObserveHash(commonData.CircuitDigest)
26// 	challenger.ObserveHash(publicInputsHash)
27// 	challenger.ObserveCap(proofWithPis.Proof.WiresCap)
28// 	plonkBetas := challenger.GetNChallenges(numChallenges)
29// 	plonkGammas := challenger.GetNChallenges(numChallenges)
30
31// 	challenger.ObserveCap(proofWithPis.Proof.PlonkZsPartialProductsCap)
32// 	plonkAlphas := challenger.GetNChallenges(numChallenges)
33
34// 	challenger.ObserveCap(proofWithPis.Proof.QuotientPolysCap)
35// 	plonkZeta := challenger.GetNChallenges(numChallenges)
36
37// 	challenger.ObserveOpenings(proofWithPis.Proof.Openings)
38// }
39
40// func (c *VerifierChip) Verify(proofWithPis ProofWithPublicInputs, verifierData VerifierOnlyCircuitData, commonData CommonCircuitData) {
41// 	publicInputsHash := c.GetPublicInputsHash(proofWithPis.PublicInputs)
42// 	challenges := c.GetChallenges(proofWithPis, publicInputsHash, commonData)
43// }