Commit Graph

356 Commits

Author SHA1 Message Date
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
14efa23a2b
improve error response for withdrawal 2022-01-10 01:23:46 +01:00
Christian Grothoff
5cd2bc5de3
-cleanup 2021-12-28 15:36:26 +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
1b23857f2c
[age restriction] progress 8/n
More work towards support for extensions and age restriction

- updated gana
- added handler for DB-Event
- added TEH_extensions_init() and _done()
- added global for age restriction
- added stub for post handler
- added SQL-table for extension metadata
- added enum type for extensions and other data structures

Also:
- fixed some warnings -Wmaybe-unitialized
2021-12-23 15:15:33 +01:00
Christian Grothoff
57f4933451
fix uncrustify 2021-12-11 21:53:30 +01:00
Christian Grothoff
e0700ad916
optimize /deposit logic to minimize serialization failures (presumably) 2021-12-08 20:33:14 +01:00
Thien-Thi Nguyen
56318f53e2
update contrib/gana to b7320181c5e0d95c6f2e2a9e5c53dce0bc1a35a8 2021-11-21 06:23:36 -05:00
Christian Grothoff
1caeaec257
fix #7099 2021-11-21 10:01:31 +01:00
Christian Grothoff
0325a79631
avoid duplication 2021-11-15 14:39:18 +01:00
Christian Grothoff
ee687c87ed
-better types 2021-11-15 10:53:33 +01:00
Christian Grothoff
77bab62560
-fixes for test 2021-11-09 22:52:01 +01:00
Christian Grothoff
ba627bf84c
-fixes 2021-11-05 22:22:47 +01:00
Christian Grothoff
766922f7e9
implement missing SQL statement 2021-11-05 13:20:14 +01:00
Christian Grothoff
9358b886f1
bugfix! 2021-11-01 22:57:46 +01:00
Christian Grothoff
22ce5bff77
fix sharding 2021-11-01 18:05:01 +01:00
Christian Grothoff
3900531e0d
eliminate HKDF when hashing paytos 2021-10-27 11:40:12 +02:00
Christian Grothoff
7ac57acb18
fix auditor FTBFS 2021-10-27 09:23:14 +02:00
Christian Grothoff
fd615f3e33
-fix exchange FTBFS 2021-10-27 09:23:14 +02:00
Christian Grothoff
8a6d9da545
-work on FTBFS 2021-10-27 09:23:14 +02:00
Christian Grothoff
58ea04167c
-fix misc FTBFS 2021-10-27 09:23:13 +02:00
Christian Grothoff
3af7bc0a29
-more FTBFS fixes 2021-10-27 09:23:12 +02:00
Christian Grothoff
d4e03b12ae
-more changes towards fixing FTBFS 2021-10-27 09:23:12 +02:00
Christian Grothoff
778a402d07
-implement more of the KYC handlers 2021-10-19 21:02:10 +02:00
Christian Grothoff
4e3b133e47
-incomplete draft for /kyc-wallet handler 2021-10-17 14:12:13 +02:00
Christian Grothoff
8a213cd3ad
spanish hypenation rules 2021-10-12 12:33:41 +02:00
Christian Grothoff
66573865e1
generate 502 on secmod unavailable instead of 200 with bad public key; more logging 2021-10-11 14:32:32 +02:00
Christian Grothoff
7bf2845b66
update tos 2021-09-30 21:43:48 +02:00
Christian Grothoff
2f31d06392
regenerate pp/tos 2021-09-30 21:41:06 +02:00
Christian Grothoff
4a92cc0584
-pp revision 2021-09-24 12:02:09 +02:00
Christian Grothoff
896bb8f074
typo 2021-08-31 22:56:14 +02:00
Christian Grothoff
0013ce41e7
hyperaggregation schema proposal 2021-08-31 17:41:46 +02:00
6761e2a997
gana 2021-08-26 16:45:54 +02:00
7ca2787d5f
debian: changelog 2021-08-26 16:37:44 +02:00
Christian Grothoff
e01be3c09e
-gana update 2021-08-25 15:14:18 +02:00
Christian Grothoff
18a68ab789
ensure statements are prepared before keys subsystem initialization 2021-08-25 11:45:13 +02:00
Christian Grothoff
e50a5f4d2b
-update GANA 2021-08-25 07:58:07 +02:00
Christian Grothoff
7b954c1e26
-bump version in configure.ac 2021-08-24 15:43:32 +02:00
74afcfd7b2
debian: changelog 2021-08-24 13:13:29 +02:00
Christian Grothoff
888895cb8c
fix #6956 in exchange 2021-08-23 23:35:24 +02:00
Christian Grothoff
10f9272e45
-implement long polling support on reserve status (but not yet in C client library) 2021-08-22 00:12:18 +02:00
Christian Grothoff
765e97ea1a
-update gana 2021-08-14 15:31:20 +02:00
Christian Grothoff
10d8342f90
return more detailed issue report in /wire, fixes #6980 2021-08-11 21:37:39 +02:00
a3c932775e
man page 2021-08-08 22:30:39 +02:00
Christian Grothoff
c4ae15c1db
-strengthen payto validation logic 2021-08-02 19:38:23 +02:00
9bf2dfbce2
put coin configuration in separate config file 2021-08-02 14:32:31 +02:00
Christian Grothoff
2028805fc6
-fix doxygen issues 2021-08-01 23:16:55 +02:00
Christian Grothoff
d8d1453789
-misc doxygen fixes 2021-08-01 23:06:16 +02:00
Christian Grothoff
7ee5ffd2eb
-fix FTBFS 2021-08-01 19:30:57 +02:00
Christian Grothoff
f1f0bf637b
build system: also obtain event type registry from GANA 2021-08-01 13:56:48 +02:00
02aa49cc36
install into usr/share/taler/exchange 2021-07-26 16:16:52 +02:00
Christian Grothoff
c7a54f7a81
gana update 2021-07-23 17:08:08 +02:00
Christian Grothoff
44f7a19ab1
-update gana 2021-07-23 13:12:08 +02:00
Christian Grothoff
2e981c1a6e
fix serial selection in auditor-sync 2021-06-27 23:38:52 +02:00
Christian Grothoff
4ba4cf74ae
-fix typo 2021-06-27 15:36:42 +02:00
Christian Grothoff
9db945471f
-gana update 2021-06-16 21:22:20 +02:00
Christian Grothoff
34a5806eb5
gana update 2021-06-16 15:50:09 +02:00
Christian Grothoff
3fa945e796
update gana 2021-06-16 15:13:08 +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
259a180bb6
update gana 2021-05-17 22:44:01 +02:00
Christian Grothoff
b60ad1f422
-update GANA 2021-04-26 17:12:18 +02:00
Christian Grothoff
3cdefdd11a
update GANA 2021-04-24 20:26:05 +02:00
Christian Grothoff
20c70845c0
return more precise error codes from TALER_EXCHANGE_deposit() if failures are detected client-side (#6817) 2021-04-24 19:54:47 +02:00
Christian Grothoff
4384c6ec85
fix misc doxygen issues 2021-04-21 20:28:30 +02:00
Christian Grothoff
e82329749c
update gana 2021-04-11 15:26:36 +02:00
Christian Grothoff
3251ca082a
do not upgrade gana to master on bootstrap (see #6839) 2021-04-09 16:36:35 +02:00
Christian Grothoff
5fc1764db3
do not upgrade gana to master on bootstrap 2021-04-09 16:33:35 +02:00
Christian Grothoff
a1705fe421
add gettext support 2021-04-05 20:11:45 +02:00
Christian Grothoff
94d7eb4075
update gana 2021-04-02 16:06:35 +02:00
Christian Grothoff
ec0b1b512c
fix json parsing invocation 2021-03-28 21:52:02 +02:00
Christian Grothoff
d1c5337a88
improve version number format check 2021-03-13 23:02:46 +01:00
Christian Grothoff
ca5f0c4d6f
fix #6786: do not die on bogus URL 2021-03-05 21:41:55 +01:00
5985f73d42
gana 2021-03-01 17:58:42 +01:00
c6ba295eec
gana 2021-03-01 17:57:25 +01:00
Christian Grothoff
2c8afda8b3
remove deadlocking log statements 2021-03-01 14:08:15 +01:00
Christian Grothoff
471fc11663
update Debian package 2021-02-15 16:03:56 +01:00
Christian Grothoff
cd17d095e8
permit NULL trait 2021-02-13 15:52:18 +01:00
Christian Grothoff
43c48c920b
update GANA 2021-01-31 22:11:50 +01:00
Christian Grothoff
421e802fd3
fix test issues with new DB schema 2021-01-07 22:24:19 +01:00
Christian Grothoff
b2d8799af1
work on #6679" 2021-01-07 10:40:01 +01:00
Christian Grothoff
f82488c060
add missing linker options, bonus fun 2020-12-31 22:22:19 +01:00
Christian Grothoff
efbc411dea
new GANA code for revoked esign key 2020-12-26 16:23:22 +01:00
Christian Grothoff
247d1ca3e5
implement #6661: secm key pinning via configuration 2020-12-24 14:48:50 +01:00
Christian Grothoff
0e74fbef8d
add logic to report generation for missing auditor signatures 2020-12-22 18:38:14 +01:00
Christian Grothoff
b1e305fb05
remove obsolete configuration options 2020-12-17 16:19:28 +01:00
Christian Grothoff
b5d88fc2d1
activating implementation of #6175 2020-12-14 15:42:32 +01:00
Christian Grothoff
fa1914b267
work on new logic to generate /wire response 2020-12-09 12:31:10 +01:00
Christian Grothoff
9911b327ac
fix #6665 2020-12-09 07:25:26 +01:00
Christian Grothoff
3240844e48
get code for most new endpoints to build (but DB not done) 2020-11-29 14:32:39 +01:00
Christian Grothoff
171391057d
complete crypto helper denom testing 2020-11-22 22:25:49 +01:00
Christian Grothoff
9b68dbb8e6
implementing client library for talking to the crypto helper process 2020-11-21 23:58:00 +01:00
Christian Grothoff
45d621f5ff
add -lgcov flag for coverage analysis 2020-11-12 22:25:59 +01:00
Dennis Neufeld
2ad4cee183
add anastasis error 2020-11-10 13:49:41 +01:00
Christian Grothoff
522db4d98e
use --help instead of -h 2020-11-08 23:47:11 +01:00
Christian Grothoff
8d312562bf
adjust ECs 2020-11-07 18:51:54 +01:00
Christian Grothoff
dde5d38c4f
gana update 2020-11-06 10:34:35 +01:00
Christian Grothoff
5fbe77bb76
fix return value from main() when run with -h/-v 2020-11-06 10:11:15 +01:00
Christian Grothoff
a79b67c726
log more nicely if authentication failed; do use new changepassword_unsafe to set bank pw -- and not others; do show stderr output of pybank in test cases 2020-10-30 22:17:37 +01:00
Christian Grothoff
afc72f1f47
make static analysis happy 2020-10-30 00:26:21 +01:00
Christian Grothoff
11627b38bb
use correct HTTP status codes: 2020-10-26 13:21:28 +01:00