Mina_transaction_logicmodule Zkapp_command_logic : sig ... endmodule Global_slot = Mina_numbers.Global_slotmodule Transaction_applied : sig ... endmodule type S = sig ... endval timing_error_to_user_command_status :
Base__Error.t ->
Mina_base.Transaction_status.Failure.tval validate_timing_with_min_balance' :
account:
( 'a,
'b,
'c,
'd,
Currency.Balance.t,
'e,
'f,
'g,
'h,
( Mina_numbers.Global_slot.t,
Currency.Balance.Stable.Latest.t,
Currency.Amount.t )
Mina_base.Account.Timing.Poly.t,
'i,
'j )
Mina_base.Account.Poly.t ->
txn_amount:Currency.Amount.t ->
txn_global_slot:Mina_numbers.Global_slot.t ->
[> `Insufficient_balance of bool | `Invalid_timing of bool ]
* ( Mina_numbers.Global_slot.t,
Currency.Balance.Stable.Latest.t,
Currency.Amount.t )
Mina_base.Account.Timing.Poly.t
* [> `Min_balance of Currency.Balance.Stable.Latest.t ]validate_timing_with_min_balance' ~account ~txn_amount ~txn_global_slot returns a tuple of 3 values: * [`Insufficient_balance of bool | `Invalid_timing of bool] encodes possible errors, with the invariant that the return value is always `Invalid_timing false if there was no error.
`Insufficient_balance true results if txn_amount is larger than the balance held in account.`Invalid_timing true results if txn_amount is larger than the balance available in account at global slot txn_global_slot. * Timing.t, the new timing for account calculated at txn_global_slot. * [`Min_balance of Balance.t] returns the computed available balance at txn_global_slot.`Insufficient_balance true. In this scenario, this value MUST NOT be used, as it contains an incorrect placeholder value.val validate_timing_with_min_balance :
account:
( 'a,
'b,
'c,
'd,
Currency.Balance.Stable.Latest.t,
'e,
'f,
'g,
'h,
( Mina_numbers.Global_slot.t,
Currency.Balance.Stable.Latest.t,
Currency.Amount.t )
Mina_base.Account.Timing.Poly.t,
'i,
'j )
Mina_base.Account.Poly.t ->
txn_amount:Currency.Amount.Stable.Latest.t ->
txn_global_slot:Global_slot.t ->
(( Mina_numbers.Global_slot.t,
Currency.Balance.Stable.Latest.t,
Currency.Amount.t )
Mina_base.Account.Timing.Poly.t
* [> `Min_balance of Currency.Balance.Stable.Latest.t ])
Core_kernel.Or_error.tval validate_timing :
account:
( 'a,
'b,
'c,
'd,
Currency.Balance.Stable.Latest.t,
'e,
'f,
'g,
'h,
( Mina_numbers.Global_slot.t,
Currency.Balance.Stable.Latest.t,
Currency.Amount.t )
Mina_base.Account.Timing.Poly.t,
'i,
'j )
Mina_base.Account.Poly.t ->
txn_amount:Currency.Amount.Stable.Latest.t ->
txn_global_slot:Global_slot.t ->
( ( Mina_numbers.Global_slot.t,
Currency.Balance.Stable.Latest.t,
Currency.Amount.t )
Mina_base.Account.Timing.Poly.t,
Core_kernel__.Error.t )
Core_kernel__Result.tmodule For_tests : sig ... end