Commit Graph

5744 Commits

Author SHA1 Message Date
Christian Grothoff
3ff92b9bbc
-deduplicate purse creation confirmation logic 2022-07-05 12:07:27 +02:00
Christian Grothoff
9e5dc2a542
-remove dead argument 2022-07-05 11:50:20 +02:00
Christian Grothoff
75dbf20ced
-annotate bugs 2022-07-05 11:46:02 +02:00
Christian Grothoff
3453126eb7
-resolve minor FIXMEs 2022-07-05 11:17:47 +02:00
Christian Grothoff
615b4621e3
-implement DB logic for forcing reserve close 2022-07-04 23:40:49 +02:00
Christian Grothoff
e68206b1f9
-deduplicate logic 2022-07-04 23:25:51 +02:00
Thien-Thi Nguyen
dc17320a88
add libtalerexchange.la to _LDADD
* src/benchmark/Makefile.am (taler_bank_benchmark_LDADD): ...here.
2022-07-02 19:06:16 -04:00
Christian Grothoff
ff2eb4f3dd
-fix batch deposit uninit issue 2022-07-02 22:51:45 +02:00
Christian Grothoff
74cf7654e5
-fix batch deposit error handling rvalues 2022-07-02 21:31:36 +02:00
Christian Grothoff
cebf4f11b9
-add test for batch deposits 2022-07-01 15:42:48 +02:00
Christian Grothoff
182c618579
-implement batch deposit testing cmd 2022-07-01 12:05:41 +02:00
Christian Grothoff
9e3fb2302d
-gana merge 2022-07-01 07:22:39 +02:00
Christian Grothoff
085e40bc56
-exchange_api_batch_deposit.c compiles 2022-07-01 07:08:13 +02:00
Christian Grothoff
21551bb4c3
-also add public key for auditor for revoke-basedb.conf 2022-06-30 16:06:50 +02:00
Sebastian
636691e109
fix: /wire was replying double 'Access-Control-Allow-Origin' header and browsers complain 2022-06-30 09:17:46 -03:00
e0e69fd72e
-new error codes for purse deposit failures 2022-06-30 11:14:33 +02:00
aba04fe6be
-added comment with pointer to issue 7267 2022-06-30 10:34:18 +02:00
Christian Grothoff
2805018da2
-reduce logging 2022-06-29 20:34:22 +02:00
Christian Grothoff
7fe8d89d75
-update deposit API in preparation for batch deposits 2022-06-29 19:30:12 +02:00
Christian Grothoff
46f4a0f9f2
-batch deposit compiles 2022-06-29 15:16:26 +02:00
Christian Grothoff
bdc4482ac6
first skeleton for batch deposits 2022-06-29 14:39:45 +02:00
Christian Grothoff
dc691eb596
-rename, as logic is purse deposit specific 2022-06-29 14:08:19 +02:00
Christian Grothoff
9902e88b2d
-fix leaks 2022-06-29 14:06:37 +02:00
Christian Grothoff
60a30b1c75
-deduplicate purse deposit logic 2022-06-29 14:01:02 +02:00
9b312aa0f8
version bump due to new /keys response 2022-06-29 13:34:26 +02:00
Christian Grothoff
d382adb2e3
-actually fix compatibility break from Oec 2022-06-29 11:24:14 +02:00
Christian Grothoff
70d9d0b94e
-trying to fix demo 2022-06-29 09:11:41 +02:00
Christian Grothoff
b4c330730d
-trying to fix demo 2022-06-29 09:08:14 +02:00
Christian Grothoff
3b091cd5de
-fix /keys initialization DB logic 2022-06-29 08:31:00 +02:00
Christian Grothoff
09479c5595
-style fix 2022-06-29 08:19:48 +02:00
Christian Grothoff
ded7f9ca18
-fix issue with missing signature over denomination and age restriction hash in purse deposit 2022-06-28 20:25:45 +02:00
Christian Grothoff
379c580efc
-comment style 2022-06-28 18:01:19 +02:00
Christian Grothoff
cd583ec030
-add FIXME 2022-06-28 17:21:10 +02:00
9d75b0745a
-fix typo 2022-06-28 12:29:42 +02:00
Sebastian
6e8be2a0b4
do not depend on umask bits 2022-06-27 16:59:32 -03:00
206c7ec705
-fixes in extension event handler 2022-06-27 18:06:44 +02:00
cddfaf007f
age commitment: json parser helper and support for purses added 2022-06-27 17:38:11 +02:00
87025cfd17
age restriction support in exchange_api_purse_create_with_deposit added 2022-06-27 14:11:46 +02:00
d2537de68c
added documenation to the age-restriction related structures 2022-06-27 11:56:18 +02:00
5633ad5a26
better api for parsing a denomination group 2022-06-27 10:36:13 +02:00
a6544069f9
[new /keys response] added proper hash verification
- Running XOR of all SHA-512 hashes of each denomination's public key is
  compared against the "hash" value in the JSON blob.

- Fixed a bug during creation of the running XOR.
2022-06-27 10:10:51 +02:00
a55fc45126
-fix valgrind complaints 2022-06-26 17:40:10 +02:00
Christian Grothoff
372a103a80
-more doxygen 2022-06-26 17:09:33 +02:00
Christian Grothoff
2443ee672d
-more typos 2022-06-26 17:09:33 +02:00
Christian Grothoff
7b62174d00
-fix typos 2022-06-26 17:09:30 +02:00
Christian Grothoff
2508d4bb5c
-add missing comments 2022-06-26 17:08:17 +02:00
Christian Grothoff
fd9fc9f0cd
-fix misc doxygen warnings, code clean up 2022-06-26 17:08:17 +02:00
Christian Grothoff
646c410ace
-add auditor_priv_file 2022-06-26 17:08:16 +02:00
Christian Grothoff
5575194afd
-fix path 2022-06-26 17:08:16 +02:00
Christian Grothoff
ea21572b54
-fix path 2022-06-26 17:08:16 +02:00
Christian Grothoff
ce515a1f75
-make econtract optional as per design 2022-06-26 17:08:16 +02:00
31f74059e0
[new /keys response] create and parse denomination implemented
- /keys response now contains signed denomintations
	- hashes of denominations now XOR'ed per group into a single hash-code
	- final hash-code is now XOR of all group hash codes
	- final hash-code is signed

- lib/exchange_api_handle support for new "denominations" implemented
	- parses array of denomation groups
	- creates running xor of hashes
	- verifies signature at the end
	- previous diff/merge logic for keys remains intact.
