Transaction_snark_tests.Util
val genesis_constants : Genesis_constants.t
val proof_level : Genesis_constants.Proof_level.t
val consensus_constants : Consensus.Constants.t
val constraint_constants : Genesis_constants.Constraint_constants.t
module Ledger : module type of Mina_ledger.Ledger
module Sparse_ledger : module type of Mina_ledger.Sparse_ledger
val ledger_depth : Ledger.index
val snark_module : (module Transaction_snark.S) lazy_t
val genesis_state_body : Transaction_protocol_state.Block_data.t
val genesis_state_view : Mina_base.Zkapp_precondition.Protocol_state.View.t
val genesis_state_body_hash : Mina_base.State_hash.t
val init_stack : Mina_base.Pending_coinbase.Stack_versioned.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 dummy_rule :
( Mina_base.Zkapp_statement.Checked.t, 'a, 'b, 'c ) Pickles.Tag.t ->
( Mina_base.Zkapp_statement.Checked.t
* (Mina_base.Zkapp_statement.Checked.t * unit),
'a * ('a * unit),
'b * ('b * unit),
'c * ('c * unit),
Mina_base.Zkapp_statement.Checked.t,
Mina_base.Zkapp_statement.t,
unit,
'i,
unit,
unit )
Pickles.Inductive_rule.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
val test_snapp_update :
?expected_failure:Mina_base.Transaction_status.Failure.t ->
?state_body:Transaction_protocol_state.Block_data.t ->
?snapp_permissions:Mina_base.Permissions.t ->
vk:
( Mina_base.Side_loaded_verification_key.t, Snark_params.Tick.Field.t )
With_hash.t ->
zkapp_prover:
( 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 ->
Transaction_snark.For_tests.Update_states_spec.t ->
init_ledger:Mina_transaction_logic.For_tests.Init_ledger.t ->
snapp_pk:Mina_base.Account.key ->
unit
val permissions_from_update :
Mina_base.Account_update.Update.t ->
auth:Mina_base.Permissions.Auth_required.t ->
Mina_base.Permissions.Auth_required.t Mina_base.Permissions.Poly.t
val pending_coinbase_stack_target :
Mina_transaction.Transaction.Valid.t ->
Mina_base.State_hash.t ->
Mina_base.Pending_coinbase.Stack.t ->
Mina_base.Pending_coinbase.Stack.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