Module Signed_command.Gen

val payment : ?sign_type:[ `Fake | `Real ] -> key_gen: (Mina_base_import.Signature_keypair.t * Mina_base_import.Signature_keypair.t) Core_kernel.Quickcheck.Generator.t -> ?nonce:Mina_numbers.Account_nonce.t -> ?min_amount:int -> max_amount:int -> fee_range:int -> unit -> t Core_kernel.Quickcheck.Generator.t

Generate a single transaction between * Generate random keys for sender and receiver * for fee $\in Mina_compile_config.minimum_user_command_fee, * Mina_compile_config.minimum_user_command_fee+fee_range$ * and an amount $\in 1,max_amount$

val payment_with_random_participants : ?sign_type:[ `Fake | `Real ] -> keys:Mina_base_import.Signature_keypair.t array -> ?nonce:Mina_numbers.Account_nonce.t -> ?min_amount:int -> max_amount:int -> fee_range:int -> unit -> t Core_kernel.Quickcheck.Generator.t

Generate a single transaction between * $a, b \in keys$ * for fee $\in Mina_compile_config.minimum_user_command_fee, * Mina_compile_config.minimum_user_command_fee+fee_range$ * and an amount $\in 1,max_amount$

val stake_delegation : key_gen: (Mina_base_import.Signature_keypair.t * Mina_base_import.Signature_keypair.t) Core_kernel.Quickcheck.Generator.t -> ?nonce:Mina_numbers.Account_nonce.t -> fee_range:int -> unit -> t Core_kernel.Quickcheck.Generator.t
val stake_delegation_with_random_participants : keys:Mina_base_import.Signature_keypair.t array -> ?nonce:Mina_numbers.Account_nonce.t -> fee_range:int -> unit -> t Core_kernel.Quickcheck.Generator.t
val sequence : ?length:int -> ?sign_type:[ `Fake | `Real ] -> (Signature_lib.Keypair.t * Currency.Amount.t * Mina_numbers.Account_nonce.t * Account_timing.t) array -> t list Core_kernel.Quickcheck.Generator.t

Generate a valid sequence of payments based on the initial state of a ledger. Use this together with Ledger.gen_initial_ledger_state.