Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CircuitConfig ¶
type CommonCircuitData ¶
type CommonCircuitData struct { Config CircuitConfig FriParams GateIds []string SelectorsInfo gates.SelectorsInfo DegreeBits uint64 QuotientDegreeFactor uint64 NumGateConstraints uint64 NumConstants uint64 NumPublicInputs uint64 KIs []uint64 NumPartialProducts uint64 }
func ReadCommonCircuitData ¶
func ReadCommonCircuitData(path string) CommonCircuitData
type CommonCircuitDataRaw ¶
type CommonCircuitDataRaw struct { Config struct { NumWires uint64 `json:"num_wires"` NumRoutedWires uint64 `json:"num_routed_wires"` NumConstants uint64 `json:"num_constants"` UseBaseArithmeticGate bool `json:"use_base_arithmetic_gate"` SecurityBits uint64 `json:"security_bits"` NumChallenges uint64 `json:"num_challenges"` ZeroKnowledge bool `json:"zero_knowledge"` MaxQuotientDegreeFactor uint64 `json:"max_quotient_degree_factor"` FriConfig struct { RateBits uint64 `json:"rate_bits"` CapHeight uint64 `json:"cap_height"` ProofOfWorkBits uint64 `json:"proof_of_work_bits"` ReductionStrategy struct { ConstantArityBits []uint64 `json:"ConstantArityBits"` } `json:"reduction_strategy"` NumQueryRounds uint64 `json:"num_query_rounds"` } `json:"fri_config"` } `json:"config"` FriParams struct { Config struct { RateBits uint64 `json:"rate_bits"` CapHeight uint64 `json:"cap_height"` ProofOfWorkBits uint64 `json:"proof_of_work_bits"` ReductionStrategy struct { ConstantArityBits []uint64 `json:"ConstantArityBits"` } `json:"reduction_strategy"` NumQueryRounds uint64 `json:"num_query_rounds"` } `json:"config"` Hiding bool `json:"hiding"` DegreeBits uint64 `json:"degree_bits"` ReductionArityBits []uint64 `json:"reduction_arity_bits"` } `json:"fri_params"` Gates []string `json:"gates"` SelectorsInfo struct { SelectorIndices []uint64 `json:"selector_indices"` Groups []struct { Start uint64 `json:"start"` End uint64 `json:"end"` } `json:"groups"` } `json:"selectors_info"` QuotientDegreeFactor uint64 `json:"quotient_degree_factor"` NumGateConstraints uint64 `json:"num_gate_constraints"` NumConstants uint64 `json:"num_constants"` NumPublicInputs uint64 `json:"num_public_inputs"` KIs []uint64 `json:"k_is"` NumPartialProducts uint64 `json:"num_partial_products"` }
type EvalProofRaw ¶
type EvalProofRaw struct { LeafElements []uint64 MerkleProof MerkleProofRaw }
func (*EvalProofRaw) UnmarshalJSON ¶
func (e *EvalProofRaw) UnmarshalJSON(data []byte) error
type FriConfig ¶
type FriParams ¶
type FriParams struct { Config FriConfig Hiding bool DegreeBits uint64 ReductionArityBits []uint64 }
func (*FriParams) FinalPolyBits ¶
func (*FriParams) FinalPolyLen ¶
func (*FriParams) MaxArityBits ¶
func (*FriParams) TotalArities ¶
type MerkleProofRaw ¶
type MerkleProofRaw struct {
Hash []string
}
func (*MerkleProofRaw) UnmarshalJSON ¶
func (m *MerkleProofRaw) UnmarshalJSON(data []byte) error
type ProofChallengesRaw ¶
type ProofChallengesRaw struct { PlonkBetas []uint64 `json:"plonk_betas"` PlonkGammas []uint64 `json:"plonk_gammas"` PlonkAlphas []uint64 `json:"plonk_alphas"` PlonkZeta []uint64 `json:"plonk_zeta"` FriChallenges struct { FriAlpha []uint64 `json:"fri_alpha"` FriBetas [][]uint64 `json:"fri_betas"` FriPowResponse uint64 `json:"fri_pow_response"` FriQueryIndices []uint64 `json:"fri_query_indices"` } `json:"fri_challenges"` }
type ProofWithPublicInputsRaw ¶
type ProofWithPublicInputsRaw struct { Proof struct { WiresCap []string `json:"wires_cap"` PlonkZsPartialProductsCap []string `json:"plonk_zs_partial_products_cap"` QuotientPolysCap []string `json:"quotient_polys_cap"` Openings struct { Constants [][]uint64 `json:"constants"` PlonkSigmas [][]uint64 `json:"plonk_sigmas"` Wires [][]uint64 `json:"wires"` PlonkZs [][]uint64 `json:"plonk_zs"` PlonkZsNext [][]uint64 `json:"plonk_zs_next"` PartialProducts [][]uint64 `json:"partial_products"` QuotientPolys [][]uint64 `json:"quotient_polys"` } `json:"openings"` OpeningProof struct { CommitPhaseMerkleCaps [][]string `json:"commit_phase_merkle_caps"` QueryRoundProofs []struct { InitialTreesProof struct { EvalsProofs []EvalProofRaw `json:"evals_proofs"` } `json:"initial_trees_proof"` Steps []struct { Evals [][]uint64 `json:"evals"` MerkleProof struct { Siblings []string `json:"siblings"` } `json:"merkle_proof"` } `json:"steps"` } `json:"query_round_proofs"` FinalPoly struct { Coeffs [][]uint64 `json:"coeffs"` } `json:"final_poly"` PowWitness uint64 `json:"pow_witness"` } `json:"opening_proof"` } `json:"proof"` PublicInputs []uint64 `json:"public_inputs"` }
func ReadProofWithPublicInputs ¶
func ReadProofWithPublicInputs(path string) ProofWithPublicInputsRaw
type VerifierOnlyCircuitDataRaw ¶
type VerifierOnlyCircuitDataRaw struct { ConstantsSigmasCap []string `json:"constants_sigmas_cap"` CircuitDigest string `json:"circuit_digest"` }
func ReadVerifierOnlyCircuitData ¶
func ReadVerifierOnlyCircuitData(path string) VerifierOnlyCircuitDataRaw
Click to show internal directories.
Click to hide internal directories.