Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-07-05 | -annotate bugs | Christian Grothoff | |
2022-06-05 | complete P2P/W2W conflict handling, deduplicate code across handlers | Christian Grothoff | |
2022-02-21 | -big renaming of structs for consistent naming with P suffix | Christian Grothoff | |
2022-02-17 | -fix CS nonce reuse check logic | Christian Grothoff | |
2022-02-14 | -towards fixing the protocol | Christian Grothoff | |
2022-02-12 | -remove legacy uncrustify workaround | Christian Grothoff | |
2022-02-12 | -remove addessed documentation FIXMEs | Christian Grothoff | |
2022-02-11 | -simplify: nonce no longer hashed | Christian Grothoff | |
2022-02-11 | -get tests to pass | Christian Grothoff | |
2022-02-10 | -get recoup/refresh to pass | Christian Grothoff | |
2022-02-09 | pass exchange values to /recoup | Christian Grothoff | |
2022-02-06 | -fix refresh FTBFS | Christian Grothoff | |
2022-02-06 | -fix melt FTBFS | Christian Grothoff | |
2022-01-11 | The current recoup API is broken. I guess this is another example where ↵ | Christian Grothoff | |
"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 | |||
2021-12-25 | protocol v12 changes (/recoup split, signature changes) plus database ↵ | Christian Grothoff | |
sharding plus O(n^2)=>O(n) worst-case complexity reduction on coin balance checks | |||
2021-12-16 | -fix recoup ugliness | Christian Grothoff | |
2021-12-14 | introducing GNUNET_TIME_Timestamp, recoup now with amounts | Christian Grothoff | |
2021-10-27 | rename fest | Christian Grothoff | |
2021-10-27 | -fix more FTBFS | Christian Grothoff | |
2021-07-31 | -more eliminations of json_pack | Christian Grothoff | |
2021-03-05 | fix #6786: do not die on bogus URL | Christian Grothoff | |
2020-12-20 | do not log error on MHD_HTTP_GONE status code, revocation is a legitimate reply | Christian Grothoff | |
2020-11-07 | adjust ECs | Christian Grothoff | |
2020-07-08 | implement new behavior in exchange httpd and libtalerexchange (for #6416) | Christian Grothoff | |
2020-04-08 | adapt to new GNUnet sign API (#6164) | Christian Grothoff | |
2020-04-05 | make exchange API more uniform in how information is returned | Christian Grothoff | |
2020-03-20 | make recoup idempotent and simplify response | Florian Dold | |
2020-03-20 | improving benchmarking logic, including more timings | Christian Grothoff | |
2020-03-03 | rename BANK_excecute_wire_transfer to BANK_transfer, improve error handling ↵ | Christian Grothoff | |
when curl_easy_init() fails | |||
2020-02-29 | limit redirects | Christian Grothoff | |
2020-02-26 | updating libtalerexchange to new REST API (#6067) | Christian Grothoff | |
2020-01-19 | fix copyright headers as per CA | Christian Grothoff | |
2020-01-18 | payback -> recoup stranglers | Christian Grothoff | |