Documentation ¶
Index ¶
- func StringArrayToHashBN254Array(rawHashes []string) []poseidon.BN254HashOut
- type FriChallenges
- type FriEvalProof
- type FriInitialTreeProof
- type FriMerkleCap
- type FriMerkleProof
- type FriProof
- type FriQueryRound
- type FriQueryStep
- type OpeningSet
- type PolynomialCoeffs
- type Proof
- type ProofChallenges
- type ProofWithPublicInputs
- type VerifierOnlyCircuitData
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func StringArrayToHashBN254Array ¶
func StringArrayToHashBN254Array(rawHashes []string) []poseidon.BN254HashOut
Types ¶
type FriChallenges ¶
type FriChallenges struct { FriAlpha gl.QuadraticExtensionVariable FriBetas []gl.QuadraticExtensionVariable FriPowResponse gl.Variable FriQueryIndices []gl.Variable }
type FriEvalProof ¶
type FriEvalProof struct { Elements []gl.Variable // Length = [CommonCircuitData.Constants + CommonCircuitData.NumRoutedWires, CommonCircuitData.NumWires + CommonCircuitData.FriParams.Hiding ? 4 : 0, CommonCircuitData.NumChallenges * (1 + CommonCircuitData.NumPartialProducts) + salt, CommonCircuitData.NumChallenges * CommonCircuitData.QuotientDegreeFactor + salt] MerkleProof FriMerkleProof }
func NewFriEvalProof ¶
func NewFriEvalProof(elements []gl.Variable, merkleProof FriMerkleProof) FriEvalProof
type FriInitialTreeProof ¶
type FriInitialTreeProof struct {
EvalsProofs []FriEvalProof // Length = 4
}
func NewFriInitialTreeProof ¶
func NewFriInitialTreeProof(evalsProofs []FriEvalProof) FriInitialTreeProof
type FriMerkleCap ¶
type FriMerkleCap = []poseidon.BN254HashOut
func DeserializeMerkleCap ¶
func DeserializeMerkleCap(merkleCapRaw []string) FriMerkleCap
func NewFriMerkleCap ¶
func NewFriMerkleCap(capHeight uint64) FriMerkleCap
type FriMerkleProof ¶
type FriMerkleProof struct {
Siblings []poseidon.BN254HashOut // Length = CircuitConfig.FriConfig.DegreeBits + CircuitConfig.FriConfig.RateBits - CircuitConfig.FriConfig.CapHeight
}
func DeserializeMerkleProof ¶
func DeserializeMerkleProof(merkleProofRaw struct{ Siblings []interface{} }) FriMerkleProof
func NewFriMerkleProof ¶
func NewFriMerkleProof(merkleProofLen uint64) FriMerkleProof
type FriProof ¶
type FriProof struct { CommitPhaseMerkleCaps []FriMerkleCap // Length = Len(CommonCircuitData.FriParams.ReductionArityBits) QueryRoundProofs []FriQueryRound // Length = CommonCircuitData.FriConfig.FriParams.NumQueryRounds FinalPoly PolynomialCoeffs PowWitness gl.Variable }
func DeserializeFriProof ¶
func DeserializeFriProof(openingProofRaw struct { CommitPhaseMerkleCaps [][]string QueryRoundProofs []struct { InitialTreesProof struct { EvalsProofs []types.EvalProofRaw } Steps []struct { Evals [][]uint64 MerkleProof struct { Siblings []string } } } FinalPoly struct { Coeffs [][]uint64 } PowWitness uint64 }) FriProof
type FriQueryRound ¶
type FriQueryRound struct { InitialTreesProof FriInitialTreeProof Steps []FriQueryStep // Length = Len(CommonCircuitData.FriParams.ReductionArityBits) }
func NewFriQueryRound ¶
func NewFriQueryRound(steps []FriQueryStep, initialTreesProof FriInitialTreeProof) FriQueryRound
type FriQueryStep ¶
type FriQueryStep struct { Evals []gl.QuadraticExtensionVariable // Length = [2^arityBit for arityBit in CommonCircuitData.FriParams.ReductionArityBits] MerkleProof FriMerkleProof // Length = [regularSize - arityBit for arityBit in CommonCircuitData.FriParams.ReductionArityBits] }
func NewFriQueryStep ¶
func NewFriQueryStep(arityBit uint64, merkleProofLen uint64) FriQueryStep
type OpeningSet ¶
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 DeserializeOpeningSet ¶
type PolynomialCoeffs ¶
type PolynomialCoeffs struct {
Coeffs []gl.QuadraticExtensionVariable
}
func NewPolynomialCoeffs ¶
func NewPolynomialCoeffs(numCoeffs uint64) PolynomialCoeffs
type Proof ¶
type Proof struct { WiresCap FriMerkleCap // length = 2^CircuitConfig.FriConfig.CapHeight PlonkZsPartialProductsCap FriMerkleCap // length = 2^CircuitConfig.FriConfig.CapHeight QuotientPolysCap FriMerkleCap // length = 2^CircuitConfig.FriConfig.CapHeight Openings OpeningSet OpeningProof FriProof }
type ProofChallenges ¶
type ProofChallenges struct { PlonkBetas []gl.Variable PlonkGammas []gl.Variable PlonkAlphas []gl.Variable PlonkZeta gl.QuadraticExtensionVariable FriChallenges FriChallenges }
type ProofWithPublicInputs ¶
type ProofWithPublicInputs struct { Proof Proof PublicInputs []gl.Variable // Length = CommonCircuitData.NumPublicInputs }
func DeserializeProofWithPublicInputs ¶
func DeserializeProofWithPublicInputs(raw types.ProofWithPublicInputsRaw) ProofWithPublicInputs
type VerifierOnlyCircuitData ¶
type VerifierOnlyCircuitData struct { ConstantSigmasCap FriMerkleCap CircuitDigest poseidon.BN254HashOut }
func DeserializeVerifierOnlyCircuitData ¶
func DeserializeVerifierOnlyCircuitData(raw types.VerifierOnlyCircuitDataRaw) VerifierOnlyCircuitData
Click to show internal directories.
Click to hide internal directories.