package types import ( gl "github.com/succinctlabs/gnark-plonky2-verifier/goldilocks" "github.com/succinctlabs/gnark-plonky2-verifier/poseidon" ) type PolynomialCoeffs struct { Coeffs []gl.QuadraticExtensionVariable } func NewPolynomialCoeffs(numCoeffs uint64) PolynomialCoeffs { return PolynomialCoeffs{Coeffs: make([]gl.QuadraticExtensionVariable, numCoeffs)} } type FriConfig struct { RateBits uint64 CapHeight uint64 ProofOfWorkBits uint64 NumQueryRounds uint64 // TODO: add FriReductionStrategy } func (fc *FriConfig) Rate() float64 { return 1.0 / float64((uint64(1) << fc.RateBits)) } type FriParams struct { Config FriConfig Hiding bool DegreeBits uint64 ReductionArityBits []uint64 } type FriMerkleCap = []poseidon.BN254HashOut func NewFriMerkleCap(capHeight uint64) FriMerkleCap { return make([]poseidon.BN254HashOut, 1<