104 lines
3.6 KiB
OCaml
104 lines
3.6 KiB
OCaml
![]() |
(**************************************************************************)
|
||
|
(* *)
|
||
|
(* Copyright (c) 2014 - 2016. *)
|
||
|
(* Dynamic Ledger Solutions, Inc. <contact@tezos.com> *)
|
||
|
(* *)
|
||
|
(* All rights reserved. No warranty, explicit or implicit, provided. *)
|
||
|
(* *)
|
||
|
(**************************************************************************)
|
||
|
|
||
|
open Tezos_context
|
||
|
|
||
|
type t
|
||
|
type cost
|
||
|
|
||
|
val consume : t -> cost -> t
|
||
|
|
||
|
val encoding : t Data_encoding.encoding
|
||
|
val pp : Format.formatter -> t -> unit
|
||
|
|
||
|
val encoding_cost : cost Data_encoding.encoding
|
||
|
val pp_cost : Format.formatter -> cost -> unit
|
||
|
|
||
|
val check : t -> unit tzresult Lwt.t
|
||
|
type error += Quota_exceeded
|
||
|
|
||
|
val of_int : int -> t
|
||
|
|
||
|
module Cost_of : sig
|
||
|
val cycle : cost
|
||
|
val loop_cycle : cost
|
||
|
val list_size : cost
|
||
|
val nop : cost
|
||
|
val stack_op : cost
|
||
|
val bool_binop : 'a -> 'b -> cost
|
||
|
val bool_unop : 'a -> cost
|
||
|
val pair : cost
|
||
|
val pair_access : cost
|
||
|
val cons : cost
|
||
|
val variant_no_data : cost
|
||
|
val branch : cost
|
||
|
val concat : string -> string -> cost
|
||
|
val map_mem :
|
||
|
'a -> ('b, 'c) Script_typed_ir.map -> cost
|
||
|
val map_to_list :
|
||
|
('b, 'c) Script_typed_ir.map -> cost
|
||
|
val map_get :
|
||
|
'a -> ('b, 'c) Script_typed_ir.map -> cost
|
||
|
val map_update :
|
||
|
'a -> 'b -> ('c, 'd) Script_typed_ir.map -> cost
|
||
|
val map_size : cost
|
||
|
val set_to_list : 'a Script_typed_ir.set -> cost
|
||
|
val set_update : 'a -> 'b -> 'a Script_typed_ir.set -> cost
|
||
|
val set_mem : 'a -> 'a Script_typed_ir.set -> cost
|
||
|
val mul : 'a Script_int.num -> 'b Script_int.num -> cost
|
||
|
val div : 'a Script_int.num -> 'b Script_int.num -> cost
|
||
|
val add : 'a Script_int.num -> 'b Script_int.num -> cost
|
||
|
val sub : 'a Script_int.num -> 'b Script_int.num -> cost
|
||
|
val abs : 'a Script_int.num -> cost
|
||
|
val neg : 'a Script_int.num -> cost
|
||
|
val int : 'a -> cost
|
||
|
val add_timestamp : Script_timestamp.t -> 'a Script_int.num -> cost
|
||
|
val sub_timestamp : Script_timestamp.t -> 'a Script_int.num -> cost
|
||
|
val diff_timestamps : Script_timestamp.t -> Script_timestamp.t -> cost
|
||
|
val empty_set : cost
|
||
|
val set_size : cost
|
||
|
val empty_map : cost
|
||
|
val int64_op : cost
|
||
|
val z_to_int64 : cost
|
||
|
val int64_to_z : cost
|
||
|
val bitwise_binop : 'a Script_int.num -> 'b Script_int.num -> cost
|
||
|
val logor : 'a Script_int.num -> 'b Script_int.num -> cost
|
||
|
val logand : 'a Script_int.num -> 'b Script_int.num -> cost
|
||
|
val logxor : 'a Script_int.num -> 'b Script_int.num -> cost
|
||
|
val lognot : 'a Script_int.num -> cost
|
||
|
val shift_left : 'a Script_int.num -> 'b Script_int.num -> cost
|
||
|
val shift_right : 'a Script_int.num -> 'b Script_int.num -> cost
|
||
|
val exec : cost
|
||
|
val push : cost
|
||
|
val compare_res : cost
|
||
|
val manager : cost
|
||
|
val transfer : cost
|
||
|
val create_account : cost
|
||
|
val create_contract : cost
|
||
|
val default_account : cost
|
||
|
val balance : cost
|
||
|
val now : cost
|
||
|
val check_signature : cost
|
||
|
val hash_key : cost
|
||
|
val hash : 'a -> cost
|
||
|
val get_steps_to_quota : t -> Script_int.n Script_int.num
|
||
|
val steps_to_quota : cost
|
||
|
val source : cost
|
||
|
val amount : cost
|
||
|
val wrap : cost
|
||
|
val compare_bool : 'a -> 'b -> cost
|
||
|
val compare_string : string -> string -> cost
|
||
|
val compare_tez : 'a -> 'b -> cost
|
||
|
val compare_int : 'a Script_int.num -> 'b Script_int.num -> cost
|
||
|
val compare_nat : 'a Script_int.num -> 'b Script_int.num -> cost
|
||
|
val compare_key_hash : 'a -> 'b -> cost
|
||
|
val compare_timestamp : Script_timestamp.t -> Script_timestamp.t -> cost
|
||
|
end
|
||
|
|