Commit Graph

40 Commits

Author SHA1 Message Date
Christian Grothoff
1009084e94
major rework of the KYC logic, making it more configurable, not complete, but tests pass again 2022-08-11 23:35:33 +02:00
Christian Grothoff
93943bdb5b
add KYC errors for p2p payments 2022-06-04 15:19:57 +02:00
Christian Grothoff
7b25787a4b
-generate 404 on non-existing accounts for fakebank, use payto://-URIs with receiver-name in tests 2022-05-30 16:31:24 +02:00
Christian Grothoff
1d84c284ad
-incomplete batch_withdraw test command 2022-05-23 22:09:05 +02:00
Christian Grothoff
054f2ab51c
-implement batch withdraw client-side logic 2022-05-23 21:12:31 +02:00
b84c88fc04
Fixed seed size for TALER_age_restriction_commit
Also, added src/util/tv_age_restriction.{c,json} for/as test vectors for
age restriction.
2022-04-21 14:27:29 +02:00
Christian Grothoff
89431a41b7
-complete va coin parser of purse_create_deposit CMD 2022-04-06 13:54:08 +02:00
Christian Grothoff
427417b835
towards support for new reserve history/status APIs 2022-03-20 13:20:45 +01:00
e9eb00e285
Refactoring TALER_AgeCommitment
Instead of a single struct TALER_AgeCommitment, we now use
 1. TALER_AgeCommitment for the age mask and list public keys for age
    restriciton.
 2. TALER_AgeProof for list of private keys for age restriction
 3. TALER_AgeCommitmentProof for the aggregation of the former two.

Also, we introduce TALER_AgeAttestation as the EDDSA signature to attest
a particular age group, along with the function prototypes
TALER_age_commitment_attest and TALER_age_commitment_verify.
2022-03-01 17:02:37 +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
Christian Grothoff
a351bfc4b4
-fix CS nonce reuse check logic 2022-02-17 15:18:09 +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
b3cf788424
-more test fixes 2022-02-08 14:02:27 +01:00
Christian Grothoff
031e365814
fix FTBFS of main logic 2022-02-07 10:55:07 +01:00
Christian Grothoff
03fd154a69
messing with CS/RSA fixes 2022-02-04 19:30:15 +01:00
Lucien Heuzeveldt
8d85c8b5b6
implement feedback 2022-02-04 15:37:30 +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
Gian Demarmels
f3fb7c29e6
added CS data structures, implemented CS keypair 2022-02-04 15:31:45 +01:00
Christian Grothoff
0ac1b7abad
handle revoke followed immediately by a sign request 2021-11-24 17:44:26 +01:00
Christian Grothoff
b7f0d636e9
-fix NPE 2021-11-08 08:54:12 +01:00
Christian Grothoff
6ffb32aaab
add required payto URI traits 2021-11-07 19:35:29 +01:00
Christian Grothoff
659cd4439d
expose KYC traits for withdraw/get deposits commands 2021-11-07 14:12:54 +01:00
Christian Grothoff
0996b83a65
libtalertesting compiles 2021-10-27 22:28:52 +02:00
Christian Grothoff
acbadd5c6e
-modify C API to future-proof it for returning more details as required for KYC implementation 2021-10-13 18:52:59 +02:00
Christian Grothoff
4b9fb610d8
do not log error on MHD_HTTP_GONE status code, revocation is a legitimate reply 2020-12-20 20:03:59 +01:00
Christian Grothoff
8d312562bf
adjust ECs 2020-11-07 18:51:54 +01: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
e428783e2e
GNUNET_free_non_null is gone, use GNUNET_free 2020-07-05 16:56:41 +02:00
Christian Grothoff
84a40be0bc
fix #6170 and rest of #6164 2020-04-08 23:52:01 +02:00
Christian Grothoff
bf8c5982a2
make exchange API more uniform in how information is returned 2020-04-05 22:05:38 +02:00
Christian Grothoff
d5351641f8
implement #6049 2020-03-28 20:45:53 +01:00
Christian Grothoff
17cfbced1d
fix inconsistency in field naming 2020-03-27 17:32:39 +01:00
Christian Grothoff
1b24e2f9bb
more statistics, make explicit table lock optional, can hurt performance badly 2020-03-20 18:38:57 +01:00
Christian Grothoff
10c56bcea0
improving benchmarking logic, including more timings 2020-03-20 02:36:50 +01:00
Christian Grothoff
f76e7c46e6
make do_retry not retry forever in tests/benchmark 2020-03-19 19:33:20 +01:00
Christian Grothoff
de9ab28ab9
rename fest, make symbols better match new endpoint names 2020-02-27 23:46:53 +01:00
Christian Grothoff
e46467510d
leak fixes 2020-01-19 22:24:04 +01:00
Florian Dold
72a629a8be
move testing logic and integration tests into separate directory 2020-01-19 15:23:33 +01:00