Mina_wire_types.Currency
We follow the same structure from currency.ml
module Types : sig ... end
module type Concrete =
Types.S
with type Fee.V1.t = Unsigned.UInt64.t
and type Amount.V1.t = Unsigned.UInt64.t
and type Balance.V1.t = Unsigned.UInt64.t
Here, we hide the concrete type definitions from our module, which is the whole point of all this machinery.
module type Local_sig = Utils.Signature(Types).S
module Make
(Signature : Local_sig)
(_ : functor (A : Concrete) -> Signature(A).S) :
Signature(M).S