package variables import gl "github.com/succinctlabs/gnark-plonky2-verifier/goldilocks" type OpeningSet struct { Constants []gl.QuadraticExtensionVariable // Length = CommonCircuitData.Constants PlonkSigmas []gl.QuadraticExtensionVariable // Length = CommonCircuitData.NumRoutedWires Wires []gl.QuadraticExtensionVariable // Length = CommonCircuitData.NumWires PlonkZs []gl.QuadraticExtensionVariable // Length = CommonCircuitData.NumChallenges PlonkZsNext []gl.QuadraticExtensionVariable // Length = CommonCircuitData.NumChallenges PartialProducts []gl.QuadraticExtensionVariable // Length = CommonCircuitData.NumChallenges * CommonCircuitData.NumPartialProducts QuotientPolys []gl.QuadraticExtensionVariable // Length = CommonCircuitData.NumChallenges * CommonCircuitData.QuotientDegreeFactor } func NewOpeningSet(numConstants uint64, numRoutedWires uint64, numWires uint64, numChallenges uint64, numPartialProducts uint64, quotientDegreeFactor uint64) OpeningSet { return OpeningSet{ Constants: make([]gl.QuadraticExtensionVariable, numConstants), PlonkSigmas: make([]gl.QuadraticExtensionVariable, numRoutedWires), Wires: make([]gl.QuadraticExtensionVariable, numWires), PlonkZs: make([]gl.QuadraticExtensionVariable, numChallenges), PlonkZsNext: make([]gl.QuadraticExtensionVariable, numChallenges), PartialProducts: make([]gl.QuadraticExtensionVariable, numChallenges*numPartialProducts), QuotientPolys: make([]gl.QuadraticExtensionVariable, numChallenges*quotientDegreeFactor), } } type ProofChallenges struct { PlonkBetas []gl.Variable PlonkGammas []gl.Variable PlonkAlphas []gl.Variable PlonkZeta gl.QuadraticExtensionVariable FriChallenges FriChallenges }