Module Statement.In_circuit

type ('challenge, 'scalar_challenge, 'fp, 'lookup_opt, 'messages_for_next_wrap_proof, 'digest, 'messages_for_next_step_proof, 'bp_chals, 'index) t = ( ( 'challenge, 'scalar_challenge, 'fp, 'lookup_opt ) Proof_state.Deferred_values.Plonk.In_circuit.t, 'scalar_challenge, 'fp, 'messages_for_next_wrap_proof, 'digest, 'messages_for_next_step_proof, 'bp_chals, 'index ) Stable.Latest.t
val to_yojson : ( 'challenge -> Yojson.Safe.t ) -> ( 'scalar_challenge -> Yojson.Safe.t ) -> ( 'fp -> Yojson.Safe.t ) -> ( 'lookup_opt -> Yojson.Safe.t ) -> ( 'messages_for_next_wrap_proof -> Yojson.Safe.t ) -> ( 'digest -> Yojson.Safe.t ) -> ( 'messages_for_next_step_proof -> Yojson.Safe.t ) -> ( 'bp_chals -> Yojson.Safe.t ) -> ( 'index -> Yojson.Safe.t ) -> ( 'challenge, 'scalar_challenge, 'fp, 'lookup_opt, 'messages_for_next_wrap_proof, 'digest, 'messages_for_next_step_proof, 'bp_chals, 'index ) t -> Yojson.Safe.t
val of_yojson : ( Yojson.Safe.t -> 'challenge Ppx_deriving_yojson_runtime.error_or ) -> ( Yojson.Safe.t -> 'scalar_challenge Ppx_deriving_yojson_runtime.error_or ) -> ( Yojson.Safe.t -> 'fp Ppx_deriving_yojson_runtime.error_or ) -> ( Yojson.Safe.t -> 'lookup_opt Ppx_deriving_yojson_runtime.error_or ) -> ( Yojson.Safe.t -> 'messages_for_next_wrap_proof Ppx_deriving_yojson_runtime.error_or ) -> ( Yojson.Safe.t -> 'digest Ppx_deriving_yojson_runtime.error_or ) -> ( Yojson.Safe.t -> 'messages_for_next_step_proof Ppx_deriving_yojson_runtime.error_or ) -> ( Yojson.Safe.t -> 'bp_chals Ppx_deriving_yojson_runtime.error_or ) -> ( Yojson.Safe.t -> 'index Ppx_deriving_yojson_runtime.error_or ) -> Yojson.Safe.t -> ( 'challenge, 'scalar_challenge, 'fp, 'lookup_opt, 'messages_for_next_wrap_proof, 'digest, 'messages_for_next_step_proof, 'bp_chals, 'index ) t Ppx_deriving_yojson_runtime.error_or
val compare : ( 'challenge -> 'challenge -> int ) -> ( 'scalar_challenge -> 'scalar_challenge -> int ) -> ( 'fp -> 'fp -> int ) -> ( 'lookup_opt -> 'lookup_opt -> int ) -> ( 'messages_for_next_wrap_proof -> 'messages_for_next_wrap_proof -> int ) -> ( 'digest -> 'digest -> int ) -> ( 'messages_for_next_step_proof -> 'messages_for_next_step_proof -> int ) -> ( 'bp_chals -> 'bp_chals -> int ) -> ( 'index -> 'index -> int ) -> ( 'challenge, 'scalar_challenge, 'fp, 'lookup_opt, 'messages_for_next_wrap_proof, 'digest, 'messages_for_next_step_proof, 'bp_chals, 'index ) t -> ( 'challenge, 'scalar_challenge, 'fp, 'lookup_opt, 'messages_for_next_wrap_proof, 'digest, 'messages_for_next_step_proof, 'bp_chals, 'index ) t -> int
val sexp_of_t : ( 'challenge -> Ppx_sexp_conv_lib.Sexp.t ) -> ( 'scalar_challenge -> Ppx_sexp_conv_lib.Sexp.t ) -> ( 'fp -> Ppx_sexp_conv_lib.Sexp.t ) -> ( 'lookup_opt -> Ppx_sexp_conv_lib.Sexp.t ) -> ( 'messages_for_next_wrap_proof -> Ppx_sexp_conv_lib.Sexp.t ) -> ( 'digest -> Ppx_sexp_conv_lib.Sexp.t ) -> ( 'messages_for_next_step_proof -> Ppx_sexp_conv_lib.Sexp.t ) -> ( 'bp_chals -> Ppx_sexp_conv_lib.Sexp.t ) -> ( 'index -> Ppx_sexp_conv_lib.Sexp.t ) -> ( 'challenge, 'scalar_challenge, 'fp, 'lookup_opt, 'messages_for_next_wrap_proof, 'digest, 'messages_for_next_step_proof, 'bp_chals, 'index ) t -> Ppx_sexp_conv_lib.Sexp.t
val t_of_sexp : ( Ppx_sexp_conv_lib.Sexp.t -> 'challenge ) -> ( Ppx_sexp_conv_lib.Sexp.t -> 'scalar_challenge ) -> ( Ppx_sexp_conv_lib.Sexp.t -> 'fp ) -> ( Ppx_sexp_conv_lib.Sexp.t -> 'lookup_opt ) -> ( Ppx_sexp_conv_lib.Sexp.t -> 'messages_for_next_wrap_proof ) -> ( Ppx_sexp_conv_lib.Sexp.t -> 'digest ) -> ( Ppx_sexp_conv_lib.Sexp.t -> 'messages_for_next_step_proof ) -> ( Ppx_sexp_conv_lib.Sexp.t -> 'bp_chals ) -> ( Ppx_sexp_conv_lib.Sexp.t -> 'index ) -> Ppx_sexp_conv_lib.Sexp.t -> ( 'challenge, 'scalar_challenge, 'fp, 'lookup_opt, 'messages_for_next_wrap_proof, 'digest, 'messages_for_next_step_proof, 'bp_chals, 'index ) t
val hash_fold_t : ( Ppx_hash_lib.Std.Hash.state -> 'challenge -> Ppx_hash_lib.Std.Hash.state ) -> ( Ppx_hash_lib.Std.Hash.state -> 'scalar_challenge -> Ppx_hash_lib.Std.Hash.state ) -> ( Ppx_hash_lib.Std.Hash.state -> 'fp -> Ppx_hash_lib.Std.Hash.state ) -> ( Ppx_hash_lib.Std.Hash.state -> 'lookup_opt -> Ppx_hash_lib.Std.Hash.state ) -> ( Ppx_hash_lib.Std.Hash.state -> 'messages_for_next_wrap_proof -> Ppx_hash_lib.Std.Hash.state ) -> ( Ppx_hash_lib.Std.Hash.state -> 'digest -> Ppx_hash_lib.Std.Hash.state ) -> ( Ppx_hash_lib.Std.Hash.state -> 'messages_for_next_step_proof -> Ppx_hash_lib.Std.Hash.state ) -> ( Ppx_hash_lib.Std.Hash.state -> 'bp_chals -> Ppx_hash_lib.Std.Hash.state ) -> ( Ppx_hash_lib.Std.Hash.state -> 'index -> Ppx_hash_lib.Std.Hash.state ) -> Ppx_hash_lib.Std.Hash.state -> ( 'challenge, 'scalar_challenge, 'fp, 'lookup_opt, 'messages_for_next_wrap_proof, 'digest, 'messages_for_next_step_proof, 'bp_chals, 'index ) t -> Ppx_hash_lib.Std.Hash.state
val equal : ( 'challenge -> 'challenge -> bool ) -> ( 'scalar_challenge -> 'scalar_challenge -> bool ) -> ( 'fp -> 'fp -> bool ) -> ( 'lookup_opt -> 'lookup_opt -> bool ) -> ( 'messages_for_next_wrap_proof -> 'messages_for_next_wrap_proof -> bool ) -> ( 'digest -> 'digest -> bool ) -> ( 'messages_for_next_step_proof -> 'messages_for_next_step_proof -> bool ) -> ( 'bp_chals -> 'bp_chals -> bool ) -> ( 'index -> 'index -> bool ) -> ( 'challenge, 'scalar_challenge, 'fp, 'lookup_opt, 'messages_for_next_wrap_proof, 'digest, 'messages_for_next_step_proof, 'bp_chals, 'index ) t -> ( 'challenge, 'scalar_challenge, 'fp, 'lookup_opt, 'messages_for_next_wrap_proof, 'digest, 'messages_for_next_step_proof, 'bp_chals, 'index ) t -> bool
val spec : 'a Spec.impl -> ( 'b, 'c, 'd Pickles_types.Hlist0.Id.t, 'e Pickles_types.Hlist0.Id.t ) Lookup_parameters.t -> ( ( 'd, 'b, 'b Scalar_challenge.t, 'f, ( 'g, Backend.Tick.Rounds.n ) Pickles_types.Vector.t, 'h, ('b Scalar_challenge.t * ('d * unit)) Pickles_types.Hlist.HlistId.t option ) flat_repr, (( 'e, Pickles_types.Nat.N9.n ) Pickles_types.Vector.t * (( 'c, Pickles_types.Nat.N2.n ) Pickles_types.Vector.t * (( 'c Scalar_challenge.t, Pickles_types.Nat.N3.n ) Pickles_types.Vector.t * (( 'i, Pickles_types.Nat.N3.n ) Pickles_types.Vector.t * (( 'j, Backend.Tick.Rounds.n ) Pickles_types.Vector.t * (( 'k, Pickles_types.Nat.N1.n ) Pickles_types.Vector.t * (( ('c Scalar_challenge.t * ('e * unit)) Pickles_types.Hlist.HlistId.t, 'a Snarky_backendless.Cvar.t Snarky_backendless.Boolean.t ) opt * unit))))))) Pickles_types.Hlist.HlistId.t, < bool1 : bool ; bool2 : 'a Snarky_backendless.Cvar.t Snarky_backendless.Boolean.t ; branch_data1 : 'h ; branch_data2 : 'k ; bulletproof_challenge1 : 'g ; bulletproof_challenge2 : 'j ; challenge1 : 'b ; challenge2 : 'c ; digest1 : 'f ; digest2 : 'i ; field1 : 'd ; field2 : 'e.. > ) Spec.T.t

