Commit Graph

450 Commits

Author SHA1 Message Date
Christian Grothoff
246d49b379
-work on kyc-proof persona plugin 2022-08-18 14:02:54 +02:00
Christian Grothoff
bb8eb61441
-doxygen 2022-08-17 10:02:27 +02:00
Christian Grothoff
c62792638b
work on kycaid plugin response generation logic 2022-08-16 21:04:51 +02:00
Christian Grothoff
68d2df88f2
allow merge into non-existent reserve if KYC is disabled 2022-08-16 14:36:23 +02:00
Christian Grothoff
94fa05ec2a
-move templating library into exchange.git 2022-08-16 13:57:26 +02:00
Christian Grothoff
d6f12190c0
-move templating library into exchange.git 2022-08-16 13:57:26 +02:00
Christian Grothoff
f76f645732
-more work on extended fakebank API 2022-08-15 20:23:02 +02:00
Christian Grothoff
96265412cd
(preliminary) work on kycaid plugin 2022-08-15 13:48:13 +02:00
Christian Grothoff
1aad81632e
-draft test for p2p kyc 2022-08-13 14:39:01 +02:00
Christian Grothoff
f25a79e2eb
sketch of fakebank implementation of bank integration API 2022-08-12 11:37:09 +02:00
Christian Grothoff
1009084e94
major rework of the KYC logic, making it more configurable, not complete, but tests pass again 2022-08-11 23:35:33 +02:00
Christian Grothoff
d58334cf89
implement kyc-proof hook in kyc-tester 2022-08-09 13:00:58 +02:00
Christian Grothoff
3f99e4f3f8
-implement new kyc-webhook endpoint 2022-08-07 15:35:13 +02:00
Christian Grothoff
064659c8e9
notes on #7293 2022-08-06 13:56:26 +02:00
Christian Grothoff
c602e11a36
-merge eufin branch (manually) 2022-08-06 13:25:54 +02:00
Christian Grothoff
368194badd
implement auditor support for #4960 2022-08-01 13:10:53 +02:00
Christian Grothoff
ba0ab58cdd
add /management/drain handler 2022-07-29 11:00:59 +02:00
Christian Grothoff
c1b43de5b4
add offline signature to drain profits (#4960) 2022-07-29 09:21:38 +02:00
Christian Grothoff
987f02d6d8
update gana 2022-07-28 22:02:57 +02:00
Christian Grothoff
e3eccaeb11
-gana update 2022-07-21 14:47:10 +02:00
Christian Grothoff
e4f4a973f0
-log more on faiure 2022-07-21 12:32:34 +02:00
Christian Grothoff
7f7aaa0443
-gana update 2022-07-11 15:16:37 +02:00
Christian Grothoff
6d6ecd9271
-new ECs 2022-07-11 12:47:44 +02:00
e0e69fd72e
-new error codes for purse deposit failures 2022-06-30 11:14:33 +02:00
Thien-Thi Nguyen
4cf70435b2
fix portability bug: make sure destination file is writeable
Some shells let this go w/o comment, some don't.
Better to be sure.

(ensure): If "$dst" exists, make sure it is writeable.
2022-06-30 03:34:54 -04:00
Thien-Thi Nguyen
f377076174
refactor slightly
(ensure): Don't repeat "$src/$fn" and "$dst/$fn";
instead, compute them once as "$src" and "$dst", respectively.
2022-06-30 03:32:29 -04:00
Christian Grothoff
2805018da2
-reduce logging 2022-06-29 20:34:22 +02:00
Christian Grothoff
fd9fc9f0cd
-fix misc doxygen warnings, code clean up 2022-06-26 17:08:17 +02:00
Christian Grothoff
007cc7abe8
-prevent editing of generated files 2022-06-13 09:47:25 +02:00
Christian Grothoff
eaea32b319
tag 2022-06-09 13:57:03 +02:00
Christian Grothoff
b9a30d29cb
-fix minor bugs 2022-06-07 15:02:16 +02:00
Thien-Thi Nguyen
013942ba91
Mention GANA repo in guidelines 2022-06-06 09:58:43 -04:00
Thien-Thi Nguyen
070e6de61e
Add some guidelines for src/include/taler_signatures.h maintenance 2022-06-06 09:57:29 -04:00
Thien-Thi Nguyen
f8e77a27c0
Update ignorance 2022-06-06 03:02:34 -04:00
Thien-Thi Nguyen
555cc06220
Generate src/include/taler_signatures.h at bootstrap time
* src/include/taler_signatures.h: Delete file.
* contrib/gana-update.sh: Add calls to ‘domake’, ‘ensure’ for contrib/sigp.
2022-06-06 02:59:59 -04:00
Thien-Thi Nguyen
6512456dc2
Add support for generating taler_signatures.h.
* contrib/sigp/: New dir.
* contrib/sigp/Makefile: New file.
* contrib/sigp/README: New file.
* contrib/sigp/h.footer: New file.
* contrib/sigp/h.header: New file.
* contrib/sigp/h.template: New file.
2022-06-04 09:34:49 -04:00
Thien-Thi Nguyen
baf00c0262
move "gana/" to caller
This allows for other prefix dirs to be used.

(domake): Consider $1 to be dir under ‘contrib/’.
(ensure): Likewise, for $2.
2022-06-04 09:34:42 -04:00
Christian Grothoff
93943bdb5b
add KYC errors for p2p payments 2022-06-04 15:19:57 +02:00
Christian Grothoff
65ce2eede6
-expand table list for taler-auditor-sync 2022-06-01 23:16:35 +02:00
Christian Grothoff
361f534dbb
add -I option to wirewatch 2022-05-31 08:46:43 +02:00
Christian Grothoff
7f902c0fc9
-sketch API for RSA parallel signing 2022-05-30 13:34:39 +02:00
Christian Grothoff
daddc69dc9
-revise shard locking: resume open shards before starting new ones 2022-05-24 09:52:23 +02:00
Christian Grothoff
b1b943aa3e
-add metrics for idempotent (batch) withdraw 2022-05-22 13:06:17 +02:00
Christian Grothoff
344c53c51d
enforce valid payto:// URI in exchange /wire response 2022-05-18 18:05:32 +02:00
Christian Grothoff
10a97996f7
-enable batch withdraw manual testing 2022-05-15 18:56:35 +02:00
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
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