Commit Graph

1857 Commits

Author SHA1 Message Date
Christian Grothoff
15e27abed5
doh, do not try to clean up after allocation failure 2017-10-06 22:10:32 +02:00
Christian Grothoff
1261971987
yet another TALER_amount_get_zero with missing rval check 2017-10-06 22:08:35 +02:00
Christian Grothoff
1c725c055e
use proper enum value for error code on signature parsing in wire plugin 2017-10-06 22:06:25 +02:00
Christian Grothoff
d86a6615cc
really carefully check strtoll() return value before casting to uint64_t 2017-10-06 22:04:51 +02:00
Christian Grothoff
332a37292c
handle (most) TEH_KS_acquire errors 2017-10-06 21:54:55 +02:00
Christian Grothoff
98b7444a7b
handle hypothetical failure of plugin not found 2017-10-06 21:41:41 +02:00
Christian Grothoff
9b585fd066
handle plugin load failure without crashing 2017-10-06 21:39:19 +02:00
Christian Grothoff
ad97b8d439
use proper type for do_shutdown() callback 2017-10-06 21:36:40 +02:00
Christian Grothoff
a90936f858
reduce scope of local vars 2017-10-06 21:35:17 +02:00
Christian Grothoff
a7746c8153
add assertion to be more defensive against buffer overflow (cannot happen, but this better protects against future changes) 2017-10-06 21:32:33 +02:00
Christian Grothoff
d55050652d
BLOB is BYTEA in Postgres 2017-10-06 21:31:07 +02:00
Christian Grothoff
dc883f8556
add assertion to be more defensive against buffer overflow (cannot happen, but this better protects against future changes) 2017-10-06 21:27:58 +02:00
Christian Grothoff
8f08e4634f
do not potentially pass -1 to fcntl() 2017-10-06 21:23:29 +02:00
Christian Grothoff
7f37c2ae00
more return value checks on TALER_amount_get_zero 2017-10-06 21:21:20 +02:00
Christian Grothoff
800c54b19e
do not potentially pass -1 to fcntl() 2017-10-06 21:06:47 +02:00
Christian Grothoff
06f5621fba
better logging if IBAN validation fails, also avoid potentially unbounded stack allocation 2017-10-06 21:04:56 +02:00
Christian Grothoff
dbab0c6587
check return value from TALER_amount_get_zero 2017-10-06 20:54:42 +02:00
Christian Grothoff
2f715c27f8
check return value from TALER_JSON_hash 2017-10-06 20:02:28 +02:00
Christian Grothoff
1da03b95eb
fix indentation 2017-10-06 19:54:48 +02:00
Christian Grothoff
e5aed9e5cb
fix signed calls to isalpha/isdigit/isspace etc. 2017-10-06 19:53:48 +02:00
Christian Grothoff
85a2d3dc0e
modify wire auditor to deal with asynchrony of WIRE plugin API 2017-09-30 21:28:17 +02:00
Christian Grothoff
6a4f6b1836
also store wire position in auditordb 2017-09-30 20:47:52 +02:00
Christian Grothoff
96e04d33e1
update auditordb API to support logic for taler-wire-auditor 2017-09-30 20:29:19 +02:00
Christian Grothoff
a0d410e01b
fix mapping of auditor sigs to DKs, avoid one hash operation by caching hash value 2017-09-26 15:05:27 +02:00
Christian Grothoff
d36a2008e8
fix uninit auditor_url field 2017-09-26 14:09:55 +02:00
Christian Grothoff
472853442f
fix calculation of 'Expires:' header, also handle HTTP HEAD requests 2017-09-26 13:56:33 +02:00
Christian Grothoff
a8de810bf7
simplify time conversion using strptime instead of manual hack, also check for timezone issues if we get unusual time values 2017-09-26 13:46:06 +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
a3b71ac75b
fix bad sizeof() 2017-09-26 12:23:06 +02:00
Christian Grothoff
e78e0f6c4e
starting point for #4948 2017-09-25 23:27:16 +02:00
Christian Grothoff
e5a9b3ffa7
bump version of taler protocol we implement 2017-09-17 16:56:23 +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
1c3e787243
be more precise about encoding HTTP bodies 2017-09-14 21:07:43 +02:00
Christian Grothoff
f346e89ceb
(imperfect) test for #4840 2017-09-14 20:52:39 +02:00
Christian Grothoff
f440904f1b
note on messy / duplicated code 2017-09-13 21:45:10 +02:00
Christian Grothoff
36a7ac723e
do keep signing over DKs even for cherry-picked /keys replies 2017-09-13 21:43:10 +02:00
Christian Grothoff
80a7fe9dcf
add logic to signal exchange to reload keys 2017-09-13 14:35:57 +02:00
Christian Grothoff
e243a8952f
style fix 2017-09-13 14:35:39 +02:00
Christian Grothoff
7123015dbc
create tables in taler-auditor-sign instead of failing obscurely 2017-09-13 14:29:07 +02:00
Christian Grothoff
b46735fbaf
add argument to TALER_EXCHANGE_check_keys_current() to allow forcing the download 2017-09-13 14:08:11 +02:00
Christian Grothoff
e33d72683c
skeleton for /keys cherry picking testcase 2017-09-13 13:27:13 +02:00
Christian Grothoff
6d7645a99b
theoretically finished implementation of #4840 (/keys cherry picking), but by far not done testing 2017-09-13 01:14:31 +02:00
Christian Grothoff
632fd85f1b
fix odd missing initialization, very strange that this did not show up before as a problem 2017-09-12 23:52:23 +02:00
Christian Grothoff
7aa23a39bd
add support for #4840 (/keys cherry picking) to libtalerexchange 2017-09-12 15:34:38 +02:00
Marcello Stanisci
26486e6f21
error code for merchant /pay db transaction 2017-07-25 11:56:15 +02:00
Christian Grothoff
2b56769262
improve diagnostics 2017-07-21 19:38:22 +02:00
Christian Grothoff
3e111f4263
introducting error code for merchant detecting wire fee inconsistency 2017-07-21 15:18:59 +02:00
Christian Grothoff
1e8d0eb462
implement #5114 2017-07-20 10:00:42 +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
e140b418d3
log amount involved 2017-07-06 11:19:00 +02:00
Christian Grothoff
1910d6648c
tolerate total-amount==fee in aggregator 2017-07-06 11:19:00 +02:00
Marcello Stanisci
34887e55eb
importing a 'PS' struct from merchant 2017-07-05 14:12:02 +02:00
Marcello Stanisci
932d2b3a25
signature macro to confirm refunds 2017-07-05 09:33:23 +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
d77c4160ec
implement logic to check protocol version compatibility (#5035) 2017-07-01 14:15:26 +02:00
Christian Grothoff
f048de9782
preparations for #4840 2017-06-29 20:46:52 +02:00
Christian Grothoff
0ba88250a9
expand set of EC codes to better cover merchant /refund (likely still not perfect) 2017-06-29 14:21:49 +02:00
Christian Grothoff
ba95b05256
log interesting errors always 2017-06-25 12:59:46 +02:00
Christian Grothoff
4c6ef74358
update taler-auditor to fix #5010 in auditor as well, technically done, but untested 2017-06-25 01:46:19 +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
87e16541af
incomplete work on fixing #5010 for /refresh/melt 2017-06-20 23:17:57 +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
247f82c088
move reply_transfer_pending to where it belongs 2017-06-19 21:08:40 +02:00
Christian Grothoff
f8e62141f2
split httpd_refresh.c into refresh_melt, refresh_link and refresh_reveal 2017-06-19 21:05:15 +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
beea8eb383
refactor /track logic towards new structure 2017-06-19 18:06:51 +02:00
Christian Grothoff
ae7850a318
split tracking into track_transfer.c and track_transaction.c 2017-06-19 18:00:32 +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
3d701e8d2a
fix leaks and typos 2017-06-19 00:17:16 +02:00
Christian Grothoff
dea0f7c411
fixing #5010 for /reserve/withdraw 2017-06-19 00:17:16 +02:00
Christian Grothoff
4cb035cd29
rename file to match content better 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
eb354680b4
fix compiler warning due to possibly unknown switch enum values being handled poorly 2017-06-15 22:07:10 +02:00
Christian Grothoff
b874a4c39b
remove dead or unnecessary macros 2017-06-15 21:52:09 +02:00
Marcello Stanisci
274ec6191f
error code for merchant's /refund 2017-06-14 18:44:44 +02:00
Marcello Stanisci
d7e7cf517a
error code for merchant's /refund 2017-06-14 15:13:13 +02:00
Marcello Stanisci
19633bedbb
error code for merchant's /refund 2017-06-14 11:41:23 +02:00
Marcello Stanisci
5176b25085
error code for merchant's /refund 2017-06-14 11:24:53 +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
ba17729f65
tolerate empty transaction list when returning history 2017-06-11 16:06:52 +02:00
Christian Grothoff
becb7139e1
fix doxygen 2017-06-11 15:28:18 +02:00
Christian Grothoff
16b7c26605
modify fakebank API to allow arbitrary subjects, not just well-fromed WTIDs 2017-06-11 15:25:59 +02:00
Christian Grothoff
1eb739c670
add --test option to taler-exchange-wirewatch 2017-06-11 11:57:05 +02:00
Christian Grothoff
0ef7116ecf
do not show -v option twice in -h 2017-06-11 11:51:55 +02:00
Christian Grothoff
30f1d7b244
add new test to ignore files 2017-06-11 11:48:55 +02:00
Christian Grothoff
110d0cc71c
start test case for #4956 2017-06-11 11:48:06 +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
780b716652
add missing files for distcheck 2017-06-06 14:51:09 +02:00
Christian Grothoff
0c522791fe
bump versions for release 2017-06-06 14:03:53 +02:00
Christian Grothoff
850d84a1b6
assert non-NULL 2017-06-05 18:05:01 +02:00
Christian Grothoff
1d40a01a1e
fix indentation 2017-06-05 00:17:40 +02:00
Christian Grothoff
2daa38fcde
fix more leaks 2017-06-04 12:34:12 +02:00
Christian Grothoff
2f74a5b00e
fix remaining leak from #5050 2017-06-04 12:24:51 +02:00
Christian Grothoff
4694810d9d
free auditor data on shutdown (#5050) 2017-06-04 12:13:30 +02:00
Christian Grothoff
59fd83b731
fix memory leaks (#5050) 2017-06-04 12:07:53 +02:00
Christian Grothoff
1e30d60a25
fixing misc doxygen issues 2017-06-04 11:30:43 +02:00
Christian Grothoff
b217058821
add version to keydata returned by libtalerexchange (#5035) 2017-06-01 23:00:06 +02:00
Christian Grothoff
fdec8e482e
fix #5035 2017-06-01 22:48:33 +02:00
Christian Grothoff
83b527e83b
start to use extended libgnunetpq API (not finished) 2017-06-01 22:48:33 +02:00
Christian Grothoff
a1c32c9554
undo accidental commit 2017-05-29 20:49:28 +02:00
Christian Grothoff
173c848fe9
minor changes to get #3464 to work, finally 2017-05-29 18:27:15 +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
6bb2631ab4
bank flush db command also needed -c option 2017-05-24 14:57:33 +02:00
Marcello Stanisci
8ebfd1f643
fix auditor_iter, still a GNUNET_SYSERR lying around. 2017-05-24 10:50:02 +02:00
Christian Grothoff
6110954931
fix segv in test if DB interaction failed hard 2017-05-22 17:02:09 +02:00
Marcello Stanisci
6912d60b63
tolerating bad denomination blobs when iterating over
auditor_base_dir
2017-05-18 14:03:37 +02:00
Marcello Stanisci
02962b4f12
auditor doesn't sign a zero-length list of denominations 2017-05-18 13:48:15 +02:00
Marcello Stanisci
48c72bb7a0
bank-lib testcase passes config file to the bank 2017-05-17 20:10:59 +02:00
Marcello Stanisci
b72b58b560
remove mention of 'talercheck' 2017-05-17 17:52:43 +02:00
Marcello Stanisci
0bb06fab55
bank-lib looks first into env to get checkdb's name 2017-05-17 17:47:32 +02:00
Christian Grothoff
fb381df2e0
implement test and fix minor discovered bugs for /history via test wire plugin (fixes #4959) 2017-05-16 22:53:18 +02:00
Christian Grothoff
fc48947e32
skeleton for the test for #4959 2017-05-16 18:56:10 +02:00
Christian Grothoff
82cec70298
nicer error reporting 2017-05-16 11:05:01 +02:00
Marcello Stanisci
9916eef3db
use and purge alternate db when testing against python bank 2017-05-16 11:05:00 +02:00
Christian Grothoff
bdfa18830d
start_row is actually start in the spec, fix naming 2017-05-16 11:05:00 +02:00
Christian Grothoff
7c28823caf
handle base32-wire transfer subject being followed by space+exchange base url in wire plugin and fakebank 2017-05-16 11:05:00 +02:00
Christian Grothoff
be3b891dbd
fix port numbers, no longer 8081 but on 8080; and box json array /history response in {data} as required by API 2017-05-16 11:05:00 +02:00
Marcello Stanisci
d3fac18562
take the history array from "data" field returned by the bank 2017-05-16 11:04:59 +02:00
Christian Grothoff
d307ddba41
improve serializability error handling a bit 2017-05-14 15:44:47 +02:00
Christian Grothoff
5dff30e20b
nicer logging 2017-05-12 22:41:29 +02:00
Christian Grothoff
f6f4b07bab
clean up debug logic 2017-05-11 11:43:50 +02:00
Christian Grothoff
43126e867a
acutally initialize num_auditors field, helps a lot... 2017-05-11 11:41:05 +02:00
Christian Grothoff
5a0ee21b48
even more detailed /history error reporting 2017-05-11 11:22:42 +02:00
Christian Grothoff
d5ddbb648c
fail hard if any auditor sig is wrong 2017-05-11 11:05:48 +02:00
Christian Grothoff
673509fac8
fix auditor signing process: include signature over refund fee 2017-05-11 11:02:49 +02:00
Christian Grothoff
beee1fb689
generate auditor signatures in exchange-lib testcase, and handle problem with bogus revocation keys during startup more gracefully by terminating instead of looping 2017-05-11 10:56:15 +02:00
Marcello Stanisci
3e5d200d95
revert field name in bank-lib 2017-05-10 21:08:29 +02:00
Christian Grothoff
474f374d2d
improve history error reporting by test 2017-05-10 16:55:14 +02:00
Marcello Stanisci
6bf006e636
removing use of bank's admin interface from bank-lib testcases 2017-05-10 15:50:53 +02:00
Marcello Stanisci
2c43ff7c0d
uncommenting the first failing bank-lib interpreter command 2017-05-10 15:50:49 +02:00
Marcello Stanisci
e16d60b27f
fix field name 2017-05-10 15:50:47 +02:00
Marcello Stanisci
7cbfdbd72a
uncommenting /admin/add/incoming interpreter command 2017-05-10 15:50:45 +02:00
Marcello Stanisci
75f47e79e1
initial fixes to test exchange/bank interfacing 2017-05-10 15:50:41 +02:00
Marcello Stanisci
edf24557bf
revert last change 2017-05-10 15:46:05 +02:00
Marcello Stanisci
ec53b9f6ce
serial_id -> row_id in returned json 2017-05-10 11:49:59 +02:00
Christian Grothoff
1edf34e52a
fix missing auth header for /admin/add/incoming 2017-05-09 22:25:53 +02:00
Christian Grothoff
e6d09d2568
handle error code returned by TALER_amount_subtract in new error case TALER_EC_PAYBACK_COIN_BALANCE_NEGATIVE 2017-05-09 13:33:26 +02:00
Christian Grothoff
46c7647b27
handle error code returned by TALER_EXCHANGEDB_denomination_keys_iterate 2017-05-09 13:30:55 +02:00
Christian Grothoff
7a259fb7bd
nicely handle error from json_dumps without assert 2017-05-09 13:28:01 +02:00
Christian Grothoff
a5fedfeeb8
remove redundant check 2017-05-09 13:26:34 +02:00
Christian Grothoff
783642272d
fix possible NULL deref, simplify logic 2017-05-09 13:24:53 +02:00
Christian Grothoff
b53c189e0a
nominally finish implementation of taler-exchange-wirewatch (still needs testing) 2017-05-08 14:35:48 +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
2dcaffe451
move responsibility of converting to wire subject to reserve_pub into wire plugin 2017-05-08 12:57:00 +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
18a020dd02
implement fakebank support (incl. tests) for #5005/#4964/4959 2017-05-07 21:11:56 +02:00
Christian Grothoff
56786aea5a
adjust test to work with real bank (now fails) 2017-05-07 14:21:40 +02:00
Christian Grothoff
0e73c0d451
check json_pack return value, just to be nice 2017-05-07 14:07:48 +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
2c05a4b278
more work on wirewatch 2017-05-05 12:17:48 +02:00
Christian Grothoff
da75b30a25
starting to implement taler-exchange-wirewatch 2017-05-05 11:11:03 +02:00
Christian Grothoff
ed1a4c08fd
add link to bug 2017-05-04 23:53:29 +02:00
Christian Grothoff
69fa9b41d1
start to add /history testing support to tests, fix some minor issues 2017-05-04 23:52:54 +02:00
Christian Grothoff
0e632ffdd2
fix names to match latest specification 2017-05-04 23:30:18 +02:00
Christian Grothoff
1ea22a37c6
add /history support to fakebank 2017-05-04 23:29:08 +02:00
Christian Grothoff
57964b6ae9
fix indentation 2017-05-04 20:19:57 +02:00
Christian Grothoff
f4df63e448
adding support for transaction history to wire plugin API (#4959) 2017-05-04 18:35:53 +02:00
Christian Grothoff
234dbcc7b7
switch bank api to new authentication method API 2017-05-04 15:18:43 +02:00
Christian Grothoff
57502edf15
fix typo 2017-05-04 14:06:16 +02:00
Christian Grothoff
405859d068
implement #4993 2017-05-04 11:19:00 +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
b0811dd868
add support for closed reserves to taler-auditor 2017-04-19 21:41:53 +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
c15ff78f0c
implementing #4956-support in libtalerexchange 2017-04-19 14:15:48 +02:00
Christian Grothoff
123b1868ab
implement #4983 2017-04-19 13:46:38 +02:00
Christian Grothoff
5e8ef38680
fixing #4980 2017-04-18 21:05:27 +02:00
Christian Grothoff
164c125528
introducing closing fee 2017-04-17 14:01:55 +02:00
Christian Grothoff
5a321621f4
implement #4982 2017-04-17 01:29:36 +02:00
Christian Grothoff
0b3abbd304
properly init denom_hash in test 2017-04-17 00:33:16 +02:00