+ database
This commit is contained in:
parent
2f43f98147
commit
6222369290
1 changed files with 60 additions and 0 deletions
|
|
@ -18,6 +18,7 @@ type duration
|
||||||
(* TODO
|
(* TODO
|
||||||
make it Amount.t *)
|
make it Amount.t *)
|
||||||
type amount = string
|
type amount = string
|
||||||
|
type payto_uri = string
|
||||||
|
|
||||||
(* TODO
|
(* TODO
|
||||||
still need to parse them and tell that its not supported
|
still need to parse them and tell that its not supported
|
||||||
|
|
@ -374,6 +375,65 @@ module type Secmod_rsa = Secmod
|
||||||
module type Secmod_cs = Secmod
|
module type Secmod_cs = Secmod
|
||||||
module type Secmod_eddsa = Secmod
|
module type Secmod_eddsa = Secmod
|
||||||
|
|
||||||
|
(* The following options must be in the section "[exchangedb]". *)
|
||||||
|
module type Database = sig
|
||||||
|
(* TODO not sure about what unit of time/duration is used here *)
|
||||||
|
|
||||||
|
(*
|
||||||
|
After which time period should reserves be closed if they are idle? *)
|
||||||
|
val idle_reserve_expiration_time : seconds
|
||||||
|
|
||||||
|
(*
|
||||||
|
After what time do we forget about (drained) reserves during garbage collection? *)
|
||||||
|
val legal_reserve_expiration_time : seconds
|
||||||
|
|
||||||
|
(*
|
||||||
|
Delay between a deposit being eligible for aggregation and
|
||||||
|
the aggregator actually triggering. *)
|
||||||
|
val aggregator_shift : seconds
|
||||||
|
|
||||||
|
(*
|
||||||
|
Number of concurrent purses that a reserve may have active
|
||||||
|
if it is paid to be opened for a year. *)
|
||||||
|
val default_purse_limit : int
|
||||||
|
|
||||||
|
(*
|
||||||
|
Maximum time an AML program is allowed to run.
|
||||||
|
(Optional for taler-auditor.) *)
|
||||||
|
val max_aml_program_runtime : int option
|
||||||
|
|
||||||
|
(*
|
||||||
|
The following options must be in section “[exchangedb-postgres]” if the
|
||||||
|
“postgres” plugin was selected for the database. *)
|
||||||
|
module type Postgres_backend = sig
|
||||||
|
(*
|
||||||
|
How to access the database, e.g. “postgres:///taler-exchange” to use the
|
||||||
|
“taler-exchange” database. Testcases use “talercheck”. *)
|
||||||
|
val config : string
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
(*
|
||||||
|
An exchange (or merchant) can have multiple bank accounts. The following
|
||||||
|
options are for sections named “[exchange-account-SOMETHING]”. The ``SOMETHING`` is
|
||||||
|
arbitrary and should be chosen to uniquely identify the bank account for
|
||||||
|
the operator. These options are used by the **taler-exchange-aggregator**, **taler-exchange-closer**, **taler-exchange-transfer** and **taler-exchange-wirewatch** tools. *)
|
||||||
|
module type Account = sig
|
||||||
|
val payto_uri : payto_uri
|
||||||
|
val enable_debit : [ `YES | `NO ]
|
||||||
|
val enable_credit : [ `YES | `NO ]
|
||||||
|
end
|
||||||
|
|
||||||
|
(*
|
||||||
|
Additionally, for each enabled account there MUST be another matching section named “[exchange-accountcredentials-SOMETHING]”. This section SHOULD be in a ``secret/`` configuration file that is only readable for the **taler-exchange-wirewatch** and **taler-exchange-transfer** processes. It contains the credentials to access the bank account: *)
|
||||||
|
module type Account_secret = sig
|
||||||
|
val wire_gateway_url : url
|
||||||
|
val wire_gateway_auth_method : string
|
||||||
|
val username : string
|
||||||
|
val password : string
|
||||||
|
val token : string
|
||||||
|
end
|
||||||
|
|
||||||
(* -- ********************************** -- *)
|
(* -- ********************************** -- *)
|
||||||
let currency = `Eur
|
let currency = `Eur
|
||||||
let currency_to_string = function `Eur -> "EUR"
|
let currency_to_string = function `Eur -> "EUR"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue