Documentation
¶
Index ¶
- func AssertIDWitness[FR emulated.FieldParams](api frontend.API, id LinkageID, witnessValues []emulated.Element[FR], ...)
- func GetPlaceholderFp() common_utils.FingerPrintBytes
- func TestIDWitness[FR emulated.FieldParams](api frontend.API, id LinkageID, witnessValues []emulated.Element[FR], ...) frontend.Variable
- func TestRecursiveFps[FR emulated.FieldParams](api frontend.API, witness plonk.Witness[FR], ...) frontend.Variable
- type HybridCircuit
- func NewHybridAssignment[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, ...](firstVkey plonk.VerifyingKey[FR, G1El, G2El], ...) *HybridCircuit[FR, G1El, G2El, GtEl]
- func NewHybridCircuit[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, ...](nbIdVals, bitsPerIdVal int, ccsUnit constraint.ConstraintSystem, ...) *HybridCircuit[FR, G1El, G2El, GtEl]
- type LinkageID
- func LinkageIDFromBytes(data LinkageIDBytes, bitsPerVar int) LinkageID
- func LinkageIDFromU8s(api frontend.API, data []uints.U8, bitsPerVar int) LinkageID
- func PlaceholderLinkageID(nbEles, bitsPerVar int) LinkageID
- func RetrieveIDFromElements[FR emulated.FieldParams](api frontend.API, witnessValues []emulated.Element[FR], bitsPerVar uint) LinkageID
- type LinkageIDBytes
- type MultiRecursiveCircuit
- func NewMultiRecursiveAssignment[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, ...](firstVkey, secondVkey plonk.VerifyingKey[FR, G1El, G2El], ...) *MultiRecursiveCircuit[FR, G1El, G2El, GtEl]
- func NewMultiRecursiveCircuit[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, ...](nbIdVals, bitsPerIdVal int, ccsUnit constraint.ConstraintSystem, ...) *MultiRecursiveCircuit[FR, G1El, G2El, GtEl]
- type MultiUnit
- func NewMultiUnitAssignment[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, ...](beginId, endId LinkageIDBytes, bitsPerIdVal int, nbHolders int) *MultiUnit[FR, G1El, G2El, GtEl]
- func NewMultiUnitCircuit[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, ...](nbIdVals, bitsPerIdVal, nbPlaceHolderFps int) *MultiUnit[FR, G1El, G2El, GtEl]
- type RecursiveCircuit
- func NewRecursiveAssignment[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, ...](firstVkey, secondVkey plonk.VerifyingKey[FR, G1El, G2El], ...) *RecursiveCircuit[FR, G1El, G2El, GtEl]
- func NewRecursiveCircuit[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, ...](nbIdVals, bitsPerIdVal int, ccsUnit constraint.ConstraintSystem, ...) *RecursiveCircuit[FR, G1El, G2El, GtEl]
- type Unit
- func NewUnitAssignment[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, ...](beginId, endId LinkageIDBytes, bitsPerIdVal int) *Unit[FR, G1El, G2El, GtEl]
- func NewUnitCircuit[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, ...](nbIdVals, bitsPerIdVal int) *Unit[FR, G1El, G2El, GtEl]
- type UnitCore
- type Verifier
- func NewVerifierAssignment[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, ...](vkey native_plonk.VerifyingKey, proof native_plonk.Proof, ...) (*Verifier[FR, G1El, G2El, GtEl], error)
- func NewVerifierCircuit[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, ...](ccs constraint.ConstraintSystem, vkeyFpsBytes []common_utils.FingerPrintBytes, ...) (*Verifier[FR, G1El, G2El, GtEl], error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AssertIDWitness ¶
func GetPlaceholderFp ¶ added in v0.4.0
func GetPlaceholderFp() common_utils.FingerPrintBytes
func TestIDWitness ¶ added in v0.3.1
func TestRecursiveFps ¶ added in v0.5.1
func TestRecursiveFps[FR emulated.FieldParams](api frontend.API, witness plonk.Witness[FR], selfFps []common_utils.FingerPrint[FR], initialOffset, nbFpVars, nbSelfFps int) frontend.Variable
Types ¶
type HybridCircuit ¶ added in v0.4.0
type HybridCircuit[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, GtEl algebra.GtElementT] struct { BeginID LinkageID `gnark:",public"` RelayID LinkageID EndID LinkageID `gnark:",public"` SelfFps []common_utils.FingerPrint[FR] `gnark:",public"` FirstVKey plonk.VerifyingKey[FR, G1El, G2El] FirstProof plonk.Proof[FR, G1El, G2El] FirstWitness plonk.Witness[FR] SecondComp UnitCore[FR, G1El, G2El, GtEl] // constant values passed from outside ValidUnitFps []common_utils.FingerPrintBytes NbSelfFps int }
func NewHybridAssignment ¶ added in v0.4.0
func NewHybridAssignment[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, GtEl algebra.GtElementT]( firstVkey plonk.VerifyingKey[FR, G1El, G2El], firstProof plonk.Proof[FR, G1El, G2El], firstWitness plonk.Witness[FR], recursiveFps []common_utils.FingerPrint[FR], beginID, relayID, endID LinkageID, extraComp UnitCore[FR, G1El, G2El, GtEl], ) *HybridCircuit[FR, G1El, G2El, GtEl]
func NewHybridCircuit ¶ added in v0.4.0
func NewHybridCircuit[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, GtEl algebra.GtElementT]( nbIdVals, bitsPerIdVal int, ccsUnit constraint.ConstraintSystem, unitFpBytes []common_utils.FingerPrintBytes, nbSelfFps int, extraComp UnitCore[FR, G1El, G2El, GtEl], ) *HybridCircuit[FR, G1El, G2El, GtEl]
type LinkageID ¶
func LinkageIDFromBytes ¶
func LinkageIDFromBytes(data LinkageIDBytes, bitsPerVar int) LinkageID
func LinkageIDFromU8s ¶
func PlaceholderLinkageID ¶
func RetrieveIDFromElements ¶ added in v0.5.6
func (LinkageID) AssertIsEqual ¶
type LinkageIDBytes ¶
type LinkageIDBytes []byte
type MultiRecursiveCircuit ¶ added in v0.4.0
type MultiRecursiveCircuit[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, GtEl algebra.GtElementT] struct { BeginID LinkageID `gnark:",public"` RelayID LinkageID EndID LinkageID `gnark:",public"` SelfFps []common_utils.FingerPrint[FR] `gnark:",public"` FirstVKey plonk.VerifyingKey[FR, G1El, G2El] FirstProof plonk.Proof[FR, G1El, G2El] FirstWitness plonk.Witness[FR] SecondVKey plonk.VerifyingKey[FR, G1El, G2El] SecondProof plonk.Proof[FR, G1El, G2El] SecondWitness plonk.Witness[FR] // constant values passed from outside ValidUnitFps []common_utils.FingerPrintBytes NbSelfFps int // contains filtered or unexported fields }
func NewMultiRecursiveAssignment ¶ added in v0.4.0
func NewMultiRecursiveAssignment[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, GtEl algebra.GtElementT]( firstVkey, secondVkey plonk.VerifyingKey[FR, G1El, G2El], firstProof, secondProof plonk.Proof[FR, G1El, G2El], firstWitness, secondWitness plonk.Witness[FR], recursiveFps []common_utils.FingerPrint[FR], beginID, relayID, endID LinkageID, ) *MultiRecursiveCircuit[FR, G1El, G2El, GtEl]
func NewMultiRecursiveCircuit ¶ added in v0.4.0
func NewMultiRecursiveCircuit[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, GtEl algebra.GtElementT]( nbIdVals, bitsPerIdVal int, ccsUnit constraint.ConstraintSystem, unitFpBytes []common_utils.FingerPrintBytes, nbSelfFps int, opt ...bool) *MultiRecursiveCircuit[FR, G1El, G2El, GtEl]
type MultiUnit ¶ added in v0.4.0
type MultiUnit[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, GtEl algebra.GtElementT] struct { BeginID LinkageID `gnark:",public"` EndID LinkageID `gnark:",public"` PlaceHolderFps []common_utils.FingerPrint[FR] `gnark:",public"` // so that Unit could share the same witness alignment with Recursive NbPlaceHolderFps int }
func NewMultiUnitAssignment ¶ added in v0.4.0
func NewMultiUnitAssignment[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, GtEl algebra.GtElementT]( beginId, endId LinkageIDBytes, bitsPerIdVal int, nbHolders int, ) *MultiUnit[FR, G1El, G2El, GtEl]
func NewMultiUnitCircuit ¶ added in v0.4.0
func NewMultiUnitCircuit[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, GtEl algebra.GtElementT]( nbIdVals, bitsPerIdVal, nbPlaceHolderFps int, ) *MultiUnit[FR, G1El, G2El, GtEl]
type RecursiveCircuit ¶
type RecursiveCircuit[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, GtEl algebra.GtElementT] struct { *MultiRecursiveCircuit[FR, G1El, G2El, GtEl] }
func NewRecursiveAssignment ¶ added in v0.2.0
func NewRecursiveAssignment[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, GtEl algebra.GtElementT]( firstVkey, secondVkey plonk.VerifyingKey[FR, G1El, G2El], firstProof, secondProof plonk.Proof[FR, G1El, G2El], firstWitness, secondWitness plonk.Witness[FR], recursiveFp common_utils.FingerPrint[FR], beginID, relayID, endID LinkageID, ) *RecursiveCircuit[FR, G1El, G2El, GtEl]
func NewRecursiveCircuit ¶ added in v0.2.0
func NewRecursiveCircuit[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, GtEl algebra.GtElementT]( nbIdVals, bitsPerIdVal int, ccsUnit constraint.ConstraintSystem, unitFpBytes []common_utils.FingerPrintBytes, opt ...bool) *RecursiveCircuit[FR, G1El, G2El, GtEl]
type Unit ¶ added in v0.3.1
type Unit[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, GtEl algebra.GtElementT] struct { *MultiUnit[FR, G1El, G2El, GtEl] }
func NewUnitAssignment ¶ added in v0.3.1
func NewUnitAssignment[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, GtEl algebra.GtElementT]( beginId, endId LinkageIDBytes, bitsPerIdVal int, ) *Unit[FR, G1El, G2El, GtEl]
func NewUnitCircuit ¶ added in v0.3.1
func NewUnitCircuit[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, GtEl algebra.GtElementT]( nbIdVals, bitsPerIdVal int, ) *Unit[FR, G1El, G2El, GtEl]
type UnitCore ¶ added in v0.4.0
type UnitCore[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, GtEl algebra.GtElementT] interface { Define(api frontend.API) error GetBeginID() LinkageID GetEndID() LinkageID }
type Verifier ¶ added in v0.5.2
type Verifier[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, GtEl algebra.GtElementT] struct { VKey plonk.VerifyingKey[FR, G1El, G2El] Proof plonk.Proof[FR, G1El, G2El] Witness plonk.Witness[FR] // circuit constants VkeyFpsBytes []common_utils.FingerPrintBytes NbIdVars int NbFpVars int NbSelfFps int }
func NewVerifierAssignment ¶ added in v0.5.2
func NewVerifierAssignment[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, GtEl algebra.GtElementT]( vkey native_plonk.VerifyingKey, proof native_plonk.Proof, witness witness.Witness, ) (*Verifier[FR, G1El, G2El, GtEl], error)
func NewVerifierCircuit ¶ added in v0.5.2
func NewVerifierCircuit[FR emulated.FieldParams, G1El algebra.G1ElementT, G2El algebra.G2ElementT, GtEl algebra.GtElementT]( ccs constraint.ConstraintSystem, vkeyFpsBytes []common_utils.FingerPrintBytes, nbIdVars, nbFpVars, nbSelfFps int, ) (*Verifier[FR, G1El, G2El, GtEl], error)
Click to show internal directories.
Click to hide internal directories.