Commit Graph

42 Commits

Author SHA1 Message Date
7910ca183f
double melt test no works with age restriction
- added missing field h_age_commitment in exchange's error response
- slight refactoring
2022-02-22 18:35:10 +01:00
26158fc725
[age restriction] progress 16/n - refresh/reveal/link tests
Age restriction works now with withdraw, melt/refresh/reveal and link,
including tests.

However, there is still a problem with the tests:  The melting operation
"refresh-melt-failing-age" that should fail (because of conflict), but
currently fails for other reasons.  I decided to disable that particular
test (and the next) and submit the patch I have so far.
2022-02-22 14:34:47 +01:00
8bdf6ab19d
[age restriction] progress 14/n - withdraw and deposit
Age restriction support for
  - withdraw is done and tested
  - deposit is done and tested

TODOs:
  - melt/refresh/reveal
  - link

------

Added functions
 - TALER_age_restriction_commit
 - TALER_age_commitment_derive
 - TALER_age_commitment_hash
 - TALER_age_restriction_commitment_free_inside
 - Hash of age commitment passed around API boundaries

Exchangedb adjustments for denominations
 - all prepared statements re: denominations now handle age_mask
 - signature parameters adjusted

Hash and signature verification of /keys adjusted
 - Hashes of (normal) denominations and age-restricted denominations are
   calculated seperately
 - The hash of the age-restricted ones will then be added to the other
   hash
 - The total hash is signed/verified

Tests for withdraw with age restriction added
 - TALER_EXCHANGE_DenomPublickey now carries age_mask
 - TALER_TESTING_cmd_withdraw_amount* takes age parameter
 - TALER_TESTING_find_pk takes boolean age_restricted
 - WithdrawState carries age_commitment and its hash
 - withdraw_run derives new age commitment, if applicable
 - Added age parameter to testing (13 as example)

Various Fixes and changes
 - Fixes of post handler for /management/extensions
 - Fixes for offline tool extensions signing
 - Slight refactoring of extensions
 - Age restriction extension simplified
   - config is now global to extension
   - added global TEH_age_restriction_enabled and TEH_age_mask in
     taler-exchange-httpd
   - helper functions and macros introduced
2022-02-16 22:01:05 +01:00
Christian Grothoff
0995bdd1d0
-get tests to pass 2022-02-11 09:36:01 +01:00
Christian Grothoff
532d4ad0dc
-fixes to tests, and half-baked fixes for CS-/link (still fails) 2022-02-10 23:39:00 +01:00
Christian Grothoff
bc15478c3b
-fix leak 2022-02-09 09:25:32 +01:00
Christian Grothoff
f7a1f41eee
-get testing to build 2022-02-07 11:01:54 +01:00
Christian Grothoff
03fd154a69
messing with CS/RSA fixes 2022-02-04 19:30:15 +01:00
Christian Grothoff
9d40bd5a1e
split tests by rsa/cs 2022-02-04 18:45:42 +01:00
Lucien Heuzeveldt
daa7fdcfb1
implement spend 2022-02-04 15:36:10 +01:00
Lucien Heuzeveldt
9074e66ebc
implement withdraw (nonce reuse check missing) 2022-02-04 15:35:31 +01:00
Lucien Heuzeveldt
82405b0ce5
implement CS key handling and csr endpoint 2022-02-04 15:34:19 +01:00
Christian Grothoff
87376e02eb
protocol v12 changes (/recoup split, signature changes) plus database sharding plus O(n^2)=>O(n) worst-case complexity reduction on coin balance checks 2021-12-25 13:56:40 +01:00
Christian Grothoff
1acc851deb
-fix recoup ugliness 2021-12-16 20:18:44 +01:00
Christian Grothoff
52fe9d657b
-fix leaks and compiler warnings 2021-11-19 20:56:53 +01:00
Christian Grothoff
a9b2140b1e
get first KYC test to pass 2021-11-09 15:39:31 +01:00
Christian Grothoff
07ea1c9890
-fix testing FTBFS 2021-10-27 23:37:45 +02:00
Christian Grothoff
4741f4ea02
implement duplicate reserve_pub detection in fakebank, add test (fails in pybank), for #6863 2021-05-20 12:31:27 +02:00
Christian Grothoff
04f2e9a4d5
(start to) remove logic no longer needed with new key management 2020-12-14 17:12:48 +01:00
Christian Grothoff
b5d88fc2d1
activating implementation of #6175 2020-12-14 15:42:32 +01:00
Christian Grothoff
2a3de6555a
add setup steps to tests 2020-12-11 23:44:01 +01:00
Christian Grothoff
4e0b510438
extend tests to discover corner cases from #6478, fix code to actually work for those cases 2020-08-13 00:45:02 +02:00
Christian Grothoff
8ea4e50ac7
test coin-reuse with recoup as well 2020-07-10 23:17:55 +02:00
Christian Grothoff
7085cfef70
test coin_priv re-use with deposit and refresh, update handling of the error code client-side 2020-07-10 23:09:46 +02:00
Christian Grothoff
ddf95c491a
remove unused/unusable coin_sig, return correct coin_pub in recoup-reveal failure context 2020-07-10 22:33:04 +02:00
Christian Grothoff
7cf67b3094
this invariant does not actually hold, i.e. if there is a /recoup request for a coin we never saw 2020-07-10 21:27:06 +02:00
Christian Grothoff
af0a2c32a3
work on more testing for recoup-refresh 2020-07-09 23:27:16 +02:00
Christian Grothoff
5b01ccbfc6
sleep to ensure aggregator has work 2020-07-05 16:35:00 +02:00
Christian Grothoff
5ac448738d
fix status code 2020-07-05 16:34:59 +02:00
Christian Grothoff
3404fda463
typos 2020-03-31 20:57:11 +02:00
Christian Grothoff
96c5cd4c42
do not re-use command label 2020-03-28 21:45:27 +01:00
Christian Grothoff
d5351641f8
implement #6049 2020-03-28 20:45:53 +01:00
Florian Dold
e267cb985b
cover actual aggregation in exchange test 2020-03-27 20:47:30 +05:30
Florian Dold
6620a5b691
add test case (currently fails) for deposit idempotency 2020-03-27 19:14:55 +05:30
Florian Dold
449e99bd51
test multiple transfers to same reserve 2020-03-27 18:05:21 +05:30
Florian Dold
a57fd6c4b3
fix test case (old one required recoup to *not* be idempotent 2020-03-23 12:28:08 +05:30
Florian Dold
6a46b13e80
make recoup idempotent and simplify response 2020-03-20 14:01:59 +05:30
Christian Grothoff
15489275ba
make DB reset optional in API, use it in tests, but not in the benchmark 2020-03-19 17:56:23 +01:00
Christian Grothoff
8d5f42fe0c
add separate commands for closer/transfer steps, modify test cases to use new commands 2020-03-12 10:53:49 +01:00
Christian Grothoff
0a2b049864
big rename fest related to #6067 API renaming 2020-02-29 16:42:10 +01:00
Florian Dold
6074790867
config syntax for accounts 2020-01-19 18:48:23 +01:00
Florian Dold
72a629a8be
move testing logic and integration tests into separate directory 2020-01-19 15:23:33 +01:00