Christian Grothoff
6150713fc4
-fix wire expiration
2022-05-14 15:11:16 +02:00
Christian Grothoff
2d0d8e7e8e
add max_age column
2022-05-14 12:24:25 +02:00
Christian Grothoff
35b4a51e14
combine auto-commited transactions in refresh/reveal into one big transaction
2022-05-12 13:31:15 +02:00
Christian Grothoff
81732d49cc
-add FIXME
2022-05-12 09:52:41 +02:00
Thien-Thi Nguyen
842e04b13c
refactor
...
(domake, ensure): New funcs.
<top-level>: Use ‘domake’, ‘ensure’.
2022-05-11 04:27:50 -04:00
Christian Grothoff
02eb80e0b2
-address FIXMEs
2022-05-08 12:50:25 +02:00
Christian Grothoff
415c922c92
-address FIXMEs for purses GET requests
2022-05-07 23:41:33 +02:00
Christian Grothoff
8c9d5d6135
document required packages
2022-05-07 19:29:04 +02:00
Christian Grothoff
3d80b20459
-get batch withdraw to build
2022-05-01 13:01:32 +02:00
17a00ef22d
age restriction: make seed a HashCode due to endianess and security level concerns
2022-04-26 23:34:14 +02:00
47e276e11a
-remove debug logging
2022-04-26 23:10:50 +02:00
Christian Grothoff
efb8c8037b
-implement purses get db sketch
2022-04-26 13:24:51 +02:00
Christian Grothoff
b4965db0d2
-fix fieldnames, regenerated DBs
2022-04-24 20:49:11 +02:00
Christian Grothoff
132359a444
add purses-get to build
2022-04-23 12:34:48 +02:00
Christian Grothoff
c30c7cde4d
add purses_deposit to build
2022-04-22 23:43:15 +02:00
Christian Grothoff
eea35ffb01
-skeleton logic for deposits into purse
2022-04-21 22:44:51 +02:00
Christian Grothoff
582acc3cf3
add taler-exchange-httpd_reserves_purse.c to build
2022-04-21 21:04:33 +02:00
Christian Grothoff
8776f16b06
-refactor deposits_get logic to help ttn with signature logic refactoring
2022-04-20 20:05:25 +02:00
14b57d3e13
find extensions case-insensitively
2022-04-19 18:37:56 +02:00
Christian Grothoff
fc1383ebd1
-skeleton for p2p test
2022-04-15 16:02:50 +02:00
Christian Grothoff
3893afa49c
-implementing purse merge DB logic
2022-04-12 11:58:21 +02:00
Christian Grothoff
7a1dcc52ca
-towards new GET /contracts/$C_PUB hander
2022-04-11 16:48:30 +02:00
Christian Grothoff
c8c1005297
-add draft handler for purse merge client request
2022-04-11 15:34:45 +02:00
Christian Grothoff
d30b7f8eeb
-load wire fees only when needed
2022-04-11 15:23:29 +02:00
Christian Grothoff
72dd9514aa
-draft implementation of /purses//merge endpoint
2022-04-11 13:52:06 +02:00
Christian Grothoff
f9971faa7a
-draft for merge endpoint
2022-04-08 19:23:19 +02:00
Christian Grothoff
22cfc59d90
-towards testing purse creation
2022-04-06 12:50:07 +02:00
Christian Grothoff
f3a4b00907
adapt to latest GNUnet API: GNUNET_JSON_spec_mark_optional() changed
2022-04-05 17:15:50 +02:00
Christian Grothoff
5147c8b788
-fix FTBFS
2022-04-04 08:55:01 +02:00
Christian Grothoff
caf66486e7
work on purse creation logic
2022-04-01 16:39:07 +02:00
Christian Grothoff
c782dfe2aa
first draft of service API for p2p payments
2022-03-24 13:06:04 +01:00
e336c02d14
implement more taler-crypto-worker ops
2022-03-24 01:10:00 +01:00
Christian Grothoff
c7e2d206ba
add logic to check timestamp, revise history balance calculation logic in client
2022-03-21 03:59:31 +01:00
Christian Grothoff
f5f15e6531
first rough-cut implementation of POST /reserves//status
2022-03-21 02:39:36 +01:00
Christian Grothoff
280f94c3a6
improve style of some SQL queries (no semantic change)
2022-03-19 08:27:01 +01:00
2fe5223c72
add missing files for system documentation book
2022-03-08 21:56:46 +01:00
Christian Grothoff
a080f11890
add more logic for new global fees
2022-03-05 17:14:32 +01:00
Christian Grothoff
3f23bede87
-bump version requirement
2022-02-19 21:34:50 +01:00
Christian Grothoff
bc3ec56373
reject wire deadline of 'never' ( #7157 )
2022-02-19 21:26:27 +01:00
Christian Grothoff
917b2f373e
-update GANA
2022-02-19 21:06:02 +01:00
Christian Grothoff
9b8c350d4d
-remove redundancies in the refresh-melt computation and fix uninitialized bks return value
2022-02-13 12:44:09 +01:00
Christian Grothoff
c2549e8b1e
-address FIXMEs
2022-02-12 11:24:32 +01:00
Christian Grothoff
819b67426c
-doxygen fixes
2022-02-12 10:33:23 +01:00
Christian Grothoff
cfa1283053
merge more improvements from Dora
2022-02-06 12:33:49 +01:00
Christian Grothoff
9d40bd5a1e
split tests by rsa/cs
2022-02-04 18:45:42 +01:00
Gian Demarmels
a67786078b
resolves merge conflicts
2022-02-04 16:50:32 +01:00
Christian Grothoff
5ea4e5b122
corrections from Dora
2022-02-01 09:35:28 +01:00
Christian Grothoff
88f64e238c
cbdc - Italian edition
2022-01-31 16:16:23 +01:00
32f1276b8c
fix RFC 8785 JSON normalization
2022-01-27 15:29:55 +01:00
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