Module Transaction_snark_tests.Util

val genesis_constants : Genesis_constants.t
val consensus_constants : Consensus.Constants.t
val constraint_constants : Genesis_constants.Constraint_constants.t
module Ledger : module type of Mina_ledger.Ledger
val ledger_depth : Ledger.index
val snark_module : (module Transaction_snark.S) lazy_t
val genesis_state_body_hash : Mina_base.State_hash.t
val pending_coinbase_state_stack : state_body_hash:Mina_base.State_hash.t -> Transaction_snark.Pending_coinbase_stack_state.t
val apply_zkapp_command : Ledger.t -> Mina_base.Zkapp_command.t list -> Sparse_ledger.t
val check_zkapp_command_with_merges_exn : ?expected_failure:Mina_base.Transaction_status.Failure.t -> ?ignore_outside_snark:bool -> ?state_body:Transaction_protocol_state.Block_data.t -> Ledger.t -> Mina_base.Zkapp_command.t list -> unit Async.Deferred.t

Generates base and merge snarks of all the account_update segments

Raises if either the snark generation or application fails

val trivial_zkapp : ([> `VK of ( Mina_base.Side_loaded_verification_key.t, Snark_params.Tick.Field.t ) With_hash.t ] * [> `Prover of ( unit, unit, unit, Mina_base.Zkapp_statement.t, (unit * unit * ( Pickles_types.Nat.N2.n, Pickles_types.Nat.N2.n ) Pickles.Proof.t) Async.Deferred.t ) Pickles.Prover.t ]) Stdlib.Lazy.t

Verification key of a trivial smart contract

val gen_snapp_ledger : (Mina_transaction_logic.For_tests.Test_spec.t * Signature_lib.Keypair.t) Base_quickcheck.Generator.t
module Wallet : sig ... end
val check_balance : Mina_base.Account_id.t -> int -> Ledger.t -> unit
val test_transaction_union : ?expected_failure:Mina_base.Transaction_status.Failure.t list -> ?txn_global_slot:Mina_numbers.Global_slot.t -> Ledger.t -> Mina_transaction.Transaction.Valid.t -> unit