Christian Grothoff
e7aeec04f4
The current recoup API is broken. I guess this is another example where "trivial" API changes turn out to have (multiple!) unexpected consequences.
...
The current "/recoup" API does not have clear idempotency semantics, as we've discussed on the phone. This is already bad by itself, as it makes it hard to write down what the API does other than "whatever the implementation does".
However, it actually breaks correctness in this (admittedly kinda contrived, but not impossible) case:
Say that we have a coin A obtained via withdrawal and a coin B obtained via refreshing coin A. Now the denominations of A gets revoked..
The wallet does a recoup of A for EUR:1.
Now the denomination of B also gets revoked. The wallet recoups B (incidentally also for EUR:1) and now A can be recouped again for EUR:1. But now the exchange is in a state where it will refuse a legitimate recoup request for A because the detection for an idempotent request kicks in.
This is IMHO bad API design, and the exchange should simply always recoup the maximum amount.
Furthermore, we usually follow the principle of "API calls that take up DB space are paid". With the current recoup API, I can do many tiny recoup requests which the exchange then has to store, right?
I guess it would not be a big change to remove the "amount" value from the recoup/recoup-refresh request bodies, right?
- Florian
2022-01-11 12:47:35 +01:00
Christian Grothoff
e7d4183d1c
-fix FTBFS
2021-12-25 17:22:54 +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
62444504f7
denormalize reserve_pub in reserve tables to enable sharding
2021-12-19 13:43:33 +01:00
Christian Grothoff
1acc851deb
-fix recoup ugliness
2021-12-16 20:18:44 +01:00
Christian Grothoff
fdfcb29027
-fix FTBFS
2021-12-15 11:36:36 +01:00
Christian Grothoff
19de0f604f
change order of statements when making coin known to possibly reduce serialization failures
2021-12-05 17:59:02 +01:00
Christian Grothoff
67de20d26e
major rework of withdraw transaction to use stored procedure and (presumably) reduce serialization failures by avoiding SELECT before INSERT
2021-12-05 17:16:00 +01:00
Christian Grothoff
2d1a618d3d
sql fix
2021-11-27 22:58:50 +01:00
Thien-Thi Nguyen
2c8bd158d9
fix typo: s/row_id/rowid/
2021-11-20 06:10:51 -05:00
Christian Grothoff
52fe9d657b
-fix leaks and compiler warnings
2021-11-19 20:56:53 +01:00
591cefd315
[age restriction] progress 3/n
...
- remove redundant struct members for age commitment hash
- undo pre-mature implementation in taler-exchange-secmod-rsa.c
- carry through age restriction parameter for TALER_denom_blind
2021-11-16 14:43:54 +01:00
Christian Grothoff
cd8d4bede1
add missing file
2021-11-07 11:41:53 +01:00
Christian Grothoff
938e2ce39c
more RSA cleanup
2021-11-06 16:04:26 +01:00
Christian Grothoff
f01ab79015
RSA-despecialization
2021-11-06 15:29:10 +01:00
Christian Grothoff
ba627bf84c
-fixes
2021-11-05 22:22:47 +01:00
Christian Grothoff
32da809fd6
abstract denomination keys a bit more
2021-11-05 14:00:10 +01:00
Christian Grothoff
22ce5bff77
fix sharding
2021-11-01 18:05:01 +01:00
Christian Grothoff
783d07b476
consistently distinguish blinded/unblinded denomination sigs
2021-10-31 18:12:54 +01:00
Christian Grothoff
de8e0907aa
DB test passes again
2021-10-31 15:32:20 +01:00
Christian Grothoff
35e3506660
fixing SQL statements
2021-10-31 13:27:50 +01:00
Christian Grothoff
43ee9da01d
misc fixes
2021-10-31 12:49:51 +01:00
Christian Grothoff
b5e9523f94
fix test FTBFS
2021-10-31 10:32:10 +01:00
Christian Grothoff
bc57abc3da
-more dB work
2021-10-30 20:49:23 +02:00
Christian Grothoff
efd4e19bd2
fix FTBFS of exchangedb
2021-10-27 23:31:56 +02:00
Christian Grothoff
d4e03b12ae
-more changes towards fixing FTBFS
2021-10-27 09:23:12 +02:00
Christian Grothoff
932d2aaf88
implement returning KYC status from GET /deposits/ endpoint
2021-10-17 13:22:15 +02:00
Christian Grothoff
7d62fa065b
start with KYC support in DB
2021-10-14 14:45:10 +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
ae8d481e1c
implement taler-exchange-transfer DB sharding logic
2021-09-05 15:25:57 +02:00
Christian Grothoff
5149af9314
preliminary work on supporting sharding/parallel aggregation (undertested, but tests pass again)
2021-09-03 19:08:02 +02:00
Christian Grothoff
c559b1c935
complete implementation of long-polling for reserve status; remove support for multi-threaded exchange httpd
2021-08-23 00:00:32 +02:00
Christian Grothoff
03633cb29a
-fix test
2021-08-08 20:18:53 +02:00
Christian Grothoff
7fd4f1d846
-sepa is ancient, iban is correct
2021-08-08 00:01:07 +02:00
Christian Grothoff
33a28efef7
-more json_pack fixes
2021-07-31 21:48:36 +02:00
Christian Grothoff
306a08a71c
-rename TALER_amount_get_zero to TALER_amount_set_zero
2021-07-23 13:02:04 +02:00
Christian Grothoff
0e808b648a
fix misc typos
2020-07-22 23:56:52 +02:00
Christian Grothoff
c3cd21508b
synchronize with latest GANA
2020-07-08 19:36:08 +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
4f82885560
towards changing timestamp in deposit confirmation (tests failing)
2020-07-05 16:35:00 +02:00
Christian Grothoff
84a40be0bc
fix #6170 and rest of #6164
2020-04-08 23:52:01 +02:00
Christian Grothoff
3404fda463
typos
2020-03-31 20:57:11 +02: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
f052527ea5
fix recoup-refresh audit logic
2020-03-26 20:54:41 +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
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
642992f9c3
more renaming
2020-03-04 12:10:11 +01:00