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"` OriginLen frontend.Variable `gnark:",public"` // This is encoded as a single ASCII character per byte Origin [256]uints.U8 `gnark:",public"` // The max capacity is 256 bytes (arbitrarily) CallerLen frontend.Variable `gnark:",public"` // The 'len' arguments are necessary to parse the witness Caller [256]uints.U8 `gnark:",public"` BlockTime frontend.Variable `gnark:",public"` BlockNb frontend.Variable `gnark:",public"` TxHash [64]uints.U8 `gnark:",public"` }
This is the public interface that a verifiable circuit must implement
Click to show internal directories.
Click to hide internal directories.