summaryrefslogtreecommitdiff
path: root/src/testing/testing_api_cmd_recoup.c
AgeCommit message (Collapse)Author
2022-05-30-generate 404 on non-existing accounts for fakebank, use payto://-URIs with ↵Christian Grothoff
receiver-name in tests
2022-04-06-complete va coin parser of purse_create_deposit CMDChristian Grothoff
2022-03-20towards support for new reserve history/status APIsChristian Grothoff
2022-02-11-get tests to passChristian Grothoff
2022-02-07fix FTBFS of main logicChristian Grothoff
2022-02-06-fix recoup testing cmdsChristian Grothoff
2022-01-11The 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-25protocol 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-14introducing GNUNET_TIME_Timestamp, recoup now with amountsChristian Grothoff
2021-11-05-fixesChristian Grothoff
2021-11-01bugfix!Christian Grothoff
2021-10-27-work on testing FTBFSChristian Grothoff
2020-04-05make exchange API more uniform in how information is returnedChristian Grothoff
2020-03-29remove bogus warningsChristian Grothoff
2020-03-28split recoup and revoke commands into two files for better readabilityChristian Grothoff
2020-03-22doxygen updatesChristian Grothoff
2020-03-20make recoup idempotent and simplify responseFlorian Dold
2020-01-20spelling of 'mismatch'Florian Dold
2020-01-19move testing logic and integration tests into separate directoryFlorian Dold