summaryrefslogtreecommitdiff
path: root/src/exchange/exchange.conf
blob: ce471a29208c62c1ce5ad1465b378f9ec245725e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# This file is in the public domain.
#
[exchange]

# Master public key used to sign the exchange's various keys
# This must be adjusted to your actual installation.
# MASTER_PUBLIC_KEY = 98NJW3CQHZQGQXTY3K85K531XKPAPAVV4Q5V8PYYRR00NJGZWNVG

# Must be set to the threshold above which transactions
# are flagged for AML review.
# AML_THRESHOLD =

# How many digits does the currency use by default on displays.
# Hint provided to wallets. Should be 2 for EUR/USD/CHF,
# and 0 for JPY. Default is 2 as that is most common.
# Maximum value is 8. Note that this is the number of
# fractions shown in the wallet by default, it is still
# possible to configure denominations with more digits
# and those will then be rendered using 'tiny' fraction
# capitals (like at gas stations) when present.
CURRENCY_FRACTION_DIGITS = 2

# Specifies a program (binary) to run on KYC attribute data to decide
# whether we should immediately flag an account for AML review.
# The KYC attribute data will be passed on standard-input.
# Return non-zero to trigger AML review of the new user.
KYC_AML_TRIGGER = true

# Attribute encryption key for storing attributes encrypted
# in the database. Should be a high-entropy nonce.
ATTRIBUTE_ENCRYPTION_KEY = SET_ME_PLEASE

# Set to NO to disable rewards.
ENABLE_REWARDS = YES

# How long do we allow /keys to be cached at most? The actual
# limit is the minimum of this value and the first expected
# significant change in /keys based on the expiration times.
# Used to artificially reduce caching (addresses #5747).
MAX_KEYS_CACHING = forever

# After how many requests should the exchange auto-restart
# (to address potential issues with memory fragmentation)?
# If this option is not specified, auto-restarting is disabled.
# MAX_REQUESTS = 100000

# How to access our database
DB = postgres

# Network configuration for the normal API/service HTTP server
# serve via tcp socket (on PORT)
SERVE = tcp

# Unix domain socket to listen on,
# only effective with "SERVE = unix"
UNIXPATH = ${TALER_RUNTIME_DIR}/exchange-httpd/exchange-http.sock
UNIXPATH_MODE = 660

# HTTP port the exchange listens to
PORT = 8081

# Base URL of the exchange (public-facing).  Due to reverse proxies,
# this may or may not match our port or hostname at all and can thus
# not be determined automatically. Note that a globally reachable name
# is required, so 'localhost' will not work except for testing.
# Required for wire transfers as we need to include it in the wire
# transfers to enable tracking.
BASE_URL = http://localhost:8081/

# How long should the aggregator sleep if it has nothing to do?
AGGREGATOR_IDLE_SLEEP_INTERVAL = 60 s

# What type of asset is the exchange managing? Used to adjust
# the user-interface of the wallet.
# Possibilities include: "fiat", "regional" and "crypto".
# In the future (and already permitted but not yet supported by wallets)
# we also expect to have "stock" and "future" (and more).
# Default is "fiat".
ASSET_TYPE = "fiat"

# FIXME: document!
ROUTER_IDLE_SLEEP_INTERVAL = 60 s

# How big is an individual shard to be processed
# by taler-exchange-expire (in time).  It may take
# this much time for an expired purse to be really
# cleaned up and the coins refunded.
EXPIRE_SHARD_SIZE = 60 s

# How long should the transfer tool
# sleep if it has nothing to do?
TRANSFER_IDLE_SLEEP_INTERVAL = 60 s

# How long should the closer tool
# sleep if it has nothing to do?
CLOSER_IDLE_SLEEP_INTERVAL = 60 s

# Values of 0 or above 2^31 disable sharding, which
# is a sane default for most use-cases.
# When changing this value, you MUST stop all
# aggregators and manually run
#
# $ taler-exchange-dbinit -s
#
# against the exchange's database. Otherwise, the
# aggregation logic will break badly!
AGGREGATOR_SHARD_SIZE = 2147483648

# Values of 0 or above 2^31 disable sharding, which
# is a sane default for most use-cases.
# When changing this value, you MUST stop all
# aggregators and manually run
#
# $ taler-exchange-dbinit -s
#
# against the exchange's database. Otherwise, the
# aggregation logic will break badly!
ROUTER_SHARD_SIZE = 2147483648

# How long should wirewatch sleep if it has nothing to do?
# (Set very aggressively here for the demonstrators to be
# super fast.)
WIREWATCH_IDLE_SLEEP_INTERVAL = 1 s

# how long are the signatures with the signkey valid?
SIGNKEY_LEGAL_DURATION = 2 years

# Directory with our terms of service.
TERMS_DIR = $TALER_DATA_HOME/terms/

# Etag / filename for the terms of service.
TERMS_ETAG = exchange-tos-v0

# Directory with our privacy policy.
PRIVACY_DIR = $TALER_DATA_HOME/terms/

# Etag / filename for the privacy policy.
PRIVACY_ETAG = exchange-pp-v0