Module Fee_excess.Poly

module Stable : sig ... end
type ('token, 'fee) t = ( 'token, 'fee ) Stable.Latest.t = {
fee_token_l : 'token;
fee_excess_l : 'fee;
fee_token_r : 'token;
fee_excess_r : 'fee;
}
val compare : 'token 'fee. ( 'token -> 'token -> int ) -> ( 'fee -> 'fee -> int ) -> ( 'token, 'fee ) t -> ( 'token, 'fee ) t -> int
val equal : 'token 'fee. ( 'token -> 'token -> bool ) -> ( 'fee -> 'fee -> bool ) -> ( 'token, 'fee ) t -> ( 'token, 'fee ) t -> bool
val hash_fold_t : 'token 'fee. ( Ppx_hash_lib.Std.Hash.state -> 'token -> Ppx_hash_lib.Std.Hash.state ) -> ( Ppx_hash_lib.Std.Hash.state -> 'fee -> Ppx_hash_lib.Std.Hash.state ) -> Ppx_hash_lib.Std.Hash.state -> ( 'token, 'fee ) t -> Ppx_hash_lib.Std.Hash.state
val t_of_sexp : 'token 'fee. ( Ppx_sexp_conv_lib.Sexp.t -> 'token ) -> ( Ppx_sexp_conv_lib.Sexp.t -> 'fee ) -> Ppx_sexp_conv_lib.Sexp.t -> ( 'token, 'fee ) t
val sexp_of_t : 'token 'fee. ( 'token -> Ppx_sexp_conv_lib.Sexp.t ) -> ( 'fee -> Ppx_sexp_conv_lib.Sexp.t ) -> ( 'token, 'fee ) t -> Ppx_sexp_conv_lib.Sexp.t
val to_hlist : ( 'token, 'fee ) t -> ( unit, 'token -> 'fee -> 'token -> 'fee -> unit ) H_list.t
val of_hlist : ( unit, 'token -> 'fee -> 'token -> 'fee -> unit ) H_list.t -> ( 'token, 'fee ) t
val to_yojson : ( 'a -> 'b ) -> ( 'c -> 'b ) -> ( 'a, 'c ) Stable.Latest.t -> [> `List of [> `Assoc of (string * 'b) list ] list ]
val of_yojson : ( 'a -> ( 'b, string ) Core_kernel__Result.t ) -> ( 'a -> ( 'c, string ) Core_kernel__Result.t ) -> [> `List of [> `Assoc of (string * 'a) list ] list ] -> ( ( 'b, 'c ) Stable.Latest.t, string ) Core_kernel__Result.t
val typ : ( 'token_var, 'token ) Snark_params.Tick.Typ.t -> ( 'fee_var, 'fee ) Snark_params.Tick.Typ.t -> ( ( 'token_var0, 'fee_var0 ) t, ( 'token0, 'fee0 ) t ) Snark_params.Tick.Typ.t