mte/src/config.ml
2025-11-11 06:11:39 +01:00

100 lines
2.8 KiB
OCaml

(* hardcoded config for now *)
let amount s = Amount.of_string s |> Result.get_ok
let zero_eur = amount "EUR:0.00"
let dummy_duration = Ptime.Span.of_int_s 99999999
module Exchange = struct
let currency = "EUR"
let currency_round_unit = amount "EUR:0.01"
let db = `Pgx (* plugin to use for the database *)
let attribute_encryption_key = "uhuhg" (* high-entropy nonce. *)
let port = 3434
let master_public_key =
"8MQF2XPWCKCW4199JFPE08X7Y9XAX21SF2HD8NZKXM3PY3CMCJ90===="
|> B32.decode
|> Result.get_ok
|> Mirage_crypto_ec.Ed25519.pub_of_octets
|> Result.get_ok
let stefan_abs = zero_eur
let stefan_log = zero_eur
let stefan_lin = 0.0
let signkey_legal_duration = dummy_duration
let max_keys_caching = 9999999
let max_requests = 99999999
let terms_dir = Fpath.(v "terms")
let terms_etag = "0" |> Headers_lib.Etag.of_crockford32 |> Result.get_ok
let privacy_dir = Fpath.(v "privacy")
let privacy_etag = "0" |> Headers_lib.Etag.of_crockford32 |> Result.get_ok
let enable_kyc = `NO
end
let currency_eur =
Types.Config_types.Currency.
{
enabled= `NO;
code= "EUR";
name= "euro";
fractional_input_digits= 2;
fractional_normal_digits= 2;
fractional_trailing_zero_digits= 2;
alt_unit_names= [ (0, "E"); (3, "kE") ];
}
module Secmod_rsa = struct
let lookahead_sign = dummy_duration
let overlap_duration = dummy_duration
let sm_priv_key = Fpath.(v "rsa_key.priv")
let key_dir = Fpath.(v "rsa")
end
module Secmod_eddsa = struct
let lookahead_sign = dummy_duration
let overlap_duration = dummy_duration
let sm_priv_key = Fpath.(v "eddsa_key.priv")
let key_dir = Fpath.(v "eddsa")
end
module Exchangedb = struct
let idle_reserve_expiration_time = dummy_duration
let legal_reserve_expiration_time = dummy_duration
let aggregator_shift = dummy_duration
let default_purse_limit = 9999
let max_aml_program_runtime = dummy_duration
end
module Exchangedb_postgres = struct
(* pgx://<user>:<password>@<host-or-directory>:<port>/<database> *)
let config =
let user = "mte" in
let password = "hunter2" in
let host = "localhost" in
let port = 5432 in
let database = "taler-exchange" in
Uri.of_string
@@ Fmt.str "pgx://%s:%s@%s:%d/%s" user password host port database
end
let coin_kudo_1 =
Types.Config_types.Coin.
{
section_name= "kudo_1";
value= amount "EUR:0.01";
duration_withdraw= dummy_duration;
duration_spend= dummy_duration;
duration_legal= dummy_duration;
fee_withdraw= zero_eur;
fee_deposit= zero_eur;
fee_refresh= zero_eur;
fee_refund= zero_eur;
cipher= `RSA;
rsa_keysize= 2048;
age_restricted= `NO;
}
let coin_kudo_2 =
{ coin_kudo_1 with section_name= "kudo_2"; value= amount "EUR:0.02" }
let coins = [ coin_kudo_1; coin_kudo_2 ]