2022-06-26 16:59:27 +02:00
b39febe36f
-fix/rename this -> new 2022-06-26 15:44:09 +02:00
140a54ed08
-cleanup comments 2022-06-24 11:49:28 +02:00
c165ef31fe
first steps towards new /keys response: grouped denominations added 2022-06-23 18:19:45 +02:00
Christian Grothoff
3d66034093
-fix build issues 2022-06-20 15:17:35 +02:00
Christian Grothoff
360382192f
-fix initialization issue 2022-06-20 14:31:10 +02:00
Christian Grothoff
ec2d596b46
-fix initialization issue 2022-06-20 14:28:28 +02:00
Christian Grothoff
007e4bc954
-fix #7262 2022-06-19 14:24:44 +02:00
Christian Grothoff
bad572a010
-add missing checkpointing logic 2022-06-19 14:04:41 +02:00
Christian Grothoff
8da74a6ca7
-more work on taler-helper-auditor-reserve p2p audits 2022-06-18 20:36:44 +02:00
Christian Grothoff
f6a7d4a1ed
-more DB logic for taler-helper-auditor-reserves 2022-06-15 22:31:44 +02:00
Christian Grothoff
eccf37e450
-more DB prep work towards reserve auditing with p2p payments 2022-06-15 20:49:39 +02:00
Christian Grothoff
83be3173d4
-preparatory steps to expand auditor to know about purse and history fees 2022-06-14 23:04:43 +02:00
Christian Grothoff
568d27abe5
-include purse deposits in aggregation coin value analysis; note issues discovered with deposit fee waiver logic 2022-06-14 22:43:38 +02:00
Christian Grothoff
963477e064
-fix comments 2022-06-14 15:57:48 +02:00
Christian Grothoff
58a0882909
-towards coin audits with purse deposits 2022-06-13 15:31:52 +02:00
Christian Grothoff
70a5ceecc1
-also exit in test mode 2022-06-13 11:25:47 +02:00
Christian Grothoff
3c4d6f1ba2
fix #7256 2022-06-13 09:51:18 +02:00
Christian Grothoff
7876bc0600
-prevent editing generated files 2022-06-13 09:46:31 +02:00
Christian Grothoff
03cfd2b1e5
-add default(0) 2022-06-13 09:44:56 +02:00
Christian Grothoff
6d16958a5c
fix #7255 2022-06-12 22:47:32 +02:00
Christian Grothoff
71a42d2be8
fix #7241 2022-06-12 22:35:51 +02:00
Christian Grothoff
393ae7f9a3
-add dB logic for auditor iteration over purse deposits 2022-06-12 17:23:36 +02:00
Christian Grothoff
e71782ea77
only exit on bank error from wirewatch if new '-e' option is given 2022-06-11 23:47:24 +02:00
Christian Grothoff
0e32eacdb0
-typo 2022-06-09 21:05:32 +02:00
Christian Grothoff
eaea32b319
tag 2022-06-09 13:57:03 +02:00
Christian Grothoff
f3ceeb00ea
-expand auditordb to track progress for p2p payments 2022-06-08 17:05:51 +02:00
Christian Grothoff
7700f6ff88
add core success count metrics 2022-06-08 15:47:47 +02:00
Christian Grothoff
f2e2c5c9d8
-fix refund check regression 2022-06-07 22:24:49 +02:00
Christian Grothoff
937524940a
coarsen deposit transaction 2022-06-07 20:46:52 +02:00
Christian Grothoff
982b60c93c
-more minor bugfixes 2022-06-07 17:04:23 +02:00
Christian Grothoff
446761b602
-more minor bugfixes 2022-06-07 16:57:12 +02:00
Christian Grothoff
f0bcbf6586
allow double-rollback, warn on rollback+commit 2022-06-07 15:59:35 +02:00
Christian Grothoff
b9a30d29cb
-fix minor bugs 2022-06-07 15:02:16 +02: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
Christian Grothoff
bdbd2a464d
no purse fee if purse is successfully merged 2022-06-05 21:00:49 +02:00
60f609135d
fixed typo 2022-06-05 14:46:26 +02:00
Christian Grothoff
b9963f7525
complete P2P/W2W conflict handling, deduplicate code across handlers 2022-06-05 14:07:23 +02:00
Christian Grothoff
6c81796d6f
-work on error proof response checking for p2p payments 2022-06-05 01:34:37 +02:00
Christian Grothoff
f4eb53f2a4
-fix dist 2022-06-05 00:53:09 +02:00
Christian Grothoff
8e0b998217
-unify API 2022-06-05 00:43:11 +02:00
Christian Grothoff
21a1c715ee
-refactor internal API to use new EncrptedContract struct where applicable 2022-06-05 00:36:19 +02:00
Christian Grothoff
efa0ca4ec1
-move econtract into sub-object with its own parser 2022-06-05 00:25:56 +02:00
Christian Grothoff
a17781ba8d
-more work on p2p payments and tests thereof 2022-06-04 22:00:02 +02:00
Christian Grothoff
93943bdb5b
add KYC errors for p2p payments 2022-06-04 15:19:57 +02:00
Christian Grothoff
3e99c50c0f
-fix SQL 2022-06-04 14:07:02 +02:00
Christian Grothoff
d04769b729
handle case where purse expiration refunded the coin's deposited amount 2022-06-04 14:04:27 +02:00
Christian Grothoff
04c32eafb9
-work on P2P payment details 2022-06-02 21:55:21 +02:00
Christian Grothoff
5dd03fe359
-some FIXMEs from API review 2022-06-02 12:59:06 +02:00
Christian Grothoff
65ce2eede6
-expand table list for taler-auditor-sync 2022-06-01 23:16:35 +02:00
Christian Grothoff
00c68e0a04
-work on SQL for P2P table replication 2022-06-01 23:03:49 +02:00
Christian Grothoff
f86eead6d6
-log invalid URI 2022-05-31 14:56:34 +02:00
Christian Grothoff
7193261e52
-log all BEGIN statements 2022-05-31 10:13:58 +02:00
Christian Grothoff
361f534dbb
add -I option to wirewatch 2022-05-31 08:46:43 +02:00
Christian Grothoff
300194f42a
-towards p2p auditor sync implementation: SQL still missing 2022-05-30 23:55:55 +02:00
Christian Grothoff
d55b093de8
-fix reserve history, include in tests 2022-05-30 19:31:49 +02:00
Christian Grothoff
ab4aa4dcfd
-add batch withdraw to test suite 2022-05-30 17:51:39 +02:00
Christian Grothoff
7b25787a4b
-generate 404 on non-existing accounts for fakebank, use payto://-URIs with receiver-name in tests 2022-05-30 16:31:24 +02:00
Christian Grothoff
7f902c0fc9
-sketch API for RSA parallel signing 2022-05-30 13:34:39 +02:00
Christian Grothoff
d40da21e90
add batch signing support to taler-exchange-secmod-rsa 2022-05-29 22:25:04 +02:00
Marco Boss
6d2ee2c88a
rewrite sharding initialization logic 2022-05-25 08:40:01 +02:00
Christian Grothoff
d77354b11a
use precise time for shards 2022-05-24 12:00:20 +02:00
Christian Grothoff
8e71a7e4de
lock into the future, instead of lock into past 2022-05-24 10:45:01 +02:00
Christian Grothoff
92e04e0a3f
-handle serialization issue 2022-05-24 10:11:43 +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
1d84c284ad
-incomplete batch_withdraw test command 2022-05-23 22:09:05 +02:00
Christian Grothoff
054f2ab51c
-implement batch withdraw client-side logic 2022-05-23 21:12:31 +02:00
Christian Grothoff
656b521a83
-passes, enable by default 2022-05-23 16:19:40 +02:00
Christian Grothoff
6ee4558b6f
-sql fix 2022-05-23 16:15:14 +02:00
Christian Grothoff
2e80f51e25
handle purse deposit client-side 2022-05-23 16:11:21 +02:00
Christian Grothoff
76b8a2a8de
include purse deposits in coin history 2022-05-23 16:02:55 +02:00
Christian Grothoff
a509a91f92
-more reserve history fixes 2022-05-23 15:29:35 +02:00
Christian Grothoff
cdd2930a99
-misc fixes to reserve history 2022-05-23 14:57:00 +02:00
Christian Grothoff
2035294adb
-more traits for reserve history checking 2022-05-23 12:17:41 +02:00
Christian Grothoff
f1a58b0fd8
-towards reserve history testing 2022-05-23 11:15:05 +02:00
Christian Grothoff
b3844e4923
-deduplicate and expand reserve history validation logic in testing library 2022-05-23 10:36:39 +02:00
Christian Grothoff
fcaf508647
-add missing break, clean up fee logic 2022-05-23 00:34:04 +02:00
Christian Grothoff
3ee8879ada
-refactor coin history checker 2022-05-23 00:19:57 +02:00
Christian Grothoff
3599ac0ac2
-complete extended reserve history signature check logic to libtalerexchange 2022-05-22 23:51:14 +02:00
Christian Grothoff
67535ebf65
-towards client-side support for merge and history requests in reserve history 2022-05-22 20:04:38 +02:00
Christian Grothoff
40daa209fb
-more work on reverse history 2022-05-22 18:21:15 +02:00
Christian Grothoff
8658ae03ca
-towards purse merge and history requests in reserve history (incomplete) 2022-05-22 16:58:48 +02:00
Christian Grothoff
4a5d71cca2
-implement reserve history DB logic 2022-05-22 16:18:09 +02:00
Christian Grothoff
96fb11bed0
-fix 2022-05-22 14:46:23 +02:00
Christian Grothoff
21bcc5fa0b
-fix wirewatch assertion 2022-05-22 13:48:56 +02:00
Christian Grothoff
3233195d2d
-fix NPE 2022-05-22 13:11:09 +02:00
Christian Grothoff
b1b943aa3e
-add metrics for idempotent (batch) withdraw 2022-05-22 13:06:17 +02:00
Christian Grothoff
737937291c
wirewatch spring cleaning 2022-05-21 21:07:24 +02:00
Christian Grothoff
a6494f9905
-experimental wirewatch change to keep shard locks across history requests 2022-05-21 02:00:31 +02:00
Christian Grothoff
9e0df07a16
latest_row_off is exclusive, remove bad comment 2022-05-21 01:41:02 +02:00
Christian Grothoff
c471ae447b
-log where it failed 2022-05-21 01:39:59 +02:00
Christian Grothoff
81ad77b8dc
-improve error handling 2022-05-21 01:39:34 +02:00
Christian Grothoff
421f59749e
anti-gummy patch 2022-05-20 16:49:48 +02:00
Sebastian
68b155aab5
missing plus sign for image data uris 2022-05-20 10:09:54 -03:00
Christian Grothoff
344c53c51d
enforce valid payto:// URI in exchange /wire response 2022-05-18 18:05:32 +02:00
Christian Grothoff
492d501570
-squash compiler warning 2022-05-18 09:57:56 +02:00
Christian Grothoff
a6b2108009
-check for ETag in request, generate 304 if applicable 2022-05-17 14:39:52 +02:00
Christian Grothoff
a6a1fa9fde
keep ETag around 2022-05-17 14:31:52 +02:00
Christian Grothoff
5e06f842dd
add ETag to /keys response 2022-05-17 14:30:58 +02:00
Christian Grothoff
b9d0b1aae4
-make batch withdraw requests idempotent 2022-05-17 12:29:00 +02:00
Christian Grothoff
7bd1828482
-deduplicate 2022-05-17 12:12:52 +02:00
Christian Grothoff
ccc7743fdd
-note what is untested 2022-05-17 11:52:36 +02:00
Christian Grothoff
3b5d9daca9
-expand test to include coin refund 2022-05-17 11:46:41 +02:00
Christian Grothoff
d8f1f7b761
integrate purse expiration into test, bugfixes 2022-05-17 11:21:20 +02:00
Christian Grothoff
802649c270
-add DB logic for purse expiration 2022-05-17 08:50:42 +02:00
Thien-Thi Nguyen
f089bbe536
split conf file reference to -cs and -rsa
This is a followup to 2022-02-04, "split .conf files into rsa and cs".
2022-05-17 02:20:05 -04:00
Thien-Thi Nguyen
8690892cac
fix typo: add extension .h to source filename 2022-05-17 02:12:45 -04:00
Christian Grothoff
02716c4084
-add skeleton logic for purse expiration 2022-05-16 15:43:40 +02:00
Christian Grothoff
d803d86bf9
-work purse_deposit conflict handling 2022-05-16 14:01:04 +02:00
Christian Grothoff
3db8f0f22d
improve cache control support for /wire, /keys and legal 2022-05-16 11:56:10 +02:00
Christian Grothoff
fac01f140f
-add purse-merge 409 handling client-side 2022-05-16 11:17:27 +02:00
Christian Grothoff
439c872af4
-implement purse_deposit error handling 2022-05-16 10:53:42 +02:00
Christian Grothoff
10a97996f7
-enable batch withdraw manual testing 2022-05-15 18:56:35 +02:00
Christian Grothoff
84b8886b12
-fix return value of taler-fakebank-run with -h option 2022-05-15 18:41:17 +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
Marco Boss
42f3f83b7d
add recoup_by_reserve as sql function 2022-05-13 15:28:43 +02:00
Marco Boss
d6c161a72e
fix metrics of withdraw - no label 2022-05-12 19:32:10 +02:00
Marco Boss
db320d3e8e
add metrics for number of coins withdrawn in a batch request 2022-05-12 16:15:54 +02:00
Christian Grothoff
7689c71cea
-leak fix 2022-05-12 14:40:07 +02:00
Christian Grothoff
6518cc20dd
hande IF_NONE_MATCH in /wire request 2022-05-12 14:27:31 +02:00
Christian Grothoff
d0a0bd9725
Merge branch 'master' of git+ssh://git.taler.net/exchange 2022-05-12 14:15:07 +02:00
Christian Grothoff
75d9584e28
add Etag and 'expires' to /wire 2022-05-12 14:15:02 +02:00
Thien-Thi Nguyen
33312e5abf
define TALER_SIGNATURE_MASTER_PARTNER_DETAILS as 1048
This is to avoid a duplicate Number:
https://bugs.gnunet.org/view.php?id=7240
2022-05-12 07:44:47 -04:00
Christian Grothoff
6cf4a068ad
add 'Expires' header to ToS and PP replies 2022-05-12 13:38:47 +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
93eb88a8c9
-fix argument order 2022-05-12 11:10:32 +02:00
Christian Grothoff
81732d49cc
-add FIXME 2022-05-12 09:52:41 +02:00
Christian Grothoff
99a844e52e
check reserve balance after p2p merges 2022-05-09 13:25:10 +02:00
Christian Grothoff
06bfbd9150
-sql fixes 2022-05-08 22:36:39 +02:00
Christian Grothoff
60c08dccec
expand P2P query logic 2022-05-08 21:04:55 +02:00
Christian Grothoff
02eb80e0b2
-address FIXMEs 2022-05-08 12:50:25 +02:00
Christian Grothoff
d3a6388199
pass purse_fee to determine how purse creation is paid for 2022-05-08 11:37:37 +02:00
Christian Grothoff
6b8e732bf8
-pub 2022-05-07 23:45:17 +02:00
Christian Grothoff
5f6d5bc3fc
-online 2022-05-07 23:43:39 +02:00
Christian Grothoff
415c922c92
-address FIXMEs for purses GET requests 2022-05-07 23:41:33 +02:00
Christian Grothoff
2d84d7f6dd
add function for purse status signing 2022-05-07 23:27:56 +02:00
Christian Grothoff
4199e4438d
rename function that is for the merchant signature to have merchant in the name 2022-05-07 23:21:27 +02:00
Christian Grothoff
370ee3a417
-fix leaks 2022-05-07 18:58:29 +02:00
Christian Grothoff
65943dcb13
-payment router skeleton 2022-05-02 21:09:07 +02:00
Christian Grothoff
31e554ad46
-remove FIXMEs 2022-05-02 20:53:29 +02:00
Christian Grothoff
7ebdac0a8b
-investigate FIXME 2022-05-02 20:51:34 +02:00
Christian Grothoff
0a7b75b2cf
-regen DBs to fix #7236 2022-05-02 20:34:41 +02:00
Christian Grothoff
40440604dd
-address some FIXMEs 2022-05-02 19:55:40 +02:00
Christian Grothoff
1173502189
-fix leak 2022-05-02 19:48:23 +02:00
Marco Boss
72ae759fa0
include shard domain and remote users in taler config 2022-05-02 00:27:59 +02:00
Christian Grothoff
a4ede7caec
add batch withdraw to demultiplexer 2022-05-01 13:16:03 +02:00
Christian Grothoff
3d80b20459
-get batch withdraw to build 2022-05-01 13:01:32 +02:00
Christian Grothoff
7718cd4153
skeleton for batch withdraw logic (not finished) 2022-05-01 12:45:12 +02:00
Christian Grothoff
f99fb9ad4b
-GET purse test passes 2022-04-30 17:35:24 +02:00
Christian Grothoff
fed8353c67
-expand p2p tests with purse long poller 2022-04-30 14:03:57 +02:00
Christian Grothoff
fb8349a7e3
-add notifications for purse events 2022-04-30 13:46:35 +02:00
Christian Grothoff
8e4969eb66
-implement purses_get CMD 2022-04-30 12:02:43 +02:00
Christian Grothoff
c48b51be6f
-fix help text 2022-04-28 22:37:39 +02:00
1bb992d777
-logging 2022-04-27 21:00:23 +02:00
Christian Grothoff
3e8c797bb7
-get p2p test to pass 2022-04-27 13:28:28 +02:00
Christian Grothoff
d623cab1a3
-work on p2p payments 2022-04-27 13:09:41 +02:00
Christian Grothoff
1396afc136
-drop 2022-04-27 10:34:36 +02:00
Christian Grothoff
521e0bbcb5
-p2p fixes 2022-04-27 10:34:36 +02:00
9a05781ab3
-fix derivation, logging 2022-04-27 00:00:15 +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
be536de23c
various age restriction fixes, some of them half-baked 2022-04-26 23:10:12 +02:00
Christian Grothoff
336f2d8991
-misc. minor fixes 2022-04-26 17:46:36 +02:00
Christian Grothoff
25aa208d12
-draft pull p2p test case 2022-04-26 17:05:12 +02:00
Christian Grothoff
932cef3d8c
-complete purses_get draft implementation 2022-04-26 13:34:18 +02:00
Christian Grothoff
efb8c8037b
-implement purses get db sketch 2022-04-26 13:24:51 +02:00
a92d3aae7b
-use uint32_t instead of uint8_t + padding for the age 2022-04-26 11:23:27 +02:00
f24fc18564
use htonl, not GNUNET_htonll 2022-04-26 01:50:31 +02:00
38fcca16c8
fix age attestation signature padding and endianess 2022-04-26 01:28:36 +02:00
Christian Grothoff
505989a507
-mark FIXMEs 2022-04-25 13:30:03 +02:00
Christian Grothoff
5c0cbba761
-sketch implementation of exchange_do_reserve_purse() 2022-04-25 13:18:37 +02:00
Christian Grothoff
94038bfcfd
-sketch implementation of exchange_do_reserve_purse() 2022-04-25 13:11:13 +02:00
Christian Grothoff
b4965db0d2
-fix fieldnames, regenerated DBs 2022-04-24 20:49:11 +02:00
Christian Grothoff
b671d6b25d
get first p2p test to pass 2022-04-24 16:02:34 +02:00
Christian Grothoff
aedd2014ec
-misc p2p fixes 2022-04-24 15:29:58 +02:00
Thien-Thi Nguyen
36c568ab8d
Remove empty GNUNET_NETWORK_STRUCT_{BEGIN,END} pair 2022-04-24 08:48:51 -04:00
Christian Grothoff
345c141bad
-work on p2p payments 2022-04-23 20:50:27 +02:00
Christian Grothoff
b7a4fd401e
add subcommand to sign global fees in tests 2022-04-23 20:02:28 +02:00
Christian Grothoff
a1825d38b3
integrate p2p handlers with main dispatcher 2022-04-23 19:45:33 +02:00
Christian Grothoff
e270bc32cc
-expand p2p test to cover purse-with-deposit-merge sequence 2022-04-23 19:32:07 +02:00
Christian Grothoff
b054c969cb
-add more accounting fields to reserve table 2022-04-23 19:01:28 +02:00
Christian Grothoff
cf358f9546
-uncrustify 2022-04-23 18:13:15 +02:00
Christian Grothoff
e731739396
-create cmd for purse deposit 2022-04-23 18:11:31 +02:00
Christian Grothoff
cf11b3f0b2
-create cmd for purse creation from reserve 2022-04-23 18:01:00 +02:00
Christian Grothoff
132359a444
add purses-get to build 2022-04-23 12:34:48 +02:00
Thien-Thi Nguyen
a72337a5f3
Add abstractions: TALER_exchange_deposit_{sign,verify}
This change also removes ‘struct TALER_DepositTrackPS’
from the public API.

