Commit Graph

995 Commits

Author SHA1 Message Date
Christian Grothoff
1ca062fc7a
introduce known_coin_id, alas not yet used 2020-07-08 12:35:50 +02:00
Christian Grothoff
81fec09268
simplify DB access: do not fetch fields we do not need 2020-07-08 12:35:01 +02:00
Christian Grothoff
ed5b98a2c2
GNUNET_free_non_null is gone, use GNUNET_free 2020-07-05 16:58:43 +02:00
Christian Grothoff
6eb32a65bf
fix error reporting/handling 2020-07-05 16:50:51 +02:00
Christian Grothoff
9ed9c01878
fix drop call 2020-07-05 16:50:12 +02:00
Christian Grothoff
142f6edaff
use unregister 2020-07-05 16:44:09 +02:00
Christian Grothoff
4f82885560
towards changing timestamp in deposit confirmation (tests failing) 2020-07-05 16:35:00 +02:00
Christian Grothoff
6772037321
fix invariant check 2020-04-24 00:52:33 +02:00
Christian Grothoff
727eccbe64
add invariant checks for #6214 2020-04-23 11:55:10 +02:00
Christian Grothoff
a039bf4d81
fix #6200 2020-04-22 21:21:48 +02:00
Christian Grothoff
44272bf1ce
adapations to GNUnet API change 2020-04-11 21:06:30 +02:00
Christian Grothoff
84a40be0bc
fix #6170 and rest of #6164 2020-04-08 23:52:01 +02:00
Christian Grothoff
50bc862a68
adapt to new GNUnet sign API (#6164) 2020-04-08 18:18:20 +02:00
Christian Grothoff
3404fda463
typos 2020-03-31 20:57:11 +02:00
Christian Grothoff
0582a6b567
fix auditor file parse problem 2020-03-29 04:03:06 +02:00
Christian Grothoff
163b23f27a
removing inappropriate i18n code 2020-03-27 20:39:15 +01:00
Christian Grothoff
b46dc6b981
avoid warning 2020-03-27 18:11:19 +01:00
Christian Grothoff
17cfbced1d
fix inconsistency in field naming 2020-03-27 17:32:39 +01:00
Christian Grothoff
9445343ec5
consider that deposit fee is discounted when refund fee is applied 2020-03-27 09:34:58 +01:00
Christian Grothoff
f052527ea5
fix recoup-refresh audit logic 2020-03-26 20:54:41 +01:00
Christian Grothoff
293c241ae7
fix SQL statements 2020-03-26 20:06:23 +01:00
Christian Grothoff
1b24e2f9bb
more statistics, make explicit table lock optional, can hurt performance badly 2020-03-20 18:38:57 +01:00
Florian Dold
c17f05b5fd
fix critical bug in transaction history query for recoup-refresh 2020-03-20 13:52:29 +05:30
Christian Grothoff
fd29d1866f
type fixes 2020-03-19 17:56:05 +01:00
Christian Grothoff
59a5b1ceb8
a first, untested stab at #6123, committing intermediate result that passes (existing) tests 2020-03-17 22:13:15 +01:00
Christian Grothoff
c597af8334
adjust types to match latest GNUnet API 2020-03-17 01:09:16 +01:00
Christian Grothoff
bb7bd4b128
style fixes 2020-03-16 18:29:44 +01:00
Christian Grothoff
4322bbf2f1
move common logic to parse currency into libtalerutil 2020-03-15 20:08:38 +01:00
Christian Grothoff
6aca928cf8
expand DB test to cover #6124 better (passed immediately, does not explain the failure) 2020-03-14 19:45:43 +01:00
Christian Grothoff
83631bc98f
split reserve closing from main aggregation logic 2020-03-12 10:11:24 +01:00
Christian Grothoff
42bc3bc437
nicer IO error handling in exchangedb logic 2020-03-07 00:39:39 +01:00
Christian Grothoff
ffcadbff8c
code cleanup (comments, scoping, naming, indentation) 2020-03-07 00:28:07 +01:00
Christian Grothoff
52d41311ac
new coins => fresh coins, also move comments into the database itself 2020-03-05 23:49:47 +01:00
Christian Grothoff
a49bfef2fb
rename for consistency 2020-03-05 23:02:38 +01:00
Christian Grothoff
7dd52a0892
clean up comments, renaming for clarity 2020-03-05 22:38:19 +01:00
Christian Grothoff
642992f9c3
more renaming 2020-03-04 12:10:11 +01:00
Christian Grothoff
7f37017e91
more renaming 2020-03-04 11:51:00 +01:00
Christian Grothoff
6cc516427b
minor code clean up, renaming for consistency 2020-03-04 11:47:22 +01:00
Christian Grothoff
0a2b049864
big rename fest related to #6067 API renaming 2020-02-29 16:42:10 +01:00
Christian Grothoff
7eb0f35dca
rename 2020-02-24 12:37:09 +01:00
Christian Grothoff
d9ce8554e0
0000 is reserved for versioning 2020-02-24 12:35:41 +01:00
Christian Grothoff
7ee3c485bd
die more nicely if we are called when we should not be 2020-02-24 12:21:46 +01:00
Christian Grothoff
919861aea8
use flags in correct place 2020-02-17 20:05:40 +01:00
Christian Grothoff
cdaf1ce69b
rename SQL files to make filenames consistent with versioning name 2020-02-09 16:34:40 +01:00
Christian Grothoff
ae5583f044
avoid duping configuration, start to use PQ_connect_with_cfg 2020-02-09 15:53:28 +01:00
Christian Grothoff
232606fb57
add IF NOT EXISTS for indices 2020-02-03 23:42:47 +01:00
Christian Grothoff
52797133a4
fix signal initialization race on startup with shutdown 2020-01-20 12:10:44 +01:00
Christian Grothoff
85f10a86ff
handle case where get_session() is called from main, i.e. in combination with -f option 2020-01-20 11:15:19 +01:00
Florian Dold
26ad7c8191
spelling of 'mismatch' 2020-01-20 02:11:03 +01:00
Christian Grothoff
8ce6d32f63
beautification 2020-01-20 01:23:02 +01:00
Florian Dold
c87eb30e78
some comments on aggregator 2020-01-20 00:07:45 +01:00
Christian Grothoff
1f5c814b73
fix copyright headers as per CA 2020-01-19 19:22:43 +01:00
Christian Grothoff
d22a52cc7a
fix copyright headers as per CA 2020-01-19 19:21:58 +01:00
Florian Dold
cb58740fbd
remove redundant METHOD option, we can derive it from PAYTO_URI 2020-01-19 19:12:47 +01:00
Florian Dold
6074790867
config syntax for accounts 2020-01-19 18:48:23 +01:00
Florian Dold
fc8bdb9b97
consistently use payto URI instead of URL 2020-01-19 17:03:19 +01:00
Christian Grothoff
b90ce2e467
fix dropper 2020-01-18 23:51:17 +01:00
Christian Grothoff
db669ee495
payback -> recoup stranglers 2020-01-18 23:49:37 +01:00
Christian Grothoff
8dbc19758b
fix compiler warnings 2020-01-18 19:16:44 +01:00
Christian Grothoff
204b545db1
deal with wire fees from the past in the aggregator 2020-01-18 16:28:42 +01:00
Christian Grothoff
c87722791d
doxygen 2020-01-18 14:36:49 +01:00
Christian Grothoff
9317d6d69d
doxygen work 2020-01-18 13:23:17 +01:00
Christian Grothoff
dac255329f
doxygen 2020-01-18 13:23:17 +01:00
Florian Dold
572f350660
add fixme 2020-01-18 01:21:38 +01:00
Christian Grothoff
646ec32adb
doxygen fixes 2020-01-17 22:17:48 +01:00
Christian Grothoff
6c5155ca74
Florian says libeufin will reject reserve pubs from alternating bank accounts 2020-01-17 20:11:43 +01:00
Christian Grothoff
376277f7e8
remove bogus comment 2020-01-17 20:07:57 +01:00
Christian Grothoff
0328ab313b
use more specific SELECT in exchange aggregator on refunds instead of filtering in application logic later 2020-01-17 15:43:04 +01:00
Christian Grothoff
540b22ce1c
implement rh caching 2020-01-17 12:52:33 +01:00
Christian Grothoff
d3fb16b380
also cover drop/restart cases with psql logic 2020-01-17 12:25:11 +01:00
Christian Grothoff
4b16198b43
moved SQL elimination 2020-01-17 03:11:25 +01:00
Christian Grothoff
d4fded4b66
fix build system 2020-01-17 03:08:30 +01:00
Christian Grothoff
da0a2f39d0
GNUnet PQ API change 2020-01-17 02:24:21 +01:00
Christian Grothoff
8ea2af444f
more work towards DB versioning 2020-01-17 01:55:01 +01:00
Christian Grothoff
5b11d19b67
SQL logic towards DB versioning 2020-01-17 01:28:39 +01:00
Christian Grothoff
d61c2e400a
kill another FIXME 2020-01-16 23:49:34 +01:00
Christian Grothoff
0305cf5f9e
move function to libtalerexchangedb, as planned 2020-01-16 22:40:12 +01:00
Christian Grothoff
19922fa046
pointless to check denom_sig, do not return 2020-01-16 22:21:18 +01:00
Marcello Stanisci
90e1572039
Adapting wirewatch tests to new style. 2020-01-16 00:12:25 +01:00
Christian Grothoff
19d9369ff6
add another interpreter command to check incoming wire transfers 2020-01-15 15:44:24 +01:00
Marcello Stanisci
e77ccd0390
Preflight checks:
put preflight check inside exchangedb start()
function, and provide a preflight method for
auditordb.
2020-01-15 12:36:09 +01:00
Christian Grothoff
4d6ef1da29
eliminate libtalerwire 2020-01-13 18:16:01 +01:00
Christian Grothoff
9443c10d7f
major refactoring, eliminating wire-plugins and moving towards new bank API. main code compiles, testcases known to fail, code sure not to fully work yet 2020-01-11 15:20:17 +01:00
Christian Grothoff
385b3e77df
tighten formatting rules 2019-10-31 12:59:50 +01:00
Christian Grothoff
2696688aa3
fix compiler warnings 2019-10-29 20:57:18 +01:00
Christian Grothoff
c1ce2a03ed
fix NPE 2019-10-26 20:35:36 +02:00
Christian Grothoff
316a77a245
adaptions to libgnunetpq api change (#5733) 2019-10-11 23:28:25 +02:00
Christian Grothoff
b46fe9aa21
reindenting with uncrustify 2019-10-05 15:42:08 +02:00
Christian Grothoff
ebd2e7d763
fix leaks and unnecessary fetch of RSA signature on refresh/reveal 2019-09-15 12:39:15 +02:00
Christian Grothoff
5503c78160
remove unused, unclean perf logic (we should measure using the logic in the src/benchmark/ directory anyway) 2019-09-15 11:20:27 +02:00
Christian Grothoff
7dca6dacb9
incomplete leak fixes 2019-09-15 11:18:31 +02:00
Christian Grothoff
cbfa534194
fixing leaks in tests 2019-09-15 10:59:13 +02:00
Marcello Stanisci
8e70b3ff98
UNLINK -> unlink 2019-09-13 21:12:15 +02:00
Christian Grothoff
e179fb9ba0
fix leak 2019-09-05 03:53:47 +02:00
Christian Grothoff
d2b85341c4
auditor needs serial IDs in coin history 2019-09-03 03:45:18 +02:00
Florian Dold
613217be03
locking for known_coins 2019-08-26 03:09:38 +02:00
Florian Dold
eb55997084
re-format code 2019-08-25 16:18:24 +02:00
Christian Grothoff
aea244d241
drop dead kyc logic 2019-08-23 15:51:44 +02:00
Christian Grothoff
318f94bf90
update ignores 2019-08-22 15:30:02 +02:00
Christian Grothoff
4bf425c902
remove currency field from databases 2019-08-17 21:35:21 +02:00
Christian Grothoff
ccfe99a82d
more denom sig checking in auditor 2019-07-27 20:43:52 +02:00
Christian Grothoff
a654ceafba
make sure reserves are not gc'ed before legal expiration 2019-07-24 12:19:36 +02:00
Christian Grothoff
9e3f4bdd79
getting revocation/payback test with refreshed coins to pass 2019-07-24 11:57:03 +02:00
Christian Grothoff
5844a20f15
implement zombie check 2019-07-24 00:13:53 +02:00
Christian Grothoff
e75d552227
need the hash of coin_ev with an index for select 2019-07-23 23:26:56 +02:00
Christian Grothoff
7d43ad56d3
implement postges_get_old_coin_by_h_blind for #5777 2019-07-23 20:27:48 +02:00
Christian Grothoff
a83aa1f70e
include new payback-refresh possibilities in coin history generation 2019-07-22 13:28:48 +02:00
Christian Grothoff
721c1ee73e
extending postgres plugin with functions required to store payback data on refreshed coins for #5777 2019-07-21 20:15:11 +02:00
Christian Grothoff
19e0b66f87
first steps on #5777 2019-06-27 00:04:20 +02:00
Christian Grothoff
c9480d2287
export get-known-coin function from DB API 2019-06-26 21:34:52 +02:00
Christian Grothoff
9a5030b993
add test for json_wire.c logic 2019-06-26 20:43:08 +02:00
Christian Grothoff
3a2f72b4aa
implement /link signatures 2019-06-26 15:34:44 +02:00
Christian Grothoff
4f846eab96
fix #5756, also change sepa->iban as per payto:// spec 2019-06-08 19:55:18 +02:00
Christian Grothoff
2f0015b803
add locking to avoid transaction retries 2019-06-05 21:26:27 +02:00
Christian Grothoff
466a7b7018
DCE 2019-06-04 11:33:06 +02:00
Christian Grothoff
69c1ca4d23
check return value, always 2019-06-03 00:42:32 +02:00
Christian Grothoff
39263a48d3
fix #5716 2019-05-09 12:55:22 +02:00
Christian Grothoff
de9fdf860a
replace denom_pub with denom_pub_hash in exchange API to reduce bandwidth 2019-05-02 21:16:51 +02:00
ng0
13cf7ee0cb
refactor for GNUNET_memcmp 2019-04-30 21:30:33 +00:00
Christian Grothoff
32a3a0ffb0
add post HTTP request check for hanging transactions 2019-04-18 14:38:32 +02:00
ng0
a02af1f505
Refactor test_exchangedb for GNUNET_memcmp 2019-04-15 20:23:53 +00:00
Marcello Stanisci
0d3758807b
Better calculation of # DKs 2019-04-11 00:23:28 +02:00
ng0
2699155b81
Refactor test_exchangedb_denomkeys for GNUNET_memcmp 2019-04-10 20:49:27 +00:00
ng0
f54d6294b9
Refactor test_exchangedb_auditors for GNUNET_memcmp 2019-04-10 20:49:11 +00:00
ng0
074b011d01
exchangedb/exchangedb_test: GNUNET_memcmp 2019-04-09 17:00:15 +00:00
ng0
5ec20870a4
Refactor test_exchangedb_denomkeys.c for GNUNET_memcmp 2019-04-08 20:42:05 +00:00
ng0
04acf37cb6
Refactor test_exchangedb_signkeys for GNUNET_memcmp 2019-04-08 18:58:08 +00:00
ng0
b669f0dfae
Refactor plugin_exchangedb_postgres for GNUNET_memcmp 2019-04-08 18:43:23 +00:00
ng0
9f18ec58bc
Refactor for GNUNET_memcmp 2019-04-08 18:15:16 +00:00
Christian Grothoff
a9268421d7
implementing private key deletion (#5536) 2019-03-11 03:24:32 +01:00
Christian Grothoff
c3b9ebc1ef
fix format string issue in taler-wire, complete work on #5536 revocation file issue (shift location of revocation file and change content to include denom hash) 2019-03-03 00:35:21 +01:00
Christian Grothoff
4dea098f54
actually disable 100 continue 2019-03-02 19:18:12 +01:00
Christian Grothoff
62e8c18390
Need to check for revoked keys as well before adding from DB.
Fixes ~13838.
2019-02-17 14:40:21 +01:00
Christian Grothoff
9413537e6d
add missing comments 2019-02-16 23:52:12 +01:00
Christian Grothoff
1a542148a6
implement iterate_denomination_info() call 2019-02-16 21:38:12 +01:00
Christian Grothoff
e56ed85f4f
preparations for #5536 2019-02-14 13:41:46 +01:00
Christian Grothoff
f224017505
fix a few more leaks 2018-11-25 15:38:58 +01:00
Marcello Stanisci
368f3a9a66
Minor changes to make tests pass/no-skip again. 2018-11-19 23:02:37 +01:00
Christian Grothoff
ac850bfcd2
add auditing of deposit confirmations to auditor (#5447) 2018-11-04 17:36:56 +01:00
Christian Grothoff
be9ff317dd
add operation to count number of known coins per denomination to exchangedb 2018-10-28 11:38:45 +01:00
Christian Grothoff
fb952babf6
reduce redundant data fetch (#5444) 2018-10-19 11:01:49 +02:00
Christian Grothoff
a56e2e34bc
fix #5434 (no more salt in exchange wire replies) 2018-10-06 15:05:06 +02:00
Christian Grothoff
efd65a63ac
fix preflight check failure 2018-08-19 18:40:13 +02:00
Christian Grothoff
1f7f187d9e
typo 2018-08-19 17:24:13 +02:00
Christian Grothoff
190a1fadaf
re-init logging so we can tell by PID who it is 2018-08-19 17:19:27 +02:00
Christian Grothoff
0df2028f96
make transactions smaller to try to reduce rollbacks 2018-08-19 16:01:57 +02:00
Christian Grothoff
1ee55ea838
make wirewatch properly handle (soft) failed transations 2018-08-11 10:55:50 +02:00
Christian Grothoff
b2f602b1ac
add more logging to more clearly see real conficts, add AUTO_EXPLAIN option to analyze query performance 2018-08-10 22:30:38 +02:00
Christian Grothoff
e0935af764
add a few more FOR UPDATE where appropriate 2018-08-10 19:12:57 +02:00
Christian Grothoff
bce6a80f38
try with row locking to avoid rollbacks (in theory, to be verified) 2018-08-09 22:27:43 +02:00
Marcello Stanisci
9942032ae9
Add "general_id" for merchants into the DB system. 2018-07-18 11:29:30 +02:00
Marcello Stanisci
cbed072b27
Remove convenience note. 2018-07-10 15:56:57 +02:00
Marcello Stanisci
4630d92bd0
Test last change. 2018-07-10 15:56:26 +02:00
Marcello Stanisci
dd9837ff8b
Put logic to delete KYC events for merchant 2018-07-10 15:53:35 +02:00
Marcello Stanisci
1d81c99dca
note 2018-07-10 15:39:44 +02:00
Marcello Stanisci
6801c690b7
Test last change. 2018-07-10 15:37:56 +02:00
Marcello Stanisci
61e737f03e
Put logic to sum KYC-monitored wire transfers. 2018-07-10 15:30:17 +02:00
Marcello Stanisci
109a4a5aa1
KYC DB methods: store a wire transfer. 2018-07-10 13:08:53 +02:00
Marcello Stanisci
8f6b8dbe97
Fix SELECT statement. 2018-07-10 11:52:13 +02:00
Marcello Stanisci
5e25d7dbcf
Improve KYC status callback.
More parameters for this callback.
2018-07-09 21:15:47 +02:00
Marcello Stanisci
01158a4817
Method to mark a merchant as NOT KYC-checked. 2018-07-09 10:55:31 +02:00
Marcello Stanisci
cd2538efb5
Method to retrieve the KYC status of a merchant. 2018-07-09 10:37:12 +02:00
Marcello Stanisci
7c94a71def
Method to mark merchant as KYC-checked. 2018-07-09 10:05:59 +02:00
Marcello Stanisci
c13973626b
KYC db methods.
Add method to insert a merchant into the monitored
entries, and associates a "FALSE" KYC status to it.
2018-07-09 09:44:16 +02:00
Marcello Stanisci
edf3738b3f
Put KYC-related low-level DB methods. 2018-07-06 15:24:03 +02:00
Marcello Stanisci
f033320300
Addressing #5291. 2018-06-27 16:49:23 +02:00
Marcello Stanisci
6a8c5209c3
fix leaks. 2018-06-14 11:49:20 +02:00
Christian Grothoff
202827ebda
merging Florian's changes with my wire changes 2018-04-15 12:20:00 +02:00
Christian Grothoff
081ffe994a
expand logging of HARD errors in DB reserve inserts 2018-04-04 17:01:59 +02:00
Christian Grothoff
aea82d3dcd
allow auditor to operate per-account 2018-04-02 21:12:18 +02:00
Christian Grothoff
cb55c1a3af
Changing configuration structure to enable multiple accounts.
This change enables using multiple wire plugins at the same time.
Also, we now distinguish between the wire plugin (i.e. EBICS or
taler_bank) and the wire method (i.e. SEPA or x-taler-bank) that
the wire plugin is implementing.  The "taler-bank" wire method
was renamed from "test" to "x-taler-bank".

This also changes the format of the /wire response of the exchange,
as we now need to return multiple accounts.  Note that wire fees
are specified per wire method, not per wire account.

taler-exchange-keyup now automatically signs all of the /wire
responses in the location specified by the configuration.

Account identification in wire plugins was changed to use
payto://-URLs instead of method-specific JSON fields.  Signing
and validation of /wire responses was moved from each wire
plugin to a generic validation method in libtalerutil (crypto)
or libtalerjson (for JSON-formatted inputs).
Convenience methods were added to generate JSON for wire accounts
(salting, signing).

Various section and option names were adjusted to streamline the
configuration and make it more consistent overall.  Documentation
was updated as well.
2018-04-02 14:29:44 +02:00
Christian Grothoff
cb623d44cb
ensure transaction_name is also set for deferred_wire_out transaction, re-use postgres_start logic 2018-03-12 11:39:31 +01:00
Christian Grothoff
a166ca7fec
fix #5281 for exchange: do preflight check that an old transaction is no longer running by accident 2018-03-12 11:33:10 +01:00
Florian Dold
48fd50f922
exchangedb/postgres: handle duplicate wire transfers correctly 2018-02-05 21:49:35 +01:00
Christian Grothoff
2526143a4f
fix type for bool to match what postgres returns -- 1 byte instead of 4 bytes 2018-01-15 15:18:00 +01:00
Christian Grothoff
5587732f52
fix auditor to properly verify wire fee signatures and more gracefully handle arithmetic amount issue 2018-01-04 00:41:19 +01:00
Christian Grothoff
d9f16db0ef
add testcase for 'select_refunds_by_coin' 2018-01-03 01:10:23 +01:00
Christian Grothoff
41b5dde709
implement select_refunds_by_coin in exchangedb plugin 2018-01-02 14:43:15 +01:00
Christian Grothoff
ff0d4bb6eb
add TALER_EXCHANGE_refund2, make sure fee test initializes all amounts; update ChangeLog 2018-01-01 23:28:19 +01:00
Christian Grothoff
23cb1d46a8
fix enum confusion 2017-12-09 23:46:05 +01:00
Christian Grothoff
5540747ca2
patch to address #5183: always round time before giving it to DB, tolerate DB answering without rounded time 2017-11-30 17:17:37 +01:00
Christian Grothoff
499247a480
fixing #5178 2017-11-29 20:23:08 +01:00
Christian Grothoff
029d3239e1
test select_deposits_missing_wire, fix uninitialized wire_deadline in deposit listing 2017-11-19 22:01:29 +01:00
Christian Grothoff
215c6db54c
true/false are keywords, use all-caps 2017-11-04 18:03:55 +01:00
Christian Grothoff
9807e5c50c
releasing v0.4.0 2017-10-18 15:21:06 +02:00
Christian Grothoff
0346e37504
actually properly implement API wrt return value handling, even if not used today 2017-10-17 19:53:44 +02:00
Christian Grothoff
272f1135fc
add exchangedb function for #4961 2017-10-16 17:57:29 +02:00
Christian Grothoff
7935349d35
check return value from create_denom_key_pair in test 2017-10-06 22:19:13 +02:00
Christian Grothoff
2f715c27f8
check return value from TALER_JSON_hash 2017-10-06 20:02:28 +02:00
Christian Grothoff
7cb48a720b
check json_array_append_new() return values, proper logging on errors 2017-09-26 12:30:24 +02:00
Christian Grothoff
e328b44172
clean up /keys cherry picking logic, including changing the last_issue_date value to be in seconds 2017-09-17 16:53:14 +02:00
Christian Grothoff
7aa23a39bd
add support for #4840 (/keys cherry picking) to libtalerexchange 2017-09-12 15:34:38 +02:00
Christian Grothoff
a301aadd28
add missing indices where needed 2017-07-14 18:18:23 +02:00
Christian Grothoff
3a0e643b68
add UNIQUE constraint on BIGSERIAL columns as that is not automatic in Postgres 2017-07-14 17:56:47 +02:00
Christian Grothoff
0ea012e316
make reserves_update more canonical, avoiding odd WHERE constraint that is unnecessary 2017-07-14 17:52:09 +02:00
Christian Grothoff
e1aa257ee1
select on denom_pub_hash instead of denom_pub as the hash is a primary key 2017-07-14 17:49:34 +02:00
Christian Grothoff
2c6956f32a
clean up PQ tables (renamings, remove redunant column), and primarily fix #4751 2017-07-14 17:43:07 +02:00
Christian Grothoff
5d6dfde044
fix #4955 in auditordb, clean up fix in exchangedb 2017-07-04 23:33:57 +02:00
Christian Grothoff
f9950799fc
eliminate dead macros 2017-07-04 23:28:03 +02:00
Christian Grothoff
560051e6b0
migrating auditordb to new API to address #5010 2017-06-24 23:06:44 +02:00
Christian Grothoff
c42d544736
convert rest of exchangedb plugin API to fix #5010-issues 2017-06-24 16:15:42 +02:00
Christian Grothoff
2d662e3f8e
fix #5010 for taler-exchange-aggregator 2017-06-24 12:15:11 +02:00
Christian Grothoff
0599b3b35b
need extra font to build on my system 2017-06-24 09:35:02 +02:00
Christian Grothoff
9aa2e94812
working on #5010 for aggregator 2017-06-24 00:41:41 +02:00
Christian Grothoff
6acb0271d6
address #5010 for wirewatch 2017-06-23 14:37:53 +02:00
Christian Grothoff
ff8633910d
adapt /admin/add/incoming to #5010 2017-06-23 14:13:54 +02:00
Christian Grothoff
d4884c0c60
Fix #5010 for keystate 2017-06-23 13:16:12 +02:00
Christian Grothoff
fbff951e7d
address #5010 for /refresh/melt 2017-06-22 11:49:40 +02:00
Christian Grothoff
053096475f
fixing #5010 for /refresh/reveal 2017-06-20 22:33:20 +02:00
Christian Grothoff
39db1ae5db
address #5010 for /refresh/link 2017-06-20 13:40:17 +02:00
Christian Grothoff
703c54a279
fix #5010 for /track/transaction 2017-06-19 20:46:24 +02:00
Christian Grothoff
a0c66e7919
fix #5010 for /track/transfer 2017-06-19 20:12:00 +02:00
Christian Grothoff
51ee20102f
address #5010 for /payback 2017-06-19 17:53:42 +02:00
Christian Grothoff
92e6744ac0
address #5010 for /refund 2017-06-19 16:07:34 +02:00
Christian Grothoff
dea0f7c411
fixing #5010 for /reserve/withdraw 2017-06-19 00:17:16 +02:00
Christian Grothoff
2d5b238beb
rework /reserve/history to address #5010 2017-06-19 00:17:15 +02:00
Christian Grothoff
2ec1b055a0
refactoring /deposit towards new transaction style (#5010) 2017-06-19 00:17:15 +02:00
Christian Grothoff
d2c7ef54a7
convert another function for #5010 2017-06-19 00:17:15 +02:00
Christian Grothoff
d66a29e383
convert another function for #5010 2017-06-19 00:17:15 +02:00
Christian Grothoff
75b0879f4e
convert another function for #5010 2017-06-19 00:17:15 +02:00
Christian Grothoff
0e6c4ba898
work on #5010 2017-06-15 22:10:12 +02:00
Christian Grothoff
b874a4c39b
remove dead or unnecessary macros 2017-06-15 21:52:09 +02:00
Christian Grothoff
0580168c0e
automated refunds of expired reserves now work and tested, fixes #4956 2017-06-11 17:04:54 +02:00
Christian Grothoff
a57cf67f31
a bit more work on #5010 2017-06-11 02:12:56 +02:00
Christian Grothoff
cad64767d9
match GNUnet API rename, work on #5010 2017-06-11 01:59:09 +02:00
Christian Grothoff
83b527e83b
start to use extended libgnunetpq API (not finished) 2017-06-01 22:48:33 +02:00
Florian Dold
85350ced32
rename proposal_data to contract_terms (see #4879) 2017-05-29 01:15:41 +02:00
Christian Grothoff
5d58316d88
add missing drop, should fix #5007 2017-05-28 18:06:44 +02:00
Christian Grothoff
3a889eb7e5
more work on #5010 2017-05-25 19:54:35 +02:00
Christian Grothoff
a5873d0222
more work on #5010 2017-05-25 19:38:34 +02:00
Christian Grothoff
6029ed7db1
starting some initial work on #5010, very incomplete 2017-05-25 02:06:03 +02:00
Marcello Stanisci
8ebfd1f643
fix auditor_iter, still a GNUNET_SYSERR lying around. 2017-05-24 10:50:02 +02:00
Marcello Stanisci
6912d60b63
tolerating bad denomination blobs when iterating over
auditor_base_dir
2017-05-18 14:03:37 +02:00
Christian Grothoff
d307ddba41
improve serializability error handling a bit 2017-05-14 15:44:47 +02:00
Christian Grothoff
8f854fb04c
add 'get_latest_reserve_in_reference' to exchangedb API 2017-05-08 13:31:28 +02:00
Christian Grothoff
20aad54c3e
remove dead transfer details field from reserves_in (API, exchangedb, etc.) 2017-05-08 13:18:36 +02:00
Christian Grothoff
5e36e520a5
updates to distinguish clearly between wtid and json transfer details 2017-05-08 12:44:40 +02:00
Christian Grothoff
76545519c6
updating DB schema for new wire history operations and future auditor checks of wire transfers 2017-05-05 13:41:32 +02:00
Christian Grothoff
27c921c7c4
finished implementing #4956 in principle, but not yet tested 2017-04-20 21:38:02 +02:00
Christian Grothoff
92d9ec69e6
expand testcase to cover new DB API 2017-04-20 09:04:20 +02:00
Christian Grothoff
487237381d
fix misc doxygen issues 2017-04-20 07:49:56 +02:00
Christian Grothoff
4bf5236959
implement plugin function for auditor to check reserve closures 2017-04-19 21:28:47 +02:00
Christian Grothoff
13a153616e
implementing database functions towards addressing #4956 2017-04-19 18:44:14 +02:00
Christian Grothoff
8f98a5ca6e
implement #4956-support in exchange db and exchange (to return information about closed reserves) 2017-04-19 14:40:43 +02:00
Christian Grothoff
164c125528
introducing closing fee 2017-04-17 14:01:55 +02:00
Christian Grothoff
f1372eda88
implement #4981 2017-04-16 18:34:31 +02:00
Christian Grothoff
7f7d8596ab
add missing table drop instruction 2017-04-16 17:25:53 +02:00
Christian Grothoff
62afe341b7
fix #4984 2017-04-16 17:21:26 +02:00
Christian Grothoff
58463df9d2
fix test_exchangedb denomkeys test 2017-04-10 17:01:20 +02:00
Christian Grothoff
368b9f8fcb
add test case for #3887 2017-04-10 16:37:08 +02:00
Christian Grothoff
70517233c9
improve test case coverage for exchangedb 2017-04-09 21:28:45 +02:00
Christian Grothoff
c298436020
expand testcase to cover TALER_EXCHANGEDB_denomination_key_revoke 2017-04-09 20:51:19 +02:00
Christian Grothoff
11b8710a5c
implement checking of denomination revocation status in auditor 2017-04-08 22:52:32 +02:00
Christian Grothoff
8e9d6c6fd1
extend exchangedb API to allow storing DK revocation information 2017-04-08 22:01:13 +02:00
Christian Grothoff
2948254d49
fix FTBFS in testcase 2017-04-07 22:46:30 +02:00
Christian Grothoff
209076ebd3
implement denomination key revocation logic in exchangedb and taler-exchange-keyup (part of #3887) 2017-04-07 22:37:00 +02:00
Christian Grothoff
a2d89f2803
even more logging on DB issues 2017-04-07 11:24:16 +02:00
Christian Grothoff
4b5efa4e81
towards supporting #3887 in the auditor 2017-04-04 16:27:27 +02:00
Christian Grothoff
4b82a591c5
handle /payback in auditor when checking reserves 2017-04-04 15:38:58 +02:00
Christian Grothoff
29a2f9b345
implement rest of exchange logic for #3887 (return payback information in reserve and coin histories) 2017-04-03 16:40:31 +02:00
Christian Grothoff
b988eb92fc
implement tests for extended DB API 2017-04-02 22:34:45 +02:00
Christian Grothoff
b95522c1dd
expand DB plugin to return payback information as part of coin/reserve histories 2017-04-02 18:17:29 +02:00
Christian Grothoff
d8542d729a
implement returning /paybacks as part of reserve history (#3887) 2017-04-02 18:02:07 +02:00
Christian Grothoff
94dddbbe82
implementing insertion of payback information in postgres plugin (part of #3887) 2017-04-02 00:05:20 +02:00
Christian Grothoff
b293bda4ac
implement DB plugin function to obtain reserve information, migrate logic to simplified API spec (#3887); use plugin API in /payback DB implementation 2017-04-01 23:43:55 +02:00
Christian Grothoff
45d96d8168
minor auditor bugfixes 2017-03-19 13:53:50 +01:00
Christian Grothoff
ea1f2a1cd5
properly update 'last' to make sanity check effective 2017-03-19 11:09:32 +01:00
Christian Grothoff
0f5819de58
fix SQL error for pq 9.4 2017-03-19 10:59:54 +01:00
Christian Grothoff
d8b40ae9b8
reduce logging, improve compatibility with older postgres versions 2017-03-19 10:55:14 +01:00
Christian Grothoff
9b4d0634e1
simplify analysis by returning denom_pub with rest of coin transaction data instead of bothering fetching with coin history 2017-03-19 01:55:37 +01:00
Christian Grothoff
c75ac3b612
revise exchangedb structure eliminating duplicated wire transfer date from aggregations, instead joining it from wire_out when needed 2017-03-19 01:36:15 +01:00
Christian Grothoff
9cfe47493c
more work on auditor 2017-03-18 17:47:44 +01:00
Christian Grothoff
6a98b07ff2
add wire_out tracking to exchangedb, including deferred constraint, and to aggregator 2017-03-18 03:44:59 +01:00
Christian Grothoff
5a9d7ac835
adjust exchangedb plugin to provide wire_out tracking API 2017-03-18 02:40:27 +01:00
Christian Grothoff
06c2327558
verify deposit signature during audit 2017-03-17 14:09:58 +01:00
Christian Grothoff
6b5bfc57b5
more work on auditor, towards coin/denomination key checks 2017-03-15 19:28:05 +01:00
Christian Grothoff
6d798cecba
fix logging of BEGIN error 2017-03-14 15:36:19 +01:00
Christian Grothoff
5f5babca93
fix #4851 2017-03-08 13:15:09 +01:00
Christian Grothoff
3abca6d4e6
fix memory leaks in DB logic 2017-03-05 18:18:23 +01:00
Christian Grothoff
43cfb0eace
write test for new wire fee APIs (#4931) 2017-03-04 23:01:25 +01:00
Christian Grothoff
1c84b3d4af
implementing #4932 2017-03-04 18:09:39 +01:00
Christian Grothoff
6ab67a3a76
implementing #4929 2017-03-04 16:49:33 +01:00
Christian Grothoff
f406f96129
implement #4929: add wire transfer fee to /wire (but not yet charged by aggregator) 2017-03-03 20:31:29 +01:00
Christian Grothoff
4d2faa5ec9
changing wire plugin specification from [exchange]WIREFORMAT to [exchange-wire-PLUGIN]enable=YES/NO 2017-03-03 19:24:08 +01:00
Florian Dold
49539d8f93
fix test cases (transaction_id related problems) 2017-02-07 18:15:26 +01:00
Florian Dold
5b1d513af6
fix SQL 2017-02-07 16:23:01 +01:00
Florian Dold
c319f1407f
fix SQL 2017-02-07 16:20:36 +01:00
Florian Dold
f8d11fc10f
typo 2017-02-07 16:19:04 +01:00
Florian Dold
61a19b4b4b
fix SQL statement after removing transaction_id 2017-02-07 16:18:34 +01:00
Florian Dold
92246c3e88
remove transaction_id, only one payment per proposal allowed 2017-02-07 15:09:10 +01:00
Florian Dold
8c820b6916
contract terminology renaming (#4877) 2017-02-06 15:43:06 +01:00
Florian Dold
f6fe309f5d
better logging when db connection fails 2016-11-21 17:53:07 +01:00
Christian Grothoff
f80a101366
fixing another test failing due to amount 1e-8 change 2016-11-18 16:34:00 +01:00
Christian Grothoff
7fd6be5cef
add idempotency checks for /refresh/reveal, fixing #4793 2016-11-17 16:37:40 +01:00
Christian Grothoff
e140ca9dce
handle more nicely the case that concurrent withdraws have changed history, causing us to see a different balance just before the commit; in this case, just retry the transaction; this should fix #4794 2016-11-17 15:53:16 +01:00
Christian Grothoff
94026368cd
select proper row of result set, not row 0 (in misc. database operations) 2016-11-17 15:12:01 +01:00
Christian Grothoff
cda939f331
fix exchangedb auditor functions to return proper serial ids 2016-11-17 14:59:44 +01:00
Christian Grothoff
e3ec645b0d
change rowid type to uint64_t everywhere; start with reserve-analysis in auditor 2016-11-17 14:31:44 +01:00
Christian Grothoff
ff95ccfb10
add note on #4794 2016-11-17 12:07:16 +01:00
Christian Grothoff
ddb5987c66 NULL-terminate array 2016-10-24 12:40:28 +02:00
Marcello Stanisci
6cd80e71f8 Finishing with #4709 2016-10-20 23:55:19 +02:00
Marcello Stanisci
ac554444b1 Adding auditor-related db functions in testcase. Each cb is just a stub. 2016-10-20 23:28:36 +02:00
Marcello Stanisci
006177a01f @author 2016-10-18 12:34:57 +02:00
Marcello Stanisci
c015ffc7fc closing #4709 2016-10-17 17:24:38 +02:00
Marcello Stanisci
f1f6e504d5 defining all but one exchangedb-for-audit functions 2016-10-17 16:39:56 +02:00
Marcello Stanisci
448a8be76d starting with #4709 2016-10-17 01:48:59 +02:00
Christian Grothoff
25618c561e check dbinit return value to not fail hard if DB not available 2016-10-10 16:54:37 +02:00
Christian Grothoff
808dc10bf4 add skeletons for new DB API functions 2016-10-09 01:17:37 +02:00
Christian Grothoff
6621ec8fb7 expanding exchange DB API to meet auditor requirements (not implemented, just adding the function signatures) 2016-10-09 00:57:31 +02:00
Christian Grothoff
26478f0f1f fix having multiple primary keys 2016-10-06 16:33:07 +02:00
Christian Grothoff
0394080600 first draft for an auditor table structure 2016-10-06 16:30:19 +02:00
Christian Grothoff
df8c011b95 return execution time also from exchange C API (#4578) 2016-09-26 14:58:44 +02:00
Christian Grothoff
302a08b701 implement that /track/transaction returns execution time (#4578) 2016-09-26 14:50:49 +02:00
Christian Grothoff
265fc74b65 check return values, fix use of uninit memory on certain error handling paths 2016-09-23 16:52:13 +02:00
Marcello Stanisci
b3c4803c55 renaming local variable 2016-09-20 13:11:39 +02:00
Christian Grothoff
5a6a3da8e4 updating DB schema to profit from new KDF-based refresh variant 2016-08-11 23:28:33 +02:00
Christian Grothoff
0fd6cf19af mostly working migration of the DH-seeded refresh variant 2016-08-07 23:21:49 +02:00
Christian Grothoff
745719dbc1 first half of changing refresh protocol to derive all key data from DH 2016-08-05 16:08:19 +02:00
Christian Grothoff
e800772c85 Merge branch 'master' of git+ssh://git.taler.net/var/git/exchange 2016-07-13 16:02:13 +02:00
Christian Grothoff
0973bca1e4 -be explicit about transaction mode 2016-07-13 16:02:08 +02:00
Marcello Stanisci
59c6856284 fixing #4594 2016-07-07 17:55:25 +02:00
Christian Grothoff
c668eace47 -indentation, dox 2016-06-11 19:58:06 +02:00
Christian Grothoff
766fb6e282 fixing more leaks 2016-06-11 18:22:33 +02:00
Christian Grothoff
75c04b8af2 rename /deposit/wtid and /wire/deposits to /track/{transaction,transfer} for improved consistency 2016-06-09 19:18:13 +02:00
Christian Grothoff
0fef44159a improve error message to diagnose #4559 2016-06-05 22:03:09 +02:00
Christian Grothoff
b405b02875 remove unnecessary check 2016-06-02 08:59:18 +02:00
Christian Grothoff
0cef479e00 extend test to cover GC 2016-05-31 10:39:11 +02:00
Christian Grothoff
eb1fdc105c implement GC logic (#3485) 2016-05-31 09:34:45 +02:00
Christian Grothoff
94e1679955 adding a few more uniqueness constraints to DB 2016-05-31 09:13:03 +02:00
Christian Grothoff
e68d07fc25 making DB scheme nice 2016-05-27 15:34:24 +02:00
Christian Grothoff
5f6f524a52 a first step towards normalizing the DB a bit and not storing data redundantly 2016-05-27 14:39:04 +02:00
Christian Grothoff
172e8494b9 a first step towards normalizing the DB a bit and not storing data redundantly 2016-05-27 14:34:57 +02:00
Christian Grothoff
2f5e58f3c7 a first step towards normalizing the DB a bit and not storing data redundantly 2016-05-27 14:14:13 +02:00
Christian Grothoff
54504b7f37 a first step towards normalizing the DB a bit and not storing data redundantly 2016-05-27 14:04:29 +02:00
Christian Grothoff
0ccb420f4c rename to avoid ambiguity 2016-05-27 12:03:26 +02:00
Christian Grothoff
8b701a2c62 add ON DELETE CASCADE refs where applicable 2016-05-27 11:55:07 +02:00
Christian Grothoff
c0451f0982 fix #4533 for exchange (breaks interaction with bank for /admin/add/incoming) 2016-05-26 16:38:59 +02:00
Christian Grothoff
3f468773e7 change edate to wire_transfer_deadline/delay (#4521) 2016-05-26 15:23:46 +02:00
Christian Grothoff
f471cfcec5 add a few more DB constraints 2016-05-24 20:32:05 +02:00
Christian Grothoff
32bb3b14bf fix #4483 2016-05-24 20:13:31 +02:00
Christian Grothoff
8dfb3b87b4 testing refund, fixing bugs, refund test passes 2016-05-21 19:22:03 +02:00
Christian Grothoff
e39beff272 fix init before use in new refund logic 2016-05-20 15:52:40 +02:00
Christian Grothoff
324003acc0 log cause for /admin/add/incoming failures 2016-05-20 14:25:02 +02:00
Christian Grothoff
9391ed529c export function to free commit coin data 2016-05-19 18:37:31 +02:00
Christian Grothoff
7d8a74adf1 allow env override 2016-05-19 18:26:06 +02:00
Christian Grothoff
14436d1241 finished implementing #4401 2016-05-19 17:47:27 +02:00
Christian Grothoff
8199c06882 more work on #4401, almost done 2016-05-19 17:31:15 +02:00
Christian Grothoff
9dab61c91a more work on #4401 2016-05-19 17:11:35 +02:00
Christian Grothoff
f2b20f3ad0 more work towards fixing #4401 2016-05-19 16:24:29 +02:00
Christian Grothoff
a39e2f9e00 working on DB test, unfinished 2016-05-19 15:10:31 +02:00
Christian Grothoff
8ff8c7b8c7 fix table dropping logic to ensure testcases run in fresh environment 2016-05-18 17:19:32 +02:00
Christian Grothoff
c8b9370413 fixing #3814 by removing ability to melt multiple oldcoins at the same time 2016-05-16 11:55:47 +02:00
Christian Grothoff
068dbf020b reorg testcase a bit 2016-05-08 16:07:17 +02:00
Christian Grothoff
ffb38f292e adding test for wire prepare data 2016-05-08 15:51:40 +02:00
Christian Grothoff
966242341a expand testcase to cover refund API, fix minor issues 2016-05-08 15:44:44 +02:00
Christian Grothoff
691c9a859f more work on test, noting what is left to do with bug number 2016-05-06 23:53:04 +02:00
Christian Grothoff
d55b2cd59d more work on test, noting what is left to do 2016-05-06 23:51:15 +02:00
Christian Grothoff
95d338f6cc adding test for auditors API 2016-05-06 19:39:31 +02:00
Christian Grothoff
fd7e855759 refactoring exchangedb tests to improve coverage 2016-05-06 19:23:02 +02:00
Christian Grothoff
187fa67f3c refactoring exchangedb tests to improve coverage 2016-05-06 19:22:39 +02:00
Christian Grothoff
3526c44a38 refactor code to write signing keys in same module where we read them 2016-05-06 18:33:02 +02:00
Christian Grothoff
c334ba61f4 drop refunds table as well 2016-05-06 13:38:20 +02:00
Christian Grothoff
fbbc49bdad add logic to return refunds with transaction history 2016-05-06 13:03:57 +02:00
Christian Grothoff
a4d99f229a implement logic to store refund data into postgres database 2016-05-06 12:55:44 +02:00
Christian Grothoff
0c959e75d1 working on #3641: more on /refund implementation 2016-05-05 22:57:55 +02:00
Christian Grothoff
ad6a40aaa5 fix fmt string issues 2016-05-04 13:21:22 +02:00
Christian Grothoff
79c316f0d5 enable multiple wire methods to be used with aggregator, add command to run aggregator in testcase 2016-05-03 07:57:49 +02:00
Christian Grothoff
1cbba4bec1 fixing #4462: avoid temporary schemata altogether 2016-05-02 06:36:58 +02:00
Christian Grothoff
53e7547aaf removing broken and redundant testcase 2016-05-02 05:17:42 +02:00
Christian Grothoff
b98a204562 fix #4184 2016-05-02 05:10:40 +02:00
Christian Grothoff
d34c6401b4 fixing #4470 2016-05-02 01:30:13 +02:00
Christian Grothoff
fbbf35c87f fix #4438 2016-04-25 00:26:34 +02:00
Christian Grothoff
f693e25793 introduce refund fee 2016-04-20 01:50:26 +02:00
Christian Grothoff
30d66bcebc fixing #4386: use more sane configuration and data file structure 2016-04-10 17:10:20 +02:00
Christian Grothoff
6e90ef9f4a implement selection by wire_deadline as documented 2016-04-10 02:43:09 +02:00
Christian Grothoff
bf92166be3 do not clear result until end of iteration over results 2016-04-10 02:14:07 +02:00
Christian Grothoff
0dee91e014 changing code to meet latest change in GNUNET_SCHEDULER API 2016-04-10 00:57:20 +02:00
Christian Grothoff
df893df505 fix make dist rules 2016-04-09 01:56:24 +02:00
Christian Grothoff
d986269dae for #4374 2016-04-07 11:09:30 +02:00
Christian Grothoff
148dda09d4 Merge branch 'master' of git+ssh://taler.net/var/git/exchange 2016-04-07 09:33:04 +02:00
Christian Grothoff
8df75214f4 install data and plugins in taler-exchange, not taler 2016-04-07 09:30:58 +02:00
Christian Grothoff
ad8351c912 fix iterate_matching_deposits(), LIMIT does not work with variables in Postgres (#4360) 2016-04-06 10:22:09 +02:00
Christian Grothoff
afb1ab2a11 -fix mem leaks 2016-04-04 17:40:51 +02:00
Christian Grothoff
9909a04d5b use new PQ_query_param_string function to fix 0-termination bug, also terminate idle aggregator in test mode 2016-04-03 21:41:26 +02:00
Christian Grothoff
d7d33b6812 set environment variable to ensure plugins are found during tests 2016-04-01 20:35:22 +02:00
Christian Grothoff
1c568f8eb6 fix testcase init with new API 2016-04-01 20:27:57 +02:00
Christian Grothoff
4154e41a41 hash inputs to sign_fdh functions as required by new API 2016-04-01 20:18:18 +02:00
Christian Grothoff
b4c4f0b078 towards a testcase for aggregation logic 2016-03-30 22:56:17 +02:00
Jeff Burdges
2e0067d9dd Merge branch 'master' of git.taler.net:/var/git/exchange 2016-03-21 15:19:43 +01:00
Jeff Burdges
130957f69d Note two errors in the tests suit 2016-03-21 15:19:04 +01:00
Christian Grothoff
6a80c0bfa2 Merge branch 'master' of git+ssh://git.taler.net/var/git/exchange 2016-03-21 14:40:59 +01:00
Christian Grothoff
3cb188e8a7 rename to match GNUnet symbol change 2016-03-21 14:40:57 +01:00
Jeff Burdges
553d6eb23e API change in GNUnet crypto for Full Domain Hashing 2016-03-21 10:57:12 +01:00
Christian Grothoff
6f8fa678c1 implementing #3987 2016-03-21 01:45:53 +01:00
Christian Grothoff
b5cba32510 renaming mint->exchange 2016-03-01 15:35:04 +01:00