From ccfe2b51c9cdcc68570022e4ec03992ee804e248 Mon Sep 17 00:00:00 2001 From: Kevin Jue Date: Thu, 10 Nov 2022 17:46:49 -0800 Subject: [PATCH] added reductionArityBits function --- plonky2_verifier/deserialize.go | 29 +++++++++++++++++++++++++++++ plonky2_verifier/fri_utils.go | 1 - 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/plonky2_verifier/deserialize.go b/plonky2_verifier/deserialize.go index f987b18..c3c5441 100644 --- a/plonky2_verifier/deserialize.go +++ b/plonky2_verifier/deserialize.go @@ -251,6 +251,27 @@ func DeserializeProofWithPublicInputs(path string) ProofWithPublicInputs { 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 @@ func DeserializeCommonCircuitData(path string) CommonCircuitData { 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 diff --git a/plonky2_verifier/fri_utils.go b/plonky2_verifier/fri_utils.go index 1a897e5..9e5d58f 100644 --- a/plonky2_verifier/fri_utils.go +++ b/plonky2_verifier/fri_utils.go @@ -56,7 +56,6 @@ func (c *CommonCircuitData) polynomialInfoFromRange(oracleIdx uint64, startPolyI } return returnArr - } // Range of the sigma polynomials in the `constants_sigmas_commitment`.