Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Groth16Proof ¶
type Groth16Proof struct { Proof []byte `json:"proof"` VerifyingKey []byte `json:"verifying_key"` PublicWitness []byte `json:"public_witness"` }
Struct type expected for the "proof" argument
func (*Groth16Proof) ExtractData ¶
func (proof *Groth16Proof) ExtractData(witness witness.Witness) (*zktx.HyleOutput, error)
func (*Groth16Proof) ParseProof ¶
func (proof *Groth16Proof) ParseProof() (groth16.Proof, groth16.VerifyingKey, witness.Witness, error)
type HyleCircuit ¶
type HyleCircuit struct { Version frontend.Variable `gnark:",public"` InputLen frontend.Variable `gnark:",public"` Input []frontend.Variable `gnark:",public"` OutputLen frontend.Variable `gnark:",public"` Output []frontend.Variable `gnark:",public"` IdentityLen frontend.Variable `gnark:",public"` // This is encoded as a single ASCII character per byte Identity [256]uints.U8 `gnark:",public"` // The max capacity is 256 bytes (arbitrarily, but we need something static) TxHash [64]uints.U8 `gnark:",public"` PayloadHash [32]uints.U8 `gnark:",public"` Success frontend.Variable `gnark:",public"` }
This is the public interface that a verifiable circuit must implement
Click to show internal directories.
Click to hide internal directories.