Commit Graph

5356 Commits

Author SHA1 Message Date
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