Module Tezos_benchmarks_proto_022_PsRiotum.Sapling_generation

type sapling_gen_options = {
  1. max_inputs : int;
  2. max_outputs : int;
  3. max_nullifiers : int;
  4. max_additional_commitments : int;
  5. seed : int option;
}
val default_sapling_gen_options : sapling_gen_options
val fisher_yates : int -> Stdlib.Random.State.t -> int array
val random_injection : int -> int -> Stdlib.Random.State.t -> int array
type sapling_transition = {
  1. state_seed : int64;
  2. nullifier_count : int64;
  3. commitment_count : int64;
  4. sapling_tx : Tezos_protocol_022_PsRiotum.Protocol.Alpha_context.Sapling.transaction;
}
type forge_info = {
  1. rcm : Tezos_sapling.Core.Client.Rcm.t;
  2. position : int64;
  3. amount : int64;
  4. address : Tezos_sapling.Core.Client.Viewing_key.address;
  5. nf : Tezos_sapling.Core.Client.Nullifier.t;
}
val random_amount : Stdlib.Random.State.t -> int64 -> Stdlib.Int64.t
val pp_rpc_diff : Stdlib.Format.formatter -> Tezos_protocol_022_PsRiotum.Protocol.Sapling_repr.diff -> unit
val random_bytes : Stdlib.Random.State.t -> int -> bytes
val gen_rcm : Stdlib.Random.State.t -> Tezos_sapling.Core.Client.Rcm.t
val generate_commitments : vk:Tezos_sapling.Core.Client.Viewing_key.t -> nb_input:int -> nb_cm:int -> nb_nf:int -> diff:Tezos_protocol_022_PsRiotum.Protocol.Sapling_repr.diff -> index:Tezos_sapling.Core.Client.Viewing_key.index -> Stdlib.Random.State.t -> (Tezos_protocol_022_PsRiotum.Protocol.Sapling_repr.diff * forge_info list, 'a) Stdlib.result Lwt.t
val output : Tezos_sapling.Core.Client.Proving.t -> Tezos_sapling__Core.Client.Viewing_key.t -> int64 -> Stdlib.Random.State.t -> Tezos_sapling.Core.Validator.UTXO.output * Stdlib.Int64.t
val outputs : int -> Tezos_sapling.Core.Client.Proving.t -> Tezos_sapling__Core.Client.Viewing_key.t -> Stdlib.Random.State.t -> int64 * Tezos_sapling.Core.Validator.UTXO.output list
val make_inputs : forge_info list -> Tezos_sapling.Storage.state -> Tezos_sapling.Core.Client.Proving.t -> Tezos_sapling__Core.Client.Spending_key.t -> Tezos_sapling__Core.Client.Viewing_key.t -> Tezos_sapling__Core.Client.Hash.t -> string -> (Tezos_sapling.Core.Validator.UTXO.input list, 'a Tezos_error_monad.TzTrace.trace) Stdlib.result Lwt.t
val generate_spending_and_viewing_keys : Stdlib.Random.State.t -> Tezos_sapling.Core.Client.Spending_key.t * Tezos_sapling.Core.Client.Viewing_key.t
val save : filename:string -> txs:sapling_transition list -> unit
val load_file : string -> (string * sapling_transition) list
val get_all_sapling_data_files : string -> string list
type type_transaction =
  1. | Empty
  2. | Non_empty
val load : filename:string -> type_transaction -> (string * sapling_transition) list
val shared_seed : int array
val generate : string -> int -> sapling_gen_options -> unit