A layout of the raw data in a statement, which is needed for representing it inside the circuit.

val to_data : ( 'a, 'b, 'c, 'd, 'e, 'e, 'e, 'f Pickles_types.Hlist0.Id.t, 'g ) t -> option_map: ( 'd -> f: ( ( 'h Pickles_types.Hlist0.Id.t, 'i Pickles_types.Hlist0.Id.t ) Proof_state.Deferred_values.Plonk.In_circuit.Lookup.t -> ('h * ('i * unit)) Pickles_types.Hlist.HlistId.t ) -> 'j Pickles_types.Hlist0.Id.t ) -> ( 'c, 'a, 'b, 'e, 'f, 'g, 'j ) flat_repr

Convert a statement (as structured data) into the flat data-based representation.

val of_data : ( 'a, 'b, 'c, 'd, 'e, 'f, 'g ) flat_repr -> option_map: ( 'g Pickles_types.Hlist0.Id.t -> f: ( ('h * ('i * unit)) Pickles_types.Hlist.HlistId.t -> ( 'h Pickles_types.Hlist0.Id.t, 'i Pickles_types.Hlist0.Id.t ) Proof_state.Deferred_values.Plonk.In_circuit.Lookup.t ) -> 'j ) -> ( 'b, 'c, 'a, 'j, 'd, 'd, 'd, 'e Pickles_types.Hlist0.Id.t, 'f ) t

Construct a statement (as structured data) from the flat data-based representation.