arnaucube
arnaucube/gnark-plonky2-verifierPublic Self-hosted repository
added reductionArityBits function
Kevin Jue kjue235@gmail.com
Thu, 10 Nov 2022 17:46:49 -0800
commit

ccfe2b51c9cdcc68570022e4ec03992ee804e248

parent

c3e16622a2d8d785e9885cc7b3a4aaa122522aeb

2 files changed, 29 insertions(+), 1 deletions(-)

jump to
M plonky2_verifier/deserialize.go → plonky2_verifier/deserialize.go

@@ -251,6 +251,27 @@

return proofWithPis } +func ReductionArityBits( + arityBits uint64, + finalPolyBits uint64, + degreeBits uint64, + rateBits uint64, + capHeight uint64, + numQueries uint64, +) []uint64 { + returnArr := make([]uint64, 0) + + for degreeBits > finalPolyBits && degreeBits+rateBits-arityBits >= capHeight { + returnArr = append(returnArr, arityBits) + if degreeBits < arityBits { + panic("degreeBits < arityBits") + } + degreeBits -= arityBits + } + + return returnArr +} + func DeserializeCommonCircuitData(path string) CommonCircuitData { jsonFile, err := os.Open(path) if err != nil {

@@ -286,6 +307,14 @@ commonCircuitData.FriParams.Config.RateBits = raw.FriParams.Config.RateBits

commonCircuitData.FriParams.Config.CapHeight = raw.FriParams.Config.CapHeight commonCircuitData.FriParams.Config.ProofOfWorkBits = raw.FriParams.Config.ProofOfWorkBits commonCircuitData.FriParams.Config.NumQueryRounds = raw.FriParams.Config.NumQueryRounds + commonCircuitData.FriParams.ReductionArityBits = ReductionArityBits( + raw.FriParams.ReductionArityBits[0].(uint64), + raw.FriParams.ReductionArityBits[1].(uint64), + raw.FriParams.DegreeBits, + raw.FriParams.Config.RateBits, + raw.FriParams.Config.CapHeight, + raw.FriParams.Config.NumQueryRounds, + ) commonCircuitData.DegreeBits = raw.DegreeBits commonCircuitData.QuotientDegreeFactor = raw.QuotientDegreeFactor
M plonky2_verifier/fri_utils.go → plonky2_verifier/fri_utils.go

@@ -56,7 +56,6 @@ })

} return returnArr - } // Range of the sigma polynomials in the `constants_sigmas_commitment`.