arnaucube
arnaucube/gnark-plonky2-verifierPublic Self-hosted repository
gnark-plonky2-verifier/plonky2_verifier/fri.go
plonky2_verifier/fri.goRaw
 1package plonky2_verifier
 2
 3import (
 4	. "gnark-ed25519/field"
 5)
 6
 7type FriOpeningBatch struct {
 8	values []QuadraticExtension
 9}
10
11type FriOpenings struct {
12	Batches []FriOpeningBatch
13}
14
15func (c *OpeningSet) ToFriOpenings() FriOpenings {
16	values := c.Constants
17	values = append(values, c.PlonkSigmas...)
18	values = append(values, c.Wires...)
19	values = append(values, c.PlonkZs...)
20	values = append(values, c.PartialProducts...)
21	values = append(values, c.QuotientPolys...)
22	zetaBatch := FriOpeningBatch{values: values}
23	zetaNextBatch := FriOpeningBatch{values: c.PlonkZsNext}
24	return FriOpenings{Batches: []FriOpeningBatch{zetaBatch, zetaNextBatch}}
25}