Module Single.Spec

module Stable : sig ... end
type ('witness, 'ledger_proof) t = ( 'witness, 'ledger_proof ) Stable.Latest.t =
| Transition of Transaction_snark.Statement.t * 'witness
| Merge of Transaction_snark.Statement.t * 'ledger_proof * 'ledger_proof
val to_yojson : 'witness 'ledger_proof. ( 'witness -> Yojson.Safe.t ) -> ( 'ledger_proof -> Yojson.Safe.t ) -> ( 'witness, 'ledger_proof ) t -> Yojson.Safe.t
val _ : ( 'a -> Yojson.Safe.t ) -> ( 'b -> Yojson.Safe.t ) -> ( 'a, 'b ) t -> Yojson.Safe.t
val t_of_sexp : 'witness 'ledger_proof. ( Ppx_sexp_conv_lib.Sexp.t -> 'witness ) -> ( Ppx_sexp_conv_lib.Sexp.t -> 'ledger_proof ) -> Ppx_sexp_conv_lib.Sexp.t -> ( 'witness, 'ledger_proof ) t
val sexp_of_t : 'witness 'ledger_proof. ( 'witness -> Ppx_sexp_conv_lib.Sexp.t ) -> ( 'ledger_proof -> Ppx_sexp_conv_lib.Sexp.t ) -> ( 'witness, 'ledger_proof ) t -> Ppx_sexp_conv_lib.Sexp.t
val witness : ( 'a, 'b ) t -> 'c option
val statement : ( 'a, 'b ) t -> Transaction_snark.Statement.t
val gen : 'witness Core_kernel.Quickcheck.Generator.t -> 'ledger_proof Core_kernel.Quickcheck.Generator.t -> ( 'witness, 'ledger_proof ) t Core_kernel.Quickcheck.Generator.t