+ more config

This commit is contained in:
swrup 2025-10-13 01:55:02 +02:00
parent e733878ccc
commit 0016410697

View file

@ -7,6 +7,27 @@
- default config: use relevant duration, all set to 1 year for now
*)
(* TODO unikernel *)
type dir_path
type file_path
(* TODO *)
(* Values that represent a time duration are represented as a series of one or more NUMBER UNIT pairs, e.g. 60 s, 4 weeks 1 day, 5 years 2 minutes. *)
type duration
(* TODO
make it Amount.t *)
type amount = string
(* TODO
still need to parse them and tell that its not supported
some maybe are relevant
idk *)
type not_relevant
type not_implemented
type url = string
type seconds = int
module Global = struct end
(*
@ -69,25 +90,6 @@ module type Currency = sig
val alt_unit_names : (int * string) list
end
(* TODO unikernel *)
type directory
(* TODO *)
(* Values that represent a time duration are represented as a series of one or more NUMBER UNIT pairs, e.g. 60 s, 4 weeks 1 day, 5 years 2 minutes. *)
type duration
(* TODO
make it Amount.t *)
type amount = string
(* TODO
still need to parse them and tell that its not supported
some maybe are relevant
idk *)
type not_relevant
type url = string
type seconds = int
(* The following options are from the “[exchange]” section and used by most
exchange tools. *)
module type Exchange = sig
@ -261,7 +263,7 @@ module type Exchange = sig
- $TERMS_DIR/fr/0.pdf
- $TERMS_DIR/fr/0.html
- $TERMS_DIR/de/0.txt *)
val terms_dir : directory
val terms_dir : dir_path
(*
Basename of the file(s) in the ``TERMS_DIR`` with the current terms of service.
@ -276,7 +278,7 @@ module type Exchange = sig
(*
Works the same as ``TERMS_DIR``, just for the privacy policy. *)
val privacy_dir : directory
val privacy_dir : dir_path
(*
Works the same as ``TERMS_ETAG``, just for the privacy policy. *)
@ -287,6 +289,55 @@ module type Exchange = sig
val enable_kyc : [ `YES | `NO ]
end
(* todo: KYC and AML options *)
(*
The functionality of the exchange can be extended by extensions. Those are
shared libraries which implement the extension-API of the exchange and are
located under ``$LIBDIR``, starting with prefix ``libtaler_extension_``. Each
extension can be enabled by adding a dedicated section
"[exchange-extension-<extensionname>]" and the following option:
*)
module type Extansions = sig
(*
If set to ``YES`` the extension ``<extensionsname>`` is enabled. Extension-specific
options might be set in the same section. *)
val enabled : [ (*`YES|*) `NO ]
end
(* The following options must be in the section "[exchange-offline]". *)
module type Offline_signing = sig
(*
Location of the master private key on disk. Only used by tools that
can be run offline (as the master key is for offline signing).
Mandatory. *)
val master_priv_file : file_path
(* TODO
- we need two different file
- there is three, not two, crypto helper modules
is it only two, because the eddsa one is not comptabilized as a "crypto helper" here? *)
(*
Where to store the public keys of both crypto helper modules.
Used to persist the keys after the first invocation of the tool,
so that if they ever change in the future, this is detected and
the tool can abort.
Mandatory. *)
val secm_tofu_file : file_path
(*
Public key of the (RSA) crypto helper module. Optional. If not given,
we will rely on TOFU. Note that once TOFU has been established,
this option will also be ignored. *)
val secm_denom_pubkey : string option
(*
Public key of the (EdDSA) crypto helper module. Optional. If not given,
we will rely on TOFU. Note that once TOFU has been established,
this option will also be ignored. *)
val secm_esign_pubkey : string option
end
(* -- ********************************** -- *)
let currency = `Eur
let currency_to_string = function `Eur -> "EUR"