* src/include/taler_signatures.h (struct TALER_DepositTrackPS): Delete.

* src/util/exchange_signatures.c (struct TALER_DepositTrackPS): New.
  (TALER_exchange_deposit_sign): New func.
  (TALER_exchange_deposit_verify): New func.

* src/include/taler_crypto_lib.h
  (TALER_exchange_deposit_sign): New func decl.
  (TALER_exchange_deposit_verify): New func decl.

* src/exchange/taler-exchange-httpd_deposits_get.c
  (TEH_handler_deposits_get): Rework to use ‘TALER_exchange_deposit_verify’.

* src/lib/exchange_api_deposits_get.c
  (TALER_EXCHANGE_deposits_get): Rework to use ‘taler_exchange_deposit_sign’.
2022-04-22 20:29:45 -04:00
Christian Grothoff
e40a16aa8e
towards GET /purses/PID 2022-04-22 23:48:15 +02:00
Christian Grothoff
c30c7cde4d
add purses_deposit to build 2022-04-22 23:43:15 +02:00
Christian Grothoff
8ef3997160
-make purses_get compile 2022-04-22 23:34:37 +02:00
Christian Grothoff
ae2f1ced8b
skeleton for GET /purses/ client 2022-04-22 23:22:06 +02:00
Christian Grothoff
1002ac13e4
skeleton for /purses//deposit 2022-04-22 23:14:29 +02:00
31c545b9e8
-fixed tests for age restriction, now using correct seed 2022-04-22 15:15:57 +02:00
Christian Grothoff
eea35ffb01
-skeleton logic for deposits into purse 2022-04-21 22:44:51 +02:00
Christian Grothoff
53cde04c4e
-add FIXME 2022-04-21 21:05:49 +02:00
Christian Grothoff
582acc3cf3
add taler-exchange-httpd_reserves_purse.c to build 2022-04-21 21:04:33 +02:00
Christian Grothoff
c3e67dfc6b
-add purse_create_with_merge to build 2022-04-21 20:36:14 +02:00
Christian Grothoff
f5eef0c816
-more work on purse creation for reserve 2022-04-21 20:25:01 +02:00
061c4f72bd
-m statically link libtalerextensions.la from build-tree 2022-04-21 16:13:00 +02:00
b84c88fc04
Fixed seed size for TALER_age_restriction_commit
Also, added src/util/tv_age_restriction.{c,json} for/as test vectors for
age restriction.
2022-04-21 14:27:29 +02:00
137bd97154
cleanup of extension API
- removed TALER_extensions_init()
- added TALER_extension_age_restriction_register()
2022-04-21 12:54:59 +02:00
Christian Grothoff
4af1772f12
-work on create purse with merge 2022-04-20 23:07:44 +02:00
Christian Grothoff
1e0789eda3
-more deposit GET cleanup 2022-04-20 20:18:03 +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
Thien-Thi Nguyen
509657bfef
Add abstraction: TALER_merchant_contract_sign
Additionally, this change removes ‘struct TALER_ProposalDataPS’
from the public API.

