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 != D {
20		panic("Range must be of size D")
21	}
22
23	var ret QEAlgebra
24	for i := wireRange.start; i < wireRange.end; i++ {
25		ret[i-wireRange.start] = e.localWires[i]
26	}
27
28	return ret
29}