arnaucube
arnaucube/gnark-plonky2-verifierPublic Self-hosted repository
gnark-plonky2-verifier/plonky2_verifier/vars.go
plonky2_verifier/vars.goRaw
 1package plonky2_verifier
 2
 3import (
 4	. "gnark-plonky2-verifier/field"
 5)
 6
 7type EvaluationVars struct {
 8	localConstants   []QuadraticExtension
 9	localWires       []QuadraticExtension
10	publicInputsHash Hash
11}
12
13func (e *EvaluationVars) RemovePrefix(numSelectors uint64) {
14	e.localConstants = e.localConstants[numSelectors:]
15}
16
17func (e *EvaluationVars) GetLocalExtAlgebra(wireRange Range) QEAlgebra {
18	// For now, only support degree 2
19	if wireRange.end-wireRange.start != 2 {
20		panic("Only degree 2 supported")
21	}
22
23	return QEAlgebra{e.localWires[wireRange.start], e.localWires[wireRange.end-1]}
24}