* src/include/taler_crypto_lib.h
  (TALER_merchant_contract_sign): New func decl.

* src/include/taler_signatures.h
  (struct TALER_ProposalDataPS): Delete.

* src/util/merchant_signatures.c
  (struct TALER_ProposalDataPS): Move here from taler_signatures.h.
  (TALER_merchant_contract_sign): New func.
2022-04-17 19:53:17 -04:00
Thien-Thi Nguyen
a7ad5a07e2
Add abstractions: TALER_merchant_pay_{sign,verify}
Additionally, this change removes ‘struct TALER_PaymentResponsePS’
from the public API.

* src/include/taler_crypto_lib.h
  (TALER_merchant_pay_sign): New func decl.
  (TALER_merchant_pay_verify): New func decl.

* src/include/taler_signatures.h
  (struct TALER_PaymentResponsePS): Delete.

* src/util/merchant_signatures.c
  (struct TALER_PaymentResponsePS): Move here from taler_signatures.h.
  (TALER_merchant_pay_sign): New func.
  (TALER_merchant_pay_verify): New func.
2022-04-17 04:53:17 -04:00
Christian Grothoff
b496b8fed5
add more flexibility to endpoint naming for KYC 2022-04-16 17:51:27 +02:00
Christian Grothoff
fc1383ebd1
-skeleton for p2p test 2022-04-15 16:02:50 +02:00
Christian Grothoff
001f406ad6
regen test DBs to fix #7220 2022-04-15 11:42:57 +02:00
Christian Grothoff
a2604f7967
-style fix 2022-04-15 11:18:33 +02:00
Christian Grothoff
a13f90a15e
add wirewatch shutdown shard cleanup logic 2022-04-14 00:00:50 +02:00
Christian Grothoff
5882e6b56b
-edit correct file 2022-04-13 10:02:01 +02:00
Christian Grothoff
00928aba0a
-wip on p2p payments 2022-04-13 09:50:53 +02:00
Christian Grothoff
2299b8b193
-draft for purse merge command 2022-04-12 16:35:05 +02:00
Christian Grothoff
3893afa49c
-implementing purse merge DB logic 2022-04-12 11:58:21 +02:00
Christian Grothoff
cacb019501
testing command to GET contracts 2022-04-11 23:27:23 +02:00
Christian Grothoff
b91a406525
-finish first implementaation of exchange_api_contracts_get.c 2022-04-11 19:22:30 +02:00
Christian Grothoff
78cf27aaac
-skeleton for GET /contracts/ logic: add to build system 2022-04-11 18:58:54 +02:00
Christian Grothoff
6aad1fa351
-skeleton for GET /contracts/ logic 2022-04-11 18:56:05 +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
bd09b2302a
-add exchange-internal API to lookup current wire fees 2022-04-11 15:04:26 +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
Marco Boss
fe2a15c558
Update queries for better network load in sharded setup 2022-04-06 14:21:57 +02:00
Christian Grothoff
89431a41b7
-complete va coin parser of purse_create_deposit CMD 2022-04-06 13:54:08 +02:00
Marco Boss
0a10644b81
improve some queries for sharding 2022-04-06 13:33:47 +02:00
Christian Grothoff
22cfc59d90
-towards testing purse creation 2022-04-06 12:50:07 +02:00
Marco Boss
adb999ce2c
fix sharding 2022-04-06 11:33:50 +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
7191641406
implement more DB functions 2022-04-04 20:42:26 +02:00
Christian Grothoff
df8ff01f29
add contract_sig field 2022-04-04 17:04:31 +02:00
Marco Boss
970225516e
add p2p tables to sharding logic 2022-04-04 16:40:39 +02:00
Christian Grothoff
5147c8b788
-fix FTBFS 2022-04-04 08:55:01 +02:00
Christian Grothoff
831e32b7ad
-add logic for econtract_sig signatures 2022-04-04 07:29:50 +02:00
Marco Boss
393cea46d1
implement shard node setup and drop 2022-04-02 19:07:12 +02:00
Marco Boss
7ba135362e
fix name 2022-04-02 18:59:20 +02:00
Marco Boss
ae75ff2cb4
extend sharding logic that shard nodes can be initialied and dropped 2022-04-02 18:43:49 +02:00
Christian Grothoff
6f027fc130
add additinal signature 2022-04-02 17:25:18 +02:00
Marco Boss
caabee9e94
install shard-0000.sql 2022-04-02 14:33:50 +02:00
Marco Boss
86ee587b03
add shard-0000.sql 2022-04-02 14:31:59 +02:00
Marco Boss
ca536c0379
fix return 2022-04-02 14:25:04 +02:00
Marco Boss
5880a8ec4f
drop functions 2022-04-02 13:42:00 +02:00
Marco Boss
f596b27a97
fix format specifiers 2022-04-02 12:18:56 +02:00
Marco Boss
82718aecf8
fix argument to create_shard_server 2022-04-02 11:52:21 +02:00
Marco Boss
1b76ba5e9a
Include sharding sql logic 2022-04-02 09:28:25 +02:00
Marco Boss
0ba219fe5b
add permissions 2022-04-02 09:27:30 +02:00
Christian Grothoff
6c66f6f5cf
rollback transaction to end transaction scope before releasing the shard (fixes #7216) 2022-04-02 03:50:30 +02:00
Christian Grothoff
caf66486e7
work on purse creation logic 2022-04-01 16:39:07 +02:00
Marco Boss
45916b992b
remove built sql files from vc 2022-03-31 21:49:35 +02:00
Marco Boss
75c1e10a67
add shard init for shard node 2022-03-31 21:31:07 +02:00
Marco Boss
0cf9a9984c
add sharding logic 2022-03-31 17:00:44 +02:00
Christian Grothoff
747ae5ef09
privatize more signature structs, simplify code 2022-03-31 12:37:39 +02:00
Christian Grothoff
eadee56dcf
-remove row check, not stable enough to assert on 2022-03-30 12:00:20 +02:00
Christian Grothoff
6040c9ff0f
make struct private again 2022-03-30 01:36:52 +02:00
Sebastian
e5b65aa443
fix: wtid request param size 2022-03-29 17:53:50 -03:00
Sebastian
adc9dae4cc
make TALER_RefundConfirmationPS public 2022-03-29 14:12:45 -03:00
Christian Grothoff
074ea7502e
centralize exchange online signature logic 2022-03-29 15:21:49 +02:00
Christian Grothoff
3249687b2a
rename to avoid symbol conflict with musl 2022-03-28 18:18:08 +02:00
Christian Grothoff
b25c9398b7
starting work on purse-create endpoint 2022-03-28 17:50:23 +02:00
Christian Grothoff
a227ee6d1b
-first cut at contract encryption and decryption 2022-03-28 13:57:43 +02:00
Christian Grothoff
ee4077ef80
starting with purse creation client API 2022-03-28 13:19:40 +02:00
30985c0975
-rename variable 2022-03-28 12:34:14 +02:00
ccf2d69dfb
-fix leak in test_age_restriction.c 2022-03-28 12:33:41 +02:00
488d217381
-fix leaks in test_crypto.c 2022-03-28 11:17:49 +02:00
a2386abadb
[age restriction] progress 19/19 (final) - Use Edx25519 for crypto
We switch from EcDSA to Edx25519 for the underlying signature scheme.

Edx25519 is implemented in gnunet, starting with (gnunet-)commit
ce38d1f6c9bd7857a1c3bc2094a0ee9752b86c32.
2022-03-28 11:04:00 +02:00
Christian Grothoff
d61a19c275
-fix leak, uninitialized ps 2022-03-27 16:11:35 +02:00
Christian Grothoff
1f1d675f3d
-remove tiny field, no longer needed 2022-03-27 14:34:44 +02:00
Christian Grothoff
b9a9af3a59
new aggregator mega transaction logic 2022-03-27 13:48:25 +02:00
Christian Grothoff
d0a69da895
towards removing tiny bit 2022-03-27 10:32:28 +02:00
Christian Grothoff
646c9ad061
fix leak 2022-03-27 05:02:21 +02:00
Christian Grothoff
098d572471
change sharding strategy for refund table 2022-03-26 10:47:10 +01:00
Christian Grothoff
783e2ae424
add partitions to new p2p tables 2022-03-26 09:00:19 +01:00
Christian Grothoff
238761c87d
-regen DBs 2022-03-25 14:07:31 +01:00
Christian Grothoff
b856d56d95
rework deposits sharding, towards making aggregator faster (not necessarily done) 2022-03-24 17:33:29 +01:00
Christian Grothoff
c782dfe2aa
first draft of service API for p2p payments 2022-03-24 13:06:04 +01:00
Christian Grothoff
6ffc2c68a3
better query 2022-03-24 09:05:55 +01:00
b0cf653b83
implement more taler-crypto-worker ops 2022-03-24 01:37:48 +01:00
e336c02d14
implement more taler-crypto-worker ops 2022-03-24 01:10:00 +01:00
Christian Grothoff
f091808425
more skeleton logic for P2P operations on DB 2022-03-23 12:25:45 +01:00
Christian Grothoff
41399bc224
revise P2P signatures and signing schema to address recently discovered design concern resulting in the split of the purse key into purse-contract and purse-merge keys 2022-03-23 06:54:43 +01:00
Christian Grothoff
9b7716f9f2
fix #7151 2022-03-23 05:19:09 +01:00
Christian Grothoff
6505f69869
add one more p2p signature 2022-03-22 12:12:00 +01:00
Christian Grothoff
6868b78692
fix typo 2022-03-22 12:06:12 +01:00
Christian Grothoff
cce049a0b5
add missing table drops 2022-03-22 11:51:56 +01:00
Christian Grothoff
734b68d45e
-fix drop SQL issue: drop functions properly 2022-03-22 05:33:08 +01:00
Christian Grothoff
e200e86032
implement helper functions for p2p signatures, clean up existing signature logic 2022-03-22 02:33:51 +01:00
Christian Grothoff
bdc797a583
FIXMEs for Oec 2022-03-21 08:35:19 +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
1f86b02ffa
first rough-cut implementation of /reserves//history endpoint 2022-03-21 03:04:47 +01:00
Christian Grothoff
f5f15e6531
first rough-cut implementation of POST /reserves//status 2022-03-21 02:39:36 +01:00
Christian Grothoff
b560527ee3
ideas for mboss 2022-03-20 16:52:38 +01:00
Christian Grothoff
65808106c7
add test for reserve GET long polling 2022-03-20 15:42:16 +01:00
Christian Grothoff
532fabf20a
add variant of GET /reserves/ testing command with support for long polling (to diagnose reserve long polling issue reported by FD) 2022-03-20 14:50:13 +01:00
Christian Grothoff
28203913e2
add p2p tables from dd13 2022-03-20 14:03:07 +01:00
Christian Grothoff
e7fa97cc87
-rename file for consistency 2022-03-20 13:22:32 +01:00
Christian Grothoff
427417b835
towards support for new reserve history/status APIs 2022-03-20 13:20:45 +01:00
Christian Grothoff
dee45bf022
return new global fees from /keys 2022-03-20 09:44:42 +01:00
Christian Grothoff
1bb5a77c8d
add new reserve status/history signatures 2022-03-20 02:39:28 +01:00
Christian Grothoff
c83892ba29
-style fixes 2022-03-20 02:39:12 +01:00
Christian Grothoff
69927847cc
-style fixes 2022-03-20 02:38:48 +01:00
Christian Grothoff
5406d564fb
-style fixes 2022-03-19 16:16:28 +01:00
Christian Grothoff
938db9ac56
-fix memory leak introduced by Oec 2022-03-19 16:04:41 +01:00
Christian Grothoff
c4690a44bc
-minor code cleanup 2022-03-19 15:54:05 +01:00
Christian Grothoff
685837ad28
simplify auditor_api_handle.c, do not modify global context with respect to 'Expect' header 2022-03-19 15:25:43 +01:00
Christian Grothoff
f5e5f4b843
more work on recoup_by_reserve: add new materialized index to avoid hitting all partitions for the query 2022-03-19 14:05:45 +01:00
Christian Grothoff
f22125ce0f
add missing index, move indices closer to table generation 2022-03-19 12:58:37 +01:00
Christian Grothoff
52a8b8f888
-code cleanup 2022-03-19 08:34:58 +01:00
Christian Grothoff
280f94c3a6
improve style of some SQL queries (no semantic change) 2022-03-19 08:27:01 +01:00
Christian Grothoff
f0a95037ef
-fix memory leak 2022-03-19 08:26:40 +01:00
Christian Grothoff
badfde8962
add deposits_by_coin table to speed-up certain queries (in theory) 2022-03-18 15:47:25 +01:00
Christian Grothoff
142a369e43
add selection by shard, ignore KYC in revocation test aggregation 2022-03-18 08:54:08 +01:00
Christian Grothoff
23af6c3c41
change table structures again to shard better by coin_pub and not use known_coin_id so much 2022-03-18 01:57:39 +01:00
Christian Grothoff
a59d39f699
reinit auditor bd: column dropped 2022-03-17 15:09:14 +01:00
Christian Grothoff
eac8b8c0da
-re-enable test-revocation.sh, works again 2022-03-17 15:06:58 +01:00
Christian Grothoff
bab36a2ac8
-remove dead field, return h_commitment_age to auditor 2022-03-17 14:45:12 +01:00
Christian Grothoff
12809b28ec
-misc fixes 2022-03-17 14:16:34 +01:00
Marco Boss
63879d9d20
more explicit cipher usage counters 2022-03-17 14:09:12 +01:00
Christian Grothoff
fe94405554
regenerate revokedb 2022-03-15 13:09:32 +01:00
Marco Boss
7529939a0f
add metrics for number of crypto operations 2022-03-14 20:06:07 +01:00
Christian Grothoff
687f0cab82
add arguments for new fees 2022-03-14 16:03:01 +01:00
Christian Grothoff
a8d80d519d
attempt to make GRID5K_MARCO_OPT superfluous 2022-03-14 07:34:21 +01:00
Marco Boss
7a74cde9c7
add option to exclude reserve history in grid5k experiments 2022-03-10 10:26:44 +01:00
Christian Grothoff
9a3d993d07
-also work with h_payto trait 2022-03-10 01:48:46 +01:00
cd5ee2338c
-ensure label has no zero bytes 2022-03-08 11:47:51 +01:00
Christian Grothoff
ab3868f83b
-add global-fee subcommand to taler-exchange-offline 2022-03-05 19:03:40 +01:00
Christian Grothoff
54106e63dc
add client API for setting global fees 2022-03-05 18:18:25 +01:00
Christian Grothoff
a080f11890
add more logic for new global fees 2022-03-05 17:14:32 +01:00
Christian Grothoff
57470e4c08
-more work on global_fees 2022-03-05 16:16:38 +01:00
Christian Grothoff
5fa977cc05
work on global fee structure 2022-03-05 15:13:07 +01:00
Christian Grothoff
841e56bafd
also sync global fees table (new) 2022-03-05 14:38:03 +01:00
Christian Grothoff
7ff58c3d8f
refactor /wire to include logic to return the wad fee (for W2W payments) 2022-03-05 14:36:55 +01:00
8a906bf96c
sync tables "extensions" and "extension_details" with auditor 2022-03-05 13:39:01 +01:00
Christian Grothoff
43f8ab6b48
add signing/verifying functions for global fees 2022-03-05 12:04:13 +01:00
Christian Grothoff
4835ddf60b
introduce sets for wire fees and global fees 2022-03-05 11:56:58 +01:00
Christian Grothoff
3a1f418603
improve URI path checking, make it more strict and simplify logic 2022-03-04 22:29:29 +01:00
d0b27833b2
[age restriction] added unit test for get_age_group 2022-03-04 17:00:28 +01:00
Marco Boss
f5e1cf5e6d
rewrite query for recoup_by_reserve 2022-03-04 13:22:28 +01:00
Christian Grothoff
f9a2808ed0
-fix kyc test 2022-03-04 00:30:43 +01:00
Christian Grothoff
1643b745af
use 32 byte hash for hpayto, use that for joins on queries to better align queries with partitions 2022-03-03 23:52:08 +01:00
Christian Grothoff
f951cdef8c
include shard when marking deposits tiny/done to make better use of partitions/shards 2022-03-03 19:39:25 +01:00
4c53d42e44
[age restriction] progress 18/n - attestation tested
- Unit-tests for commit, derive, attest and verify added, with multiple
  combinations of minimum age and commited age.
- Fixed crypto implementation (eddsa -> ecdsa)
- Using now standard functionality from GNUNET:
  GNUNET_CRYPTO_ecdsa_{private,public}_key_derive

All tests pass (unit tests in util/ and 'make check' in testing).
2022-03-03 19:35:24 +01:00
Christian Grothoff
476ae53808
simply defer all, only way to do well with partitions 2022-03-03 17:48:00 +01:00
Thien-Thi Nguyen
80fc8231ad
Don't hardcode directory in taler-auditor-sync(1) invocation 2022-03-02 17:32:52 -05:00
Marco Boss
57e3864c09
Include partitioning in dbinit 2022-03-02 19:03:54 +01:00
Marco Boss
79d123d1b4
fix num partitions 2022-03-02 19:01:27 +01:00
Marco Boss
7f30609ff0
use plain uint32_t 2022-03-02 17:22:43 +01:00
Marco Boss
548613c617
fix 2022-03-02 13:30:44 +01:00
Marco Boss
41a9a73eb8
fix 2022-03-02 13:21:45 +01:00
10d7d93ad8
-tests now with age restriction 2022-03-02 11:59:21 +01:00
Marco Boss
cab654237f
clearer doc 2022-03-02 11:28:28 +01:00
7624db4efd
-refactor TALER_AgeMask.mask -> TALER_AgeMask.bits
also: fix off-by-one in TALER_age_restriction_commit
2022-03-02 10:59:42 +01:00
Marco Boss
2abe9bf6d7
include partitioning logic in dbinit 2022-03-02 10:50:51 +01:00
4978b1e966
-amend missing parts to commit b20ddf0c8
- functions TALER_age_commitment_attest and
      TALER_age_commitment_verify
      implemented.
    - age restriction implementation moved into util/age_restriction.c
2022-03-02 07:58:55 +01:00
b20ddf0c8a
[age restriction] progress 17/n - attestation implemented
- functions TALER_age_commitment_attest and TALER_age_commitment_verify
  implemented.
- age restriction implementation moved into util/age_restriction.c
2022-03-01 19:30:57 +01:00
e9eb00e285
Refactoring TALER_AgeCommitment
Instead of a single struct TALER_AgeCommitment, we now use
 1. TALER_AgeCommitment for the age mask and list public keys for age
    restriciton.
 2. TALER_AgeProof for list of private keys for age restriction
 3. TALER_AgeCommitmentProof for the aggregation of the former two.

Also, we introduce TALER_AgeAttestation as the EDDSA signature to attest
a particular age group, along with the function prototypes
TALER_age_commitment_attest and TALER_age_commitment_verify.
2022-03-01 17:02:37 +01:00
Marco Boss
b4f7fef224
stay with partitions for now - find shards on dev/boss/sharding 2022-03-01 15:54:47 +01:00
Marco Boss
0eed0c0de2
tested shard creation locally 2022-03-01 14:01:42 +01:00
Marco Boss
afb1b5f902
prepare sharding / partitioning init
- create exchange-0001.sql with functions to create all tables and partitions / shards
- create exchange-0002.sql for the master db
2022-03-01 12:11:58 +01:00
Christian Grothoff
e24a6369aa
test-sync passes again 2022-02-28 23:18:40 +01:00
Christian Grothoff
a8d9e7e0a6
-more bool cleanup 2022-02-28 22:46:24 +01:00
Christian Grothoff
3d4e580699
work on auditor-sync update to latest DB 2022-02-28 22:41:24 +01:00
Christian Grothoff
ee79f31275
-work on test_sync.sh, incomplete 2022-02-28 22:41:24 +01:00
Marco Boss
0efc7fd524
cleaner sql 2022-02-28 22:32:59 +01:00
Christian Grothoff
23bc09fe3c
get test-auditor and #7181 to pass 2022-02-28 20:37:19 +01:00
Christian Grothoff
8f77bda2e0
-towards getting auditor tests to pass again with new logic 2022-02-28 16:13:30 +01:00
Christian Grothoff
d7bbf934a0
make DB generation work with new CS logic 2022-02-28 16:13:30 +01:00
Marco Boss
58eb3d95fc
towards adding shard/partitioning init functionality 2022-02-27 21:23:20 +01:00
Marco Boss
99dd36f7f6
add index on wire_targets
- better performance on local db
- many queries use wire_target_serial_id as join condition -> discussion use this as shard key?
2022-02-26 17:37:52 +01:00
Christian Grothoff
f11cab90ff
-add parens 2022-02-24 23:58:17 +01:00
Marco Boss
3d52f52164
Fix ON CONFLICT statements for distributed tables 2022-02-24 14:31:19 +01:00
Christian Grothoff
fd9ba53c49
make_coin_known can experience serialization failures, add retry logic 2022-02-24 13:53:19 +01:00
Christian Grothoff
10b9023575
-on conflict example 2022-02-24 10:16:10 +01:00
Christian Grothoff
5e5004020e
-fix aggregator with deferred constraint 2022-02-24 10:06:43 +01:00
Christian Grothoff
e253a5b055
-unique constraint is crucial 2022-02-24 09:06:15 +01:00
b244e23859
-make age commiment structs const in traits 2022-02-23 16:08:27 +01:00
7910ca183f
double melt test no works with age restriction
- added missing field h_age_commitment in exchange's error response
- slight refactoring
2022-02-22 18:35:10 +01:00
Christian Grothoff
fbdc1996a6
-use correct idx 2022-02-22 17:28:44 +01:00
Christian Grothoff
900b2d6fd9
-use correct idx 2022-02-22 17:26:27 +01:00
26158fc725
[age restriction] progress 16/n - refresh/reveal/link tests
Age restriction works now with withdraw, melt/refresh/reveal and link,
including tests.

However, there is still a problem with the tests:  The melting operation
"refresh-melt-failing-age" that should fail (because of conflict), but
currently fails for other reasons.  I decided to disable that particular
test (and the next) and submit the patch I have so far.
2022-02-22 14:34:47 +01:00
3cd6156513
do not clamp EdDSA private keys 2022-02-21 16:08:45 +01:00
Christian Grothoff
544ba42f44
-big renaming of structs for consistent naming with P suffix 2022-02-21 00:23:23 +01:00
Christian Grothoff
19624fd776
-ensure different HKDF is used in melt vs. withdraw 2022-02-20 21:51:46 +01:00
Christian Grothoff
bc150693de
-work around missing constraint, if not present 2022-02-20 19:26:01 +01:00
Thien-Thi Nguyen
e02c850acf
add libtalerextensions.la to _LDADD (two instances)
* src/benchmark/Makefile.am (taler_bank_benchmark_LDADD): ...here.
* src/exchange-tools/Makefile.am (taler_auditor_offline_LDADD): Likewise.
2022-02-19 21:36:08 -05:00
Christian Grothoff
bc3ec56373
reject wire deadline of 'never' (#7157) 2022-02-19 21:26:27 +01:00
Christian Grothoff
bccdf7e452
-reduce default fakebank memory allocation (see #7156) 2022-02-19 21:21:24 +01:00
71af4c539e
-reducing FIXMEs re: age restriction
- deposit info now carries h_age_commitment
- benchmark does age commitment, too
2022-02-18 02:07:38 +01:00
f4f502d037
-minor merge conflict resolves 2022-02-18 00:50:31 +01:00
a78b3345fb
[age restriction] progress 15/n - melt/refresh/reveal and recoup
Added age restriction support for
  - melt/refresh/reveal
  - recoup

However, tests are not yet implemented for those flows.

Also: minor fixes and refactoring.
2022-02-18 00:30:19 +01:00
Christian Grothoff
22fe5da700
-migrate to Postgress 11: use BIGINT GENERATED BY DEFAULT AS IDENTITY instead of BIGSERIAL 2022-02-17 23:08:34 +01:00
Christian Grothoff
d380ff1ffe
-restore fee structure 2022-02-17 19:02:55 +01:00
Christian Grothoff
802f4986fe
-fix Oec FTBFS 2022-02-17 15:29:50 +01:00
Christian Grothoff
f74757e234
-another OEC FIXME 2022-02-17 15:28:00 +01:00
Christian Grothoff
721c2c88d5
-use age_mask 2022-02-17 15:23:56 +01:00
Christian Grothoff
668342cd41
-fix test_crypto FTBFS 2022-02-17 15:23:05 +01:00
Christian Grothoff
81bf3ebeb4
-fix bad choice during merge 2022-02-17 15:19:05 +01:00
Christian Grothoff
5147993785
-add missing file 2022-02-17 15:18:12 +01:00
Christian Grothoff
a351bfc4b4
-fix CS nonce reuse check logic 2022-02-17 15:18:09 +01:00
8bdf6ab19d
[age restriction] progress 14/n - withdraw and deposit
Age restriction support for
  - withdraw is done and tested
  - deposit is done and tested

TODOs:
  - melt/refresh/reveal
  - link

------

Added functions
 - TALER_age_restriction_commit
 - TALER_age_commitment_derive
 - TALER_age_commitment_hash
 - TALER_age_restriction_commitment_free_inside
 - Hash of age commitment passed around API boundaries

Exchangedb adjustments for denominations
 - all prepared statements re: denominations now handle age_mask
 - signature parameters adjusted

Hash and signature verification of /keys adjusted
 - Hashes of (normal) denominations and age-restricted denominations are
   calculated seperately
 - The hash of the age-restricted ones will then be added to the other
   hash
 - The total hash is signed/verified

Tests for withdraw with age restriction added
 - TALER_EXCHANGE_DenomPublickey now carries age_mask
 - TALER_TESTING_cmd_withdraw_amount* takes age parameter
 - TALER_TESTING_find_pk takes boolean age_restricted
 - WithdrawState carries age_commitment and its hash
 - withdraw_run derives new age commitment, if applicable
 - Added age parameter to testing (13 as example)

Various Fixes and changes
 - Fixes of post handler for /management/extensions
 - Fixes for offline tool extensions signing
 - Slight refactoring of extensions
 - Age restriction extension simplified
   - config is now global to extension
   - added global TEH_age_restriction_enabled and TEH_age_mask in
     taler-exchange-httpd
   - helper functions and macros introduced
2022-02-16 22:01:05 +01:00
Christian Grothoff
ef938e0f7a
-correctly implement CS idempotency check on withdraw 2022-02-15 17:07:13 +01:00
Christian Grothoff
8ecbdeb55b
-actually, commit phase does take care of this 2022-02-14 23:15:29 +01:00
Christian Grothoff
bd77bcb52d
-towards fixing the protocol 2022-02-14 23:02:25 +01:00
Christian Grothoff
f4f40a31ef
-fixmes 2022-02-14 13:03:26 +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
f6ecf7458a
-refactor melt API, add FIXME for discovered bug 2022-02-12 14:38:27 +01:00
Christian Grothoff
7cedf3f0bf
-clean up refresh reveal API 2022-02-12 14:00:58 +01:00
Christian Grothoff
4d26042b5a
-modify link API to return 'ps' so that linked coins can be refreshed 2022-02-12 13:39:58 +01:00
Christian Grothoff
730d8c893c
-more doxygen fixes 2022-02-12 12:35:03 +01:00
Christian Grothoff
d81b3f13d1
-remove legacy uncrustify workaround 2022-02-12 12:21:27 +01:00
Christian Grothoff
a0d9d59b73
-refactor to address FIXME 2022-02-12 12:20:12 +01:00
Christian Grothoff
88033aa15e
-removed confused TODOs 2022-02-12 12:15:02 +01:00
Christian Grothoff
d581729443
-removed confused TODOs 2022-02-12 12:14:24 +01:00
Christian Grothoff
db8cdc8c4c
-remove addessed documentation FIXMEs 2022-02-12 12:10:33 +01:00
Christian Grothoff
ea4be7ba6f
-swap argument/rval for nicer code 2022-02-12 11:42:25 +01:00
Christian Grothoff
8a3e88fbf1
-add missing comment 2022-02-12 11:27:57 +01:00
Christian Grothoff
c2549e8b1e
-address FIXMEs 2022-02-12 11:24:32 +01:00
Christian Grothoff
bc14c215b3
-doxygen fixes 2022-02-12 11:12:33 +01:00
Christian Grothoff
819b67426c
-doxygen fixes 2022-02-12 10:33:23 +01:00
Christian Grothoff
2cdbf58006
-remove redundant comments 2022-02-12 10:05:45 +01:00
Christian Grothoff
c93150b8cd
-work on more FIXMEs 2022-02-12 01:00:31 +01:00
Christian Grothoff
94a5359494
-address misc. fixmes 2022-02-12 00:52:19 +01:00
Christian Grothoff
3b1e742dde
-simplify: nonce no longer hashed 2022-02-11 18:00:20 +01:00
Christian Grothoff
9f77398fe2
-fix use of uninit memory in test 2022-02-11 17:44:18 +01:00
Christian Grothoff
0eb5b08d50
-minor API clean up 2022-02-11 17:05:57 +01:00
Christian Grothoff
2772050b95
-add missing cfg file 2022-02-11 12:23:57 +01:00
Christian Grothoff
4472cbaf9d
-simplify structures 2022-02-11 11:55:59 +01:00
Christian Grothoff
3b9d67a6f8
-get twisted tests to pass 2022-02-11 11:46:42 +01:00
Christian Grothoff
0995bdd1d0
-get tests to pass 2022-02-11 09:36:01 +01:00
Christian Grothoff
532d4ad0dc
-fixes to tests, and half-baked fixes for CS-/link (still fails) 2022-02-10 23:39:00 +01:00
Christian Grothoff
d58d89dcab
-get recoup/refresh to pass 2022-02-10 20:15:17 +01:00
Christian Grothoff
ed5ef2b5f7
also pass ewvs during recoup-refresh 2022-02-09 22:05:10 +01:00
Christian Grothoff
025922950d
pass exchange values to /recoup 2022-02-09 22:02:29 +01:00
Christian Grothoff
e6598cfa1a
-get refresh to work 2022-02-09 21:25:57 +01:00
Christian Grothoff
758f13b557
-fix error handling 2022-02-09 19:28:34 +01:00
Christian Grothoff
008ba5cf89
implement CS refresh-reveal signing, simplify TEH keys logic 2022-02-09 19:24:29 +01:00
Christian Grothoff
8e4eaabc96
-fix refresh commitment check for CS 2022-02-09 19:17:50 +01:00
Christian Grothoff
4ee82c1ed3
-fix init of nonces in reveal request 2022-02-09 18:42:16 +01:00
Christian Grothoff
730f9e8865
-more refresh CS fixes 2022-02-09 17:30:02 +01:00
Christian Grothoff
1777db292e
-fix withdraw logic 2022-02-09 16:43:36 +01:00
Christian Grothoff
d05c561e4f
-fix fTBFS 2022-02-09 15:33:20 +01:00
Christian Grothoff
12290af845
-clean up crypto 2022-02-09 10:49:10 +01:00
Christian Grothoff
d559610da7
-poison 2022-02-09 10:38:02 +01:00
Christian Grothoff
77eaa685b9
-indent 2022-02-09 10:11:40 +01:00
Christian Grothoff
88b84d01cb
-simpilify 2022-02-09 10:09:01 +01:00
Christian Grothoff
b461fc6fc4
-simpilify 2022-02-09 10:03:10 +01:00
Christian Grothoff
e82d18325a
-dce 2022-02-09 10:02:10 +01:00
Christian Grothoff
bc15478c3b
-fix leak 2022-02-09 09:25:32 +01:00
Christian Grothoff
c3e1aa36ee
-fix leak 2022-02-09 09:19:56 +01:00
Christian Grothoff
dfc5039d9a
-fix leak 2022-02-09 09:18:35 +01:00
Christian Grothoff
bd930549fb
initialize reserved field 2022-02-09 09:13:40 +01:00
Christian Grothoff
cb723a82fd
-initialize cipher type 2022-02-08 23:25:16 +01:00
Christian Grothoff
6cbf7218d8
patch from Lucien 2022-02-08 22:58:12 +01:00
Christian Grothoff
b3cf788424
-more test fixes 2022-02-08 14:02:27 +01:00
Christian Grothoff
8cbe16a220
fix refresh/link tests 2022-02-08 09:58:22 +01:00
Christian Grothoff
133cf76f0d
use 'NULL' 2022-02-08 00:15:15 +01:00
Christian Grothoff
7eb989b2df
-get melt and refresh-reveal to pass again 2022-02-08 00:12:56 +01:00
Christian Grothoff
17a30cbd70
-cleanups 2022-02-07 23:38:30 +01:00
Christian Grothoff
e27ff05e63
-fix config file name 2022-02-07 22:01:37 +01:00
Christian Grothoff
a8b683fe3f
only one helper must be OK 2022-02-07 21:55:07 +01:00
Christian Grothoff
b79457cec6
-style fixes 2022-02-07 21:45:40 +01:00
Christian Grothoff
a5b8244948
-wake clients if we have 0 dks 2022-02-07 15:40:21 +01:00
Christian Grothoff
271711ae64
run denom helper even with zero denoms, as we may be using the other cipher type only 2022-02-07 15:02:34 +01:00
Christian Grothoff
ca7fa98016
-fix config file names 2022-02-07 14:53:32 +01:00
Christian Grothoff
e35e89f14d
-fix FTBFS 2022-02-07 13:43:29 +01:00
Christian Grothoff
b84fb618c3
fix refreshes_reveal FTBFS 2022-02-07 13:41:55 +01:00
Christian Grothoff
169d684342
-towards CS in refresh (incomplete, FTBFS) 2022-02-07 13:23:20 +01:00
Christian Grothoff
b2e6fcae1a
fix DB API for generic blinded planchet storage 2022-02-07 13:14:25 +01:00
Christian Grothoff
b9ea075d61
get DB test to build 2022-02-07 12:42:27 +01:00
Christian Grothoff
c7c0beedd5
-rename fest 2022-02-07 12:35:00 +01:00
Christian Grothoff
fb9ba5b1d2
-rename fest 2022-02-07 12:33:35 +01:00
Christian Grothoff
0d03f55282
-clean up of crypto.c 2022-02-07 11:33:58 +01:00
Christian Grothoff
d850ed9ca1
-fix test_crypto 2022-02-07 11:23:53 +01:00
Christian Grothoff
f7a1f41eee
-get testing to build 2022-02-07 11:01:54 +01:00
Christian Grothoff
3ed39955b6
-fix test_crypto ftbfs 2022-02-07 10:58:23 +01:00
Christian Grothoff
031e365814
fix FTBFS of main logic 2022-02-07 10:55:07 +01:00
Christian Grothoff
2164c36f0f
got testing_api_cmd_refresh to compile 2022-02-07 10:09:12 +01:00
Christian Grothoff
5ff3189075
-fix recoup testing cmds 2022-02-06 20:04:36 +01:00
Christian Grothoff
62d8368b1b
-fix more FTBFS issues 2022-02-06 19:53:23 +01:00
Christian Grothoff
66abbcac3f
-fix more FTBFS issues 2022-02-06 19:44:05 +01:00
Christian Grothoff
e735475623
-work on refresh_common FTBFS 2022-02-06 19:00:01 +01:00
Christian Grothoff
f173296c3c
-fix refresh FTBFS 2022-02-06 18:39:28 +01:00
Christian Grothoff
57bbdb0997
-fix melt FTBFS 2022-02-06 18:35:08 +01:00
Gian Demarmels
34a7f59060
fixed src util and other stuff 2022-02-05 23:42:17 +01:00
Gian Demarmels
9fc3b7a278
Merge branch 'master' of ssh://git.taler.net/exchange 2022-02-05 23:12:31 +01:00
Gian Demarmels
b280b1db04
fix src/util 2022-02-05 23:12:21 +01:00
Lucien Heuzeveldt
251f2b5987
implement csr max request elements 2022-02-05 22:46:36 +01:00
Lucien Heuzeveldt
5a47863caf
implemenent flexible csr http endpoint 2022-02-05 22:16:00 +01:00
Christian Grothoff
718ad3996f
-FTBFS 2022-02-05 20:40:39 +01:00
Gian Demarmels
e8740316a7
fixes to crypto.c changes 2022-02-05 20:22:55 +01:00
Christian Grothoff
41d132757b
-implement new client-side csr logic 2022-02-05 17:06:42 +01:00
Gian Demarmels
f46dc9ea5e
Merge branch 'master' of ssh://git.taler.net/exchange 2022-02-05 00:33:16 +01:00
Gian Demarmels
c42376cf40
crypto implementation 2022-02-05 00:32:53 +01:00
Christian Grothoff
aea7fc36c3
-style fix 2022-02-05 00:13:51 +01:00
Christian Grothoff
d81a6c7cf2
-work on reveal 2022-02-05 00:12:58 +01:00
Christian Grothoff
41acdf11b8
make API actually workable, sketch out melt 2022-02-05 00:02:38 +01:00
Christian Grothoff
b30765c7d0
make API actually workable, sketch out melt 2022-02-04 23:58:41 +01:00