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
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
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
bd77bcb52d
-towards fixing the protocol
2022-02-14 23:02:25 +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
3b1e742dde
-simplify: nonce no longer hashed
2022-02-11 18:00:20 +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
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
fb9ba5b1d2
-rename fest
2022-02-07 12:33:35 +01:00
Gian Demarmels
752c0aca43
uncrustify
2022-02-04 19:50:21 +01:00
Gian Demarmels
37f54d3e5d
exchangedb fix
2022-02-04 19:50:12 +01:00
Gian Demarmels
a67786078b
resolves merge conflicts
2022-02-04 16:50:32 +01:00
Gian Demarmels
086cf05794
refactor TALER_coin_ev_hash
2022-02-04 15:37:34 +01:00
Gian Demarmels
2213012866
include denom_pub into coin_ev_hash
2022-02-04 15:37:34 +01:00
Lucien Heuzeveldt
8d85c8b5b6
implement feedback
2022-02-04 15:37:30 +01:00
Gian Demarmels
5b7e8f9ac5
refactoring
2022-02-04 15:36:11 +01:00
Gian Demarmels
9c2aefaa51
removed varargs
2022-02-04 15:36:08 +01:00
Gian Demarmels
f3fb7c29e6
added CS data structures, implemented CS keypair
2022-02-04 15:31:45 +01:00
1962ed6b0b
improvements in extension handling
...
- extensions_sig is needed globally
- keep original json with config of extension
- fixed various bugs re: extension handling
2022-01-22 00:26:43 +01:00
0b56de6c99
[age restriction] progress 12/n
...
- taler-offline-tool now handles extensions
- command "extensions" added with subcommands "show" and "sign"
- parses extensions from taler config
- shows and signs of extensions and their configurations
- creates signed set of configurations for upload
- added test for retrieval of extension config
- simplified signature verification for extensions
- remove per-extension signatures, also from DB schema
- adjust prepared statements accordingly
- adjust DB event handler for extensions
- allow NULL for config for extension in DB schema
- handler for /management/extensions adjusted to new datastructures
- changed test for TALER_denom_blind/TALER_denom_sign_blinded with and
without TALER_AgeHash
- minor updates and various fixes
2022-01-21 15:41:02 +01:00
Jonathan Buchanan
c10b783521
use 'pipe' instead of 'eventfd' on non-Linux systems
2022-01-18 09:15:54 -05:00
Christian Grothoff
766a291151
fix #7143
2022-01-11 17:56:32 +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
Christian Grothoff
aaaaa9a103
fix amount denormalization issue
2022-01-10 09:04:09 +01:00
d91750ca0f
drop extensions table
2022-01-08 19:45:19 +01:00
d6bf20028d
Fixed prepared statement for extensions
2022-01-08 19:45:00 +01:00
cc7d7707ab
[age restriction] progress 10/n
...
More work towards support for extensions:
- Prepared statements and DB-plugin-functions for setting and retrieving
configurations from the database added.
- primitive "registry" of extensions for age restrictions and peer2peer
(stub)
- TALER_Extensions now with FP for parsing, setting and converting a
configuration.
- /management/extensions handler now verifies signature of the (opaque)
json object for all extensions.
- /management/extensions handler calls the FP in the corrensponding
TALER_Extension for parsing and setting the configuration of a
particular extension
More work towards age restriction:
- TALER_Extensions interfaces for config-parser, -setter and converter
implemented for age restriction
- DB event handler now retrieves config from database, parses it and
sets it (the age mask) in the global extension.
- load_age_mask now loads age mask from the global extension (and not
from the config file)
- add age_restricted_denoms to /keys response
2022-01-08 14:40:20 +01:00
Christian Grothoff
5cd2bc5de3
-cleanup
2021-12-28 15:36:26 +01:00
Christian Grothoff
070f442a11
resolve #7124 : ensure -s also deletes work_shards
2021-12-26 13:05:39 +01:00
Christian Grothoff
e7d4183d1c
-fix FTBFS
2021-12-25 17:22:54 +01:00
Christian Grothoff
74e4c6429a
clean up refresh-reveal logic, reducing local copying
2021-12-25 16:13:06 +01:00
Christian Grothoff
f6ecb6c895
-eliminate redundant hash operation on link signatures
2021-12-25 15:39:01 +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
62444504f7
denormalize reserve_pub in reserve tables to enable sharding
2021-12-19 13:43:33 +01:00
Christian Grothoff
1acc851deb
-fix recoup ugliness
2021-12-16 20:18:44 +01:00
Christian Grothoff
fdfcb29027
-fix FTBFS
2021-12-15 11:36:36 +01:00
Christian Grothoff
1a1fafbd43
introducing GNUNET_TIME_Timestamp, recoup now with amounts
2021-12-14 16:04:40 +01:00
Christian Grothoff
bf54ee30d4
experiment
2021-12-13 12:28:28 +01:00
Christian Grothoff
386301d1cf
-was integrated
2021-12-09 23:17:15 +01:00
Christian Grothoff
fba91c63d5
introduce stored procedure for coin balance check
2021-12-09 23:13:39 +01:00
Christian Grothoff
7fdcec4c3c
-complete 'melt.sql', in theory
2021-12-08 20:52:23 +01:00
Christian Grothoff
e0700ad916
optimize /deposit logic to minimize serialization failures (presumably)
2021-12-08 20:33:14 +01:00
Christian Grothoff
21951eacc2
quick hack to see about improving melt serialization failures
2021-12-08 18:22:07 +01:00
Christian Grothoff
9d3f7d3a56
move ensure_coin_known for melt and recoup outside of transaction, more logging
2021-12-08 15:18:40 +01:00
Christian Grothoff
a727348638
-wip
2021-12-08 11:53:27 +01:00
Christian Grothoff
7dcd217b60
-fix balance calculation
2021-12-06 16:37:32 +01:00
Christian Grothoff
f3629bdafc
improve SQL comments
2021-12-06 15:15:59 +01:00
Christian Grothoff
6ba9f934c4
-add FIXMEs
2021-12-05 19:23:16 +01:00
Christian Grothoff
19de0f604f
change order of statements when making coin known to possibly reduce serialization failures
2021-12-05 17:59:02 +01:00
Christian Grothoff
67de20d26e
major rework of withdraw transaction to use stored procedure and (presumably) reduce serialization failures by avoiding SELECT before INSERT
2021-12-05 17:16:00 +01:00
Christian Grothoff
c8480d97a1
try to optimize aggregator queries
2021-11-29 10:09:21 +01:00
Christian Grothoff
65533e8df5
-simple DB benchmark
2021-11-29 00:17:09 +01:00
Christian Grothoff
c3ce84af44
fix config
2021-11-28 22:20:56 +01:00
Christian Grothoff
cba49056c4
benchmark skeleton
2021-11-28 19:52:59 +01:00
Christian Grothoff
2d1a618d3d
sql fix
2021-11-27 22:58:50 +01:00
Christian Grothoff
e46fb30965
refactor get_ready_deposits query and index to hopefully make query faster
2021-11-27 14:56:28 +01:00
Christian Grothoff
ef29658161
fix #7107
2021-11-24 00:25:17 +01:00
Christian Grothoff
cb96bb0ba7
-fix warning
2021-11-21 15:16:58 +01:00
Thien-Thi Nguyen
2c8bd158d9
fix typo: s/row_id/rowid/
2021-11-20 06:10:51 -05:00
Christian Grothoff
52fe9d657b
-fix leaks and compiler warnings
2021-11-19 20:56:53 +01:00
Christian Grothoff
326110ffe9
-improve comments, DCE
2021-11-19 16:45:55 +01:00
Christian Grothoff
6b8c757887
towards merging with master
2021-11-17 11:26:19 +01:00
Christian Grothoff
ed1db63a48
fix DB query and error handling
2021-11-17 11:01:19 +01:00
Christian Grothoff
422b0ffd4c
fix oauth_username issue
2021-11-16 19:31:27 +01:00
591cefd315
[age restriction] progress 3/n
...
- remove redundant struct members for age commitment hash
- undo pre-mature implementation in taler-exchange-secmod-rsa.c
- carry through age restriction parameter for TALER_denom_blind
2021-11-16 14:43:54 +01:00
Christian Grothoff
e5ead88057
complete oauth logic (in theory)
2021-11-15 20:00:45 +01:00
Christian Grothoff
0325a79631
avoid duplication
2021-11-15 14:39:18 +01:00
Christian Grothoff
016551dbb4
misc TODOs for KYC left
2021-11-09 20:36:30 +01:00
Christian Grothoff
98c30bee88
fix payto:// construction routine and move it to libtalerutil
2021-11-07 19:22:12 +01:00
Christian Grothoff
cd8d4bede1
add missing file
2021-11-07 11:41:53 +01:00
Christian Grothoff
81f9b2c93e
-misc fixes
2021-11-06 19:57:34 +01:00
Christian Grothoff
bae7ddbf4e
sql fix
2021-11-06 19:46:00 +01:00
Christian Grothoff
57acad487d
move extension options to external table
2021-11-06 19:04:54 +01:00
Christian Grothoff
938e2ce39c
more RSA cleanup
2021-11-06 16:04:26 +01:00
Christian Grothoff
f01ab79015
RSA-despecialization
2021-11-06 15:29:10 +01:00
Christian Grothoff
ba627bf84c
-fixes
2021-11-05 22:22:47 +01:00
Christian Grothoff
32da809fd6
abstract denomination keys a bit more
2021-11-05 14:00:10 +01:00
Christian Grothoff
766922f7e9
implement missing SQL statement
2021-11-05 13:20:14 +01:00
Christian Grothoff
1408e1587b
introduce invalid key type
2021-11-01 23:49:13 +01:00
Christian Grothoff
22ce5bff77
fix sharding
2021-11-01 18:05:01 +01:00
Christian Grothoff
5b3a468d38
-bugfix
2021-11-01 13:40:45 +01:00
Christian Grothoff
b88b36ecad
style fixes
2021-11-01 13:34:14 +01:00
Christian Grothoff
783d07b476
consistently distinguish blinded/unblinded denomination sigs
2021-10-31 18:12:54 +01:00
Christian Grothoff
3eae999efc
distinguish between blind and non-blind denomination signatures
2021-10-31 17:56:56 +01:00
Christian Grothoff
de8e0907aa
DB test passes again
2021-10-31 15:32:20 +01:00
Christian Grothoff
1d5edc6882
SQL fixes
2021-10-31 13:58:20 +01:00
Christian Grothoff
35e3506660
fixing SQL statements
2021-10-31 13:27:50 +01:00
Christian Grothoff
43ee9da01d
misc fixes
2021-10-31 12:49:51 +01:00
Christian Grothoff
b5e9523f94
fix test FTBFS
2021-10-31 10:32:10 +01:00
Christian Grothoff
2faf102a05
-more dB work
2021-10-30 21:26:40 +02:00
Christian Grothoff
bc57abc3da
-more dB work
2021-10-30 20:49:23 +02:00
Christian Grothoff
d83a65320a
-more work on FTBFS issues
2021-10-30 19:57:54 +02:00
Christian Grothoff
963a06c0aa
fix more FTBFS issues
2021-10-30 19:28:11 +02:00
Christian Grothoff
55ea7fcb9a
SQL fixes
2021-10-30 13:52:03 +02:00
Christian Grothoff
22e7dabef1
sql fixes
2021-10-29 19:13:47 +02:00
Christian Grothoff
08b23fb70a
fix SQL
2021-10-29 11:46:06 +02:00
Christian Grothoff
ab3042243d
address most FIXMEs in pg plugin
2021-10-29 11:35:34 +02:00
Christian Grothoff
9968a34a1d
address most FIXMEs in pg plugin
2021-10-29 11:28:12 +02:00
Christian Grothoff
efd4e19bd2
fix FTBFS of exchangedb
2021-10-27 23:31:56 +02:00
Christian Grothoff
091f1062b1
-fixing FTBFS
2021-10-27 09:23:13 +02:00
Christian Grothoff
d4e03b12ae
-more changes towards fixing FTBFS
2021-10-27 09:23:12 +02:00
Christian Grothoff
868a4ce76d
-resovling more FTBFS issues
2021-10-27 09:23:12 +02:00
Christian Grothoff
dbb812414b
database change -- breaks everything
2021-10-27 09:23:11 +02:00
Christian Grothoff
778a402d07
-implement more of the KYC handlers
2021-10-19 21:02:10 +02:00
Christian Grothoff
b38b51d5e8
implement /kyc-check, add skeleton for /kyc-proof
2021-10-17 15:58:23 +02:00
Christian Grothoff
4e3b133e47
-incomplete draft for /kyc-wallet handler
2021-10-17 14:12:13 +02:00
Christian Grothoff
932d2aaf88
implement returning KYC status from GET /deposits/ endpoint
2021-10-17 13:22:15 +02:00
Christian Grothoff
a48db85013
add KYC logic for /deposit handling (DB part incomplete)
2021-10-15 23:34:23 +02:00
Christian Grothoff
ca12adced4
-basic logic for withdraw KYC checks
2021-10-14 21:06:47 +02:00
Christian Grothoff
7d62fa065b
start with KYC support in DB
2021-10-14 14:45:10 +02:00
Christian Grothoff
acbadd5c6e
-modify C API to future-proof it for returning more details as required for KYC implementation
2021-10-13 18:52:59 +02:00
Christian Grothoff
b38f251beb
-DCE, nicer return values
2021-09-17 11:35:10 +02:00
Christian Grothoff
ae8d481e1c
implement taler-exchange-transfer DB sharding logic
2021-09-05 15:25:57 +02:00
Christian Grothoff
adc6c53b5c
doxygen and spelling fixes
2021-09-04 13:00:20 +02:00
Christian Grothoff
c972925933
fix aggregator benchmark generation logic
2021-09-04 11:06:37 +02:00
Christian Grothoff
1c1d28d3f5
first draft for an aggregator benchmark, plus fixing inclusive/exclusive sharding range issues
2021-09-03 21:30:14 +02:00
Christian Grothoff
5149af9314
preliminary work on supporting sharding/parallel aggregation (undertested, but tests pass again)
2021-09-03 19:08:02 +02:00
Christian Grothoff
6e1877b142
-implement long-standing aggregation SQL query simplification
2021-09-03 09:55:16 +02:00
Christian Grothoff
bed08b39d0
-code cleanup
2021-09-03 09:51:19 +02:00
Christian Grothoff
6ab130d994
-wip
2021-09-03 09:44:50 +02:00
Christian Grothoff
0013ce41e7
hyperaggregation schema proposal
2021-08-31 17:41:46 +02:00
Christian Grothoff
82a5038acf
-doxygen fixes
2021-08-23 00:06:36 +02:00
Christian Grothoff
c559b1c935
complete implementation of long-polling for reserve status; remove support for multi-threaded exchange httpd
2021-08-23 00:00:32 +02:00
Christian Grothoff
1cc87bf9fe
-add notifications for inbound reserve transactions
2021-08-22 12:25:48 +02:00
Christian Grothoff
af6995c9aa
-doxygen fix
2021-08-22 11:53:42 +02:00
Christian Grothoff
10f9272e45
-implement long polling support on reserve status (but not yet in C client library)
2021-08-22 00:12:18 +02:00
Christian Grothoff
a11e3cb193
-indent fix
2021-08-19 16:32:57 +02:00
Christian Grothoff
28e55409dd
-doxygen fix
2021-08-13 22:45:55 +02:00
Christian Grothoff
41aa1ed41d
-add support for event notifications to exchangedb plugin
2021-08-13 22:35:13 +02:00
Christian Grothoff
03633cb29a
-fix test
2021-08-08 20:18:53 +02:00
Christian Grothoff
7fd4f1d846
-sepa is ancient, iban is correct
2021-08-08 00:01:07 +02:00
Christian Grothoff
caf6807856
-fix assertion failure caused by testcase
2021-08-06 10:20:58 +02:00
Christian Grothoff
36164914e6
-fix doxygen
2021-08-04 08:39:19 +02:00
Christian Grothoff
ba3f70390a
restructure configuration, move bank account credentials from exchange-account-XXX to exchange-accountcredentials-XXX
2021-08-03 21:58:36 +02:00
Christian Grothoff
33a28efef7
-more json_pack fixes
2021-07-31 21:48:36 +02:00
Christian Grothoff
306a08a71c
-rename TALER_amount_get_zero to TALER_amount_set_zero
2021-07-23 13:02:04 +02:00
Christian Grothoff
23e0847188
-fix #6933
2021-07-22 15:47:24 +02:00
Christian Grothoff
970c9eab86
-fix doxygen
2021-07-15 20:04:15 +02:00
Christian Grothoff
2e981c1a6e
fix serial selection in auditor-sync
2021-06-27 23:38:52 +02:00
Christian Grothoff
4ba4cf74ae
-fix typo
2021-06-27 15:36:42 +02:00
Christian Grothoff
9fb6ea3203
fix auditor-offline issue
2021-06-22 19:48:18 +02:00
Christian Grothoff
ba5af82db1
-bugfixes, and FTBFS
2021-06-22 14:47:54 +02:00
Christian Grothoff
0caf3ac2b7
-fix up wirewatch logic
2021-06-22 13:15:50 +02:00
Christian Grothoff
c9a928fe35
make insert transaction more optimistic, may reduce conflicts
2021-06-21 11:47:34 +02:00
Christian Grothoff
de41998d55
-useless
2021-06-21 00:18:32 +02:00
Christian Grothoff
9c51720cbf
fixing parallel fakebank to ensure transactions are ordered, fixing indices/constraint preservation after DB update to 0002
2021-06-21 00:17:16 +02:00
Christian Grothoff
108bf57d04
preparations for sharded wirewatch
2021-06-20 16:41:04 +02:00
Christian Grothoff
2a9ec82dce
fix batch size adjustment of wirewatcher
2021-06-19 17:11:11 +02:00
Christian Grothoff
4384c6ec85
fix misc doxygen issues
2021-04-21 20:28:30 +02:00
Christian Grothoff
b7ef3cfd36
fix #6845
2021-04-14 14:48:28 +02:00
Christian Grothoff
12deb6c267
fix memory leaks
2021-02-13 16:24:38 +01:00
Christian Grothoff
3b9c381112
remove master_pub from DB
2021-01-15 11:53:54 +01:00
Christian Grothoff
e3a0bc0d1f
fix sync issues, add rudimentary test
2021-01-13 19:47:45 +01:00
Christian Grothoff
52513dcc26
bugfixes in auditor-sync logic
2021-01-12 23:00:57 +01:00
Christian Grothoff
543cd6d342
finish irbt_callbacks
2021-01-10 21:42:25 +01:00
Christian Grothoff
278b35a0fb
more work on INSERT statements
2021-01-10 18:40:39 +01:00
Christian Grothoff
af97a44ae6
complete select_serial_by_* SELECT statements
2021-01-10 18:06:18 +01:00
Christian Grothoff
f70c53d2d6
expand irbt templates
2021-01-10 17:27:46 +01:00
Christian Grothoff
bee612e2ef
expand irbt templates
2021-01-10 17:07:09 +01:00
Christian Grothoff
59cde016a6
preparing statements for auditor replication logic
2021-01-10 17:04:52 +01:00
Christian Grothoff
80b4fc0869
skeleton for postgres_insert_records_by_table
2021-01-10 13:27:33 +01:00
Christian Grothoff
5e80154f43
complete (untested) implementation of lrbt_callbacks
2021-01-10 12:56:13 +01:00
Christian Grothoff
b40afe196c
remove redundant old_coin_pub from link data
2021-01-10 12:15:47 +01:00
Christian Grothoff
ca66a1d1af
fix major bug with SQL statement missing ORDER BY freshcoin_index resulting in possible link failures (but usually lucky with old DB schema)
2021-01-10 00:54:12 +01:00
Christian Grothoff
02ecf68a3d
more optimizations of tables with foreign keys
2021-01-09 13:18:01 +01:00
Christian Grothoff
260e287685
change wire_reference to be uint64_t always; more work on lrbt_callbacks
2021-01-08 23:36:09 +01:00
Christian Grothoff
db61628a9c
use known_coin_id instead of coin_pub, use reserve_out_serial_id/rrc_serial instead of h_blind_ev/h_coin_ev
2021-01-08 21:07:42 +01:00
Christian Grothoff
7ef7d793de
use auditor_uuid instead of auditor_pub as foreign key
2021-01-08 19:11:36 +01:00
Christian Grothoff
13555448b6
change exchange database to use denominations_serial instead of denom_pub_hash as foreign key
2021-01-08 18:14:46 +01:00
Christian Grothoff
40551fa08e
add -i option to taler-auditor
2021-01-06 22:51:55 +01:00
Christian Grothoff
4c8aef9841
schema update in preparation of exchange-auditor database replication logic
2021-01-05 21:21:38 +01:00
Christian Grothoff
b5534977a3
add missing linker options, bonus fun
2020-12-31 22:23:54 +01:00
Christian Grothoff
f82488c060
add missing linker options, bonus fun
2020-12-31 22:22:19 +01:00
Christian Grothoff
0bffea1f67
add missing linker options
2020-12-31 22:13:12 +01:00
Christian Grothoff
b72bf98432
fix bad call
2020-12-26 16:50:41 +01:00
Christian Grothoff
77d49bf4a7
init member
2020-12-26 16:29:20 +01:00
Christian Grothoff
57c9054784
implement #6161
2020-12-26 15:55:34 +01:00
Christian Grothoff
6243afe0ef
address FIXMEs
2020-12-25 08:51:56 +01:00
Christian Grothoff
fe232f1fed
integrate auditor signature check logic with taler-helper-auditor-coins
2020-12-22 18:27:34 +01:00
Christian Grothoff
a644355c44
address FIXME: pass session when iterating over denominations
2020-12-22 18:13:46 +01:00
Christian Grothoff
f17d886753
remove fixme, function remains in use"
2020-12-20 20:22:52 +01:00
Christian Grothoff
699916056b
misc doxygen fixes
2020-12-20 17:10:09 +01:00
Christian Grothoff
f930a8c9d0
simplify further
2020-12-17 15:46:52 +01:00
Christian Grothoff
b74612fc33
update auditordb and test logic to work with new key separation logic ( #6175 )
2020-12-17 13:04:37 +01:00
Christian Grothoff
6f6c71a8d3
load fees from DB instead of from config, also in wire tools
2020-12-16 19:23:29 +01:00
Christian Grothoff
7442744809
fix misc bugs
2020-12-12 22:42:04 +01:00
Christian Grothoff
437f1b8658
cascade
2020-12-10 23:59:33 +01:00
Christian Grothoff
eaa58a17e0
add missing drops
2020-12-10 23:54:47 +01:00
Christian Grothoff
35bec60894
implement POST /managment/keys
2020-12-10 11:49:20 +01:00
Christian Grothoff
fa1914b267
work on new logic to generate /wire response
2020-12-09 12:31:10 +01:00
Christian Grothoff
22c9321e67
expand exchangedb plugin for new /keys logic
2020-12-06 21:54:32 +01:00
Christian Grothoff
d9ac8e7975
incomplete work on forthcoming /keys implementation
2020-12-06 16:53:29 +01:00
Christian Grothoff
6cceb617af
centralize (most) offline signing/verifying operations into offline_signatures.c
2020-12-04 20:29:18 +01:00
Christian Grothoff
b92e85f9cc
fix SQL error
2020-12-02 15:58:13 +01:00
Christian Grothoff
9572337aed
more management API tests and bugfixes
2020-12-01 21:07:56 +01:00
Christian Grothoff
4b2504a3c3
doxygen fixes
2020-11-30 14:16:42 +01:00
Christian Grothoff
e89bb8edaa
more DB functions for new /management/ endpoints
2020-11-29 18:02:00 +01:00
Christian Grothoff
855e7829d7
more work on DB plugin for managemetn API
2020-11-29 17:27:53 +01:00
Christian Grothoff
6b434c626f
work on DB logic, add auditor_name to /management/auditors API
2020-11-29 16:21:10 +01:00
Christian Grothoff
3240844e48
get code for most new endpoints to build (but DB not done)
2020-11-29 14:32:39 +01:00
Christian Grothoff
a6f98bab5a
first draft for POST /management/keys
2020-11-27 19:32:43 +01:00
Christian Grothoff
99de3a49c3
add tables for signing key revocation and for wire accounts
2020-11-27 14:46:48 +01:00
Christian Grothoff
ddcf679493
database schema change for #6175
2020-11-24 13:36:17 +01:00
Christian Grothoff
4f0e38ab12
more work on crypto RSA helper
2020-11-14 22:27:50 +01:00
Christian Grothoff
45d621f5ff
add -lgcov flag for coverage analysis
2020-11-12 22:25:59 +01:00
Christian Grothoff
522db4d98e
use --help instead of -h
2020-11-08 23:47:11 +01:00
Christian Grothoff
11627b38bb
use correct HTTP status codes:
2020-10-26 13:21:28 +01:00
Christian Grothoff
9c991f0a11
fix doxygen
2020-10-22 10:33:05 +02:00
Christian Grothoff
f486df99c8
fail if exchange-account configuration is definitively wrong ( #5642 )
2020-08-28 23:43:05 +02:00
Christian Grothoff
f581b54dfb
remove optimization combining two SQL statements on reserve update as it could not be shown to have a significant benefit at this time (only 2% fewer serialization failures). May deserve further evaluation in the future, if reserve update ever becomes crucial.
2020-08-13 20:49:48 +02:00
Christian Grothoff
26f72f8572
fix refund handling: allow refund increases for the same coin
2020-08-12 13:02:59 +02:00
Christian Grothoff
6503a9fe35
experimental fix to #6452 : merge two SQL statements into one
2020-08-10 08:12:01 +02:00
Christian Grothoff
c2a0196f16
postgres documentation suggests to avoid 'FOR UPDATE' with serializable transactions
2020-08-08 20:01:56 +02:00
Christian Grothoff
0e808b648a
fix misc typos
2020-07-22 23:56:52 +02:00
Christian Grothoff
ddf95c491a
remove unused/unusable coin_sig, return correct coin_pub in recoup-reveal failure context
2020-07-10 22:33:04 +02:00
Christian Grothoff
7cf67b3094
this invariant does not actually hold, i.e. if there is a /recoup request for a coin we never saw
2020-07-10 21:27:06 +02:00
Christian Grothoff
af0a2c32a3
work on more testing for recoup-refresh
2020-07-09 23:27:16 +02:00
Christian Grothoff
c3cd21508b
synchronize with latest GANA
2020-07-08 19:36:08 +02:00
Christian Grothoff
97dfbec081
add h_denom_pub to deposit signatures
2020-07-08 15:46:51 +02:00
Christian Grothoff
1ca062fc7a
introduce known_coin_id, alas not yet used
2020-07-08 12:35:50 +02:00
Christian Grothoff
81fec09268
simplify DB access: do not fetch fields we do not need
2020-07-08 12:35:01 +02:00
Christian Grothoff
ed5b98a2c2
GNUNET_free_non_null is gone, use GNUNET_free
2020-07-05 16:58:43 +02:00
Christian Grothoff
6eb32a65bf
fix error reporting/handling
2020-07-05 16:50:51 +02:00
Christian Grothoff
9ed9c01878
fix drop call
2020-07-05 16:50:12 +02:00
Christian Grothoff
142f6edaff
use unregister
2020-07-05 16:44:09 +02:00
Christian Grothoff
4f82885560
towards changing timestamp in deposit confirmation (tests failing)
2020-07-05 16:35:00 +02:00
Christian Grothoff
6772037321
fix invariant check
2020-04-24 00:52:33 +02:00
Christian Grothoff
727eccbe64
add invariant checks for #6214
2020-04-23 11:55:10 +02:00
Christian Grothoff
a039bf4d81
fix #6200
2020-04-22 21:21:48 +02:00
Christian Grothoff
44272bf1ce
adapations to GNUnet API change
2020-04-11 21:06:30 +02:00
Christian Grothoff
84a40be0bc
fix #6170 and rest of #6164
2020-04-08 23:52:01 +02:00
Christian Grothoff
50bc862a68
adapt to new GNUnet sign API ( #6164 )
2020-04-08 18:18:20 +02:00
Christian Grothoff
3404fda463
typos
2020-03-31 20:57:11 +02:00
Christian Grothoff
0582a6b567
fix auditor file parse problem
2020-03-29 04:03:06 +02:00
Christian Grothoff
163b23f27a
removing inappropriate i18n code
2020-03-27 20:39:15 +01:00
Christian Grothoff
b46dc6b981
avoid warning
2020-03-27 18:11:19 +01:00
Christian Grothoff
17cfbced1d
fix inconsistency in field naming
2020-03-27 17:32:39 +01:00
Christian Grothoff
9445343ec5
consider that deposit fee is discounted when refund fee is applied
2020-03-27 09:34:58 +01:00
Christian Grothoff
f052527ea5
fix recoup-refresh audit logic
2020-03-26 20:54:41 +01:00
Christian Grothoff
293c241ae7
fix SQL statements
2020-03-26 20:06:23 +01:00
Christian Grothoff
1b24e2f9bb
more statistics, make explicit table lock optional, can hurt performance badly
2020-03-20 18:38:57 +01:00
Florian Dold
c17f05b5fd
fix critical bug in transaction history query for recoup-refresh
2020-03-20 13:52:29 +05:30
Christian Grothoff
fd29d1866f
type fixes
2020-03-19 17:56:05 +01:00
Christian Grothoff
59a5b1ceb8
a first, untested stab at #6123 , committing intermediate result that passes (existing) tests
2020-03-17 22:13:15 +01:00
Christian Grothoff
c597af8334
adjust types to match latest GNUnet API
2020-03-17 01:09:16 +01:00
Christian Grothoff
bb7bd4b128
style fixes
2020-03-16 18:29:44 +01:00
Christian Grothoff
4322bbf2f1
move common logic to parse currency into libtalerutil
2020-03-15 20:08:38 +01:00
Christian Grothoff
6aca928cf8
expand DB test to cover #6124 better (passed immediately, does not explain the failure)
2020-03-14 19:45:43 +01:00
Christian Grothoff
83631bc98f
split reserve closing from main aggregation logic
2020-03-12 10:11:24 +01:00
Christian Grothoff
42bc3bc437
nicer IO error handling in exchangedb logic
2020-03-07 00:39:39 +01:00
Christian Grothoff
ffcadbff8c
code cleanup (comments, scoping, naming, indentation)
2020-03-07 00:28:07 +01:00
Christian Grothoff
52d41311ac
new coins => fresh coins, also move comments into the database itself
2020-03-05 23:49:47 +01:00
Christian Grothoff
a49bfef2fb
rename for consistency
2020-03-05 23:02:38 +01:00
Christian Grothoff
7dd52a0892
clean up comments, renaming for clarity
2020-03-05 22:38:19 +01:00
Christian Grothoff
642992f9c3
more renaming
2020-03-04 12:10:11 +01:00
Christian Grothoff
7f37017e91
more renaming
2020-03-04 11:51:00 +01:00
Christian Grothoff
6cc516427b
minor code clean up, renaming for consistency
2020-03-04 11:47:22 +01:00
Christian Grothoff
0a2b049864
big rename fest related to #6067 API renaming
2020-02-29 16:42:10 +01:00
Christian Grothoff
7eb0f35dca
rename
2020-02-24 12:37:09 +01:00
Christian Grothoff
d9ce8554e0
0000 is reserved for versioning
2020-02-24 12:35:41 +01:00
Christian Grothoff
7ee3c485bd
die more nicely if we are called when we should not be
2020-02-24 12:21:46 +01:00
Christian Grothoff
919861aea8
use flags in correct place
2020-02-17 20:05:40 +01:00
Christian Grothoff
cdaf1ce69b
rename SQL files to make filenames consistent with versioning name
2020-02-09 16:34:40 +01:00
Christian Grothoff
ae5583f044
avoid duping configuration, start to use PQ_connect_with_cfg
2020-02-09 15:53:28 +01:00
Christian Grothoff
232606fb57
add IF NOT EXISTS for indices
2020-02-03 23:42:47 +01:00
Christian Grothoff
52797133a4
fix signal initialization race on startup with shutdown
2020-01-20 12:10:44 +01:00
Christian Grothoff
85f10a86ff
handle case where get_session() is called from main, i.e. in combination with -f option
2020-01-20 11:15:19 +01:00
Florian Dold
26ad7c8191
spelling of 'mismatch'
2020-01-20 02:11:03 +01:00
Christian Grothoff
8ce6d32f63
beautification
2020-01-20 01:23:02 +01:00
Florian Dold
c87eb30e78
some comments on aggregator
2020-01-20 00:07:45 +01:00
Christian Grothoff
1f5c814b73
fix copyright headers as per CA
2020-01-19 19:22:43 +01:00
Christian Grothoff
d22a52cc7a
fix copyright headers as per CA
2020-01-19 19:21:58 +01:00
Florian Dold
cb58740fbd
remove redundant METHOD option, we can derive it from PAYTO_URI
2020-01-19 19:12:47 +01:00
Florian Dold
6074790867
config syntax for accounts
2020-01-19 18:48:23 +01:00
Florian Dold
fc8bdb9b97
consistently use payto URI instead of URL
2020-01-19 17:03:19 +01:00
Christian Grothoff
b90ce2e467
fix dropper
2020-01-18 23:51:17 +01:00
Christian Grothoff
db669ee495
payback -> recoup stranglers
2020-01-18 23:49:37 +01:00
Christian Grothoff
8dbc19758b
fix compiler warnings
2020-01-18 19:16:44 +01:00
Christian Grothoff
204b545db1
deal with wire fees from the past in the aggregator
2020-01-18 16:28:42 +01:00
Christian Grothoff
c87722791d
doxygen
2020-01-18 14:36:49 +01:00
Christian Grothoff
9317d6d69d
doxygen work
2020-01-18 13:23:17 +01:00
Christian Grothoff
dac255329f
doxygen
2020-01-18 13:23:17 +01:00
Florian Dold
572f350660
add fixme
2020-01-18 01:21:38 +01:00
Christian Grothoff
646ec32adb
doxygen fixes
2020-01-17 22:17:48 +01:00
Christian Grothoff
6c5155ca74
Florian says libeufin will reject reserve pubs from alternating bank accounts
2020-01-17 20:11:43 +01:00
Christian Grothoff
376277f7e8
remove bogus comment
2020-01-17 20:07:57 +01:00
Christian Grothoff
0328ab313b
use more specific SELECT in exchange aggregator on refunds instead of filtering in application logic later
2020-01-17 15:43:04 +01:00
Christian Grothoff
540b22ce1c
implement rh caching
2020-01-17 12:52:33 +01:00
Christian Grothoff
d3fb16b380
also cover drop/restart cases with psql logic
2020-01-17 12:25:11 +01:00
Christian Grothoff
4b16198b43
moved SQL elimination
2020-01-17 03:11:25 +01:00
Christian Grothoff
d4fded4b66
fix build system
2020-01-17 03:08:30 +01:00
Christian Grothoff
da0a2f39d0
GNUnet PQ API change
2020-01-17 02:24:21 +01:00
Christian Grothoff
8ea2af444f
more work towards DB versioning
2020-01-17 01:55:01 +01:00
Christian Grothoff
5b11d19b67
SQL logic towards DB versioning
2020-01-17 01:28:39 +01:00
Christian Grothoff
d61c2e400a
kill another FIXME
2020-01-16 23:49:34 +01:00
Christian Grothoff
0305cf5f9e
move function to libtalerexchangedb, as planned
2020-01-16 22:40:12 +01:00
Christian Grothoff
19922fa046
pointless to check denom_sig, do not return
2020-01-16 22:21:18 +01:00
Marcello Stanisci
90e1572039
Adapting wirewatch tests to new style.
2020-01-16 00:12:25 +01:00
Christian Grothoff
19d9369ff6
add another interpreter command to check incoming wire transfers
2020-01-15 15:44:24 +01:00
Marcello Stanisci
e77ccd0390
Preflight checks:
...
put preflight check inside exchangedb start()
function, and provide a preflight method for
auditordb.
2020-01-15 12:36:09 +01:00
Christian Grothoff
4d6ef1da29
eliminate libtalerwire
2020-01-13 18:16:01 +01:00
Christian Grothoff
9443c10d7f
major refactoring, eliminating wire-plugins and moving towards new bank API. main code compiles, testcases known to fail, code sure not to fully work yet
2020-01-11 15:20:17 +01:00
Christian Grothoff
385b3e77df
tighten formatting rules
2019-10-31 12:59:50 +01:00
Christian Grothoff
2696688aa3
fix compiler warnings
2019-10-29 20:57:18 +01:00
Christian Grothoff
c1ce2a03ed
fix NPE
2019-10-26 20:35:36 +02:00
Christian Grothoff
316a77a245
adaptions to libgnunetpq api change ( #5733 )
2019-10-11 23:28:25 +02:00
Christian Grothoff
b46fe9aa21
reindenting with uncrustify
2019-10-05 15:42:08 +02:00
Christian Grothoff
ebd2e7d763
fix leaks and unnecessary fetch of RSA signature on refresh/reveal
2019-09-15 12:39:15 +02:00
Christian Grothoff
5503c78160
remove unused, unclean perf logic (we should measure using the logic in the src/benchmark/ directory anyway)
2019-09-15 11:20:27 +02:00
Christian Grothoff
7dca6dacb9
incomplete leak fixes
2019-09-15 11:18:31 +02:00
Christian Grothoff
cbfa534194
fixing leaks in tests
2019-09-15 10:59:13 +02:00
Marcello Stanisci
8e70b3ff98
UNLINK -> unlink
2019-09-13 21:12:15 +02:00
Christian Grothoff
e179fb9ba0
fix leak
2019-09-05 03:53:47 +02:00
Christian Grothoff
d2b85341c4
auditor needs serial IDs in coin history
2019-09-03 03:45:18 +02:00
Florian Dold
613217be03
locking for known_coins
2019-08-26 03:09:38 +02:00
Florian Dold
eb55997084
re-format code
2019-08-25 16:18:24 +02:00
Christian Grothoff
aea244d241
drop dead kyc logic
2019-08-23 15:51:44 +02:00
Christian Grothoff
318f94bf90
update ignores
2019-08-22 15:30:02 +02:00
Christian Grothoff
4bf425c902
remove currency field from databases
2019-08-17 21:35:21 +02:00
Christian Grothoff
ccfe99a82d
more denom sig checking in auditor
2019-07-27 20:43:52 +02:00
Christian Grothoff
a654ceafba
make sure reserves are not gc'ed before legal expiration
2019-07-24 12:19:36 +02:00
Christian Grothoff
9e3f4bdd79
getting revocation/payback test with refreshed coins to pass
2019-07-24 11:57:03 +02:00
Christian Grothoff
5844a20f15
implement zombie check
2019-07-24 00:13:53 +02:00
Christian Grothoff
e75d552227
need the hash of coin_ev with an index for select
2019-07-23 23:26:56 +02:00
Christian Grothoff
7d43ad56d3
implement postges_get_old_coin_by_h_blind for #5777
2019-07-23 20:27:48 +02:00
Christian Grothoff
a83aa1f70e
include new payback-refresh possibilities in coin history generation
2019-07-22 13:28:48 +02:00
Christian Grothoff
721c1ee73e
extending postgres plugin with functions required to store payback data on refreshed coins for #5777
2019-07-21 20:15:11 +02:00
Christian Grothoff
19e0b66f87
first steps on #5777
2019-06-27 00:04:20 +02:00
Christian Grothoff
c9480d2287
export get-known-coin function from DB API
2019-06-26 21:34:52 +02:00
Christian Grothoff
9a5030b993
add test for json_wire.c logic
2019-06-26 20:43:08 +02:00
Christian Grothoff
3a2f72b4aa
implement /link signatures
2019-06-26 15:34:44 +02:00
Christian Grothoff
4f846eab96
fix #5756 , also change sepa->iban as per payto:// spec
2019-06-08 19:55:18 +02:00
Christian Grothoff
2f0015b803
add locking to avoid transaction retries
2019-06-05 21:26:27 +02:00
Christian Grothoff
466a7b7018
DCE
2019-06-04 11:33:06 +02:00
Christian Grothoff
69c1ca4d23
check return value, always
2019-06-03 00:42:32 +02:00
Christian Grothoff
39263a48d3
fix #5716
2019-05-09 12:55:22 +02:00
Christian Grothoff
de9fdf860a
replace denom_pub with denom_pub_hash in exchange API to reduce bandwidth
2019-05-02 21:16:51 +02:00
ng0
13cf7ee0cb
refactor for GNUNET_memcmp
2019-04-30 21:30:33 +00:00
Christian Grothoff
32a3a0ffb0
add post HTTP request check for hanging transactions
2019-04-18 14:38:32 +02:00
ng0
a02af1f505
Refactor test_exchangedb for GNUNET_memcmp
2019-04-15 20:23:53 +00:00
Marcello Stanisci
0d3758807b
Better calculation of # DKs
2019-04-11 00:23:28 +02:00
ng0
2699155b81
Refactor test_exchangedb_denomkeys for GNUNET_memcmp
2019-04-10 20:49:27 +00:00
ng0
f54d6294b9
Refactor test_exchangedb_auditors for GNUNET_memcmp
2019-04-10 20:49:11 +00:00
ng0
074b011d01
exchangedb/exchangedb_test: GNUNET_memcmp
2019-04-09 17:00:15 +00:00
ng0
5ec20870a4
Refactor test_exchangedb_denomkeys.c for GNUNET_memcmp
2019-04-08 20:42:05 +00:00
ng0
04acf37cb6
Refactor test_exchangedb_signkeys for GNUNET_memcmp
2019-04-08 18:58:08 +00:00
ng0
b669f0dfae
Refactor plugin_exchangedb_postgres for GNUNET_memcmp
2019-04-08 18:43:23 +00:00
ng0
9f18ec58bc
Refactor for GNUNET_memcmp
2019-04-08 18:15:16 +00:00
Christian Grothoff
a9268421d7
implementing private key deletion ( #5536 )
2019-03-11 03:24:32 +01:00
Christian Grothoff
c3b9ebc1ef
fix format string issue in taler-wire, complete work on #5536 revocation file issue (shift location of revocation file and change content to include denom hash)
2019-03-03 00:35:21 +01:00
Christian Grothoff
4dea098f54
actually disable 100 continue
2019-03-02 19:18:12 +01:00
Christian Grothoff
62e8c18390
Need to check for revoked keys as well before adding from DB.
...
Fixes ~13838.
2019-02-17 14:40:21 +01:00
Christian Grothoff
9413537e6d
add missing comments
2019-02-16 23:52:12 +01:00
Christian Grothoff
1a542148a6
implement iterate_denomination_info() call
2019-02-16 21:38:12 +01:00
Christian Grothoff
e56ed85f4f
preparations for #5536
2019-02-14 13:41:46 +01:00
Christian Grothoff
f224017505
fix a few more leaks
2018-11-25 15:38:58 +01:00
Marcello Stanisci
368f3a9a66
Minor changes to make tests pass/no-skip again.
2018-11-19 23:02:37 +01:00
Christian Grothoff
ac850bfcd2
add auditing of deposit confirmations to auditor ( #5447 )
2018-11-04 17:36:56 +01:00
Christian Grothoff
be9ff317dd
add operation to count number of known coins per denomination to exchangedb
2018-10-28 11:38:45 +01:00
Christian Grothoff
fb952babf6
reduce redundant data fetch ( #5444 )
2018-10-19 11:01:49 +02:00
Christian Grothoff
a56e2e34bc
fix #5434 (no more salt in exchange wire replies)
2018-10-06 15:05:06 +02:00
Christian Grothoff
efd65a63ac
fix preflight check failure
2018-08-19 18:40:13 +02:00
Christian Grothoff
1f7f187d9e
typo
2018-08-19 17:24:13 +02:00
Christian Grothoff
190a1fadaf
re-init logging so we can tell by PID who it is
2018-08-19 17:19:27 +02:00
Christian Grothoff
0df2028f96
make transactions smaller to try to reduce rollbacks
2018-08-19 16:01:57 +02:00
Christian Grothoff
1ee55ea838
make wirewatch properly handle (soft) failed transations
2018-08-11 10:55:50 +02:00
Christian Grothoff
b2f602b1ac
add more logging to more clearly see real conficts, add AUTO_EXPLAIN option to analyze query performance
2018-08-10 22:30:38 +02:00
Christian Grothoff
e0935af764
add a few more FOR UPDATE where appropriate
2018-08-10 19:12:57 +02:00
Christian Grothoff
bce6a80f38
try with row locking to avoid rollbacks (in theory, to be verified)
2018-08-09 22:27:43 +02:00
Marcello Stanisci
9942032ae9
Add "general_id" for merchants into the DB system.
2018-07-18 11:29:30 +02:00
Marcello Stanisci
cbed072b27
Remove convenience note.
2018-07-10 15:56:57 +02:00
Marcello Stanisci
4630d92bd0
Test last change.
2018-07-10 15:56:26 +02:00
Marcello Stanisci
dd9837ff8b
Put logic to delete KYC events for merchant
2018-07-10 15:53:35 +02:00
Marcello Stanisci
1d81c99dca
note
2018-07-10 15:39:44 +02:00
Marcello Stanisci
6801c690b7
Test last change.
2018-07-10 15:37:56 +02:00
Marcello Stanisci
61e737f03e
Put logic to sum KYC-monitored wire transfers.
2018-07-10 15:30:17 +02:00
Marcello Stanisci
109a4a5aa1
KYC DB methods: store a wire transfer.
2018-07-10 13:08:53 +02:00
Marcello Stanisci
8f6b8dbe97
Fix SELECT statement.
2018-07-10 11:52:13 +02:00
Marcello Stanisci
5e25d7dbcf
Improve KYC status callback.
...
More parameters for this callback.
2018-07-09 21:15:47 +02:00
Marcello Stanisci
01158a4817
Method to mark a merchant as NOT KYC-checked.
2018-07-09 10:55:31 +02:00
Marcello Stanisci
cd2538efb5
Method to retrieve the KYC status of a merchant.
2018-07-09 10:37:12 +02:00
Marcello Stanisci
7c94a71def
Method to mark merchant as KYC-checked.
2018-07-09 10:05:59 +02:00
Marcello Stanisci
c13973626b
KYC db methods.
...
Add method to insert a merchant into the monitored
entries, and associates a "FALSE" KYC status to it.
2018-07-09 09:44:16 +02:00
Marcello Stanisci
edf3738b3f
Put KYC-related low-level DB methods.
2018-07-06 15:24:03 +02:00
Marcello Stanisci
f033320300
Addressing #5291 .
2018-06-27 16:49:23 +02:00
Marcello Stanisci
6a8c5209c3
fix leaks.
2018-06-14 11:49:20 +02:00
Christian Grothoff
202827ebda
merging Florian's changes with my wire changes
2018-04-15 12:20:00 +02:00
Christian Grothoff
081ffe994a
expand logging of HARD errors in DB reserve inserts
2018-04-04 17:01:59 +02:00
Christian Grothoff
aea82d3dcd
allow auditor to operate per-account
2018-04-02 21:12:18 +02:00
Christian Grothoff
cb55c1a3af
Changing configuration structure to enable multiple accounts.
...
This change enables using multiple wire plugins at the same time.
Also, we now distinguish between the wire plugin (i.e. EBICS or
taler_bank) and the wire method (i.e. SEPA or x-taler-bank) that
the wire plugin is implementing. The "taler-bank" wire method
was renamed from "test" to "x-taler-bank".
This also changes the format of the /wire response of the exchange,
as we now need to return multiple accounts. Note that wire fees
are specified per wire method, not per wire account.
taler-exchange-keyup now automatically signs all of the /wire
responses in the location specified by the configuration.
Account identification in wire plugins was changed to use
payto://-URLs instead of method-specific JSON fields. Signing
and validation of /wire responses was moved from each wire
plugin to a generic validation method in libtalerutil (crypto)
or libtalerjson (for JSON-formatted inputs).
Convenience methods were added to generate JSON for wire accounts
(salting, signing).
Various section and option names were adjusted to streamline the
configuration and make it more consistent overall. Documentation
was updated as well.
2018-04-02 14:29:44 +02:00
Christian Grothoff
cb623d44cb
ensure transaction_name is also set for deferred_wire_out transaction, re-use postgres_start logic
2018-03-12 11:39:31 +01:00
Christian Grothoff
a166ca7fec
fix #5281 for exchange: do preflight check that an old transaction is no longer running by accident
2018-03-12 11:33:10 +01:00
Florian Dold
48fd50f922
exchangedb/postgres: handle duplicate wire transfers correctly
2018-02-05 21:49:35 +01:00
Christian Grothoff
2526143a4f
fix type for bool to match what postgres returns -- 1 byte instead of 4 bytes
2018-01-15 15:18:00 +01:00
Christian Grothoff
5587732f52
fix auditor to properly verify wire fee signatures and more gracefully handle arithmetic amount issue
2018-01-04 00:41:19 +01:00
Christian Grothoff
d9f16db0ef
add testcase for 'select_refunds_by_coin'
2018-01-03 01:10:23 +01:00
Christian Grothoff
41b5dde709
implement select_refunds_by_coin in exchangedb plugin
2018-01-02 14:43:15 +01:00
Christian Grothoff
ff0d4bb6eb
add TALER_EXCHANGE_refund2, make sure fee test initializes all amounts; update ChangeLog
2018-01-01 23:28:19 +01:00
Christian Grothoff
23cb1d46a8
fix enum confusion
2017-12-09 23:46:05 +01:00
Christian Grothoff
5540747ca2
patch to address #5183 : always round time before giving it to DB, tolerate DB answering without rounded time
2017-11-30 17:17:37 +01:00
Christian Grothoff
499247a480
fixing #5178
2017-11-29 20:23:08 +01:00
Christian Grothoff
029d3239e1
test select_deposits_missing_wire, fix uninitialized wire_deadline in deposit listing
2017-11-19 22:01:29 +01:00
Christian Grothoff
215c6db54c
true/false are keywords, use all-caps
2017-11-04 18:03:55 +01:00
Christian Grothoff
9807e5c50c
releasing v0.4.0
2017-10-18 15:21:06 +02:00
Christian Grothoff
0346e37504
actually properly implement API wrt return value handling, even if not used today
2017-10-17 19:53:44 +02:00
Christian Grothoff
272f1135fc
add exchangedb function for #4961
2017-10-16 17:57:29 +02:00
Christian Grothoff
7935349d35
check return value from create_denom_key_pair in test
2017-10-06 22:19:13 +02:00
Christian Grothoff
2f715c27f8
check return value from TALER_JSON_hash
2017-10-06 20:02:28 +02:00
Christian Grothoff
7cb48a720b
check json_array_append_new() return values, proper logging on errors
2017-09-26 12:30:24 +02:00
Christian Grothoff
e328b44172
clean up /keys cherry picking logic, including changing the last_issue_date value to be in seconds
2017-09-17 16:53:14 +02:00
Christian Grothoff
7aa23a39bd
add support for #4840 (/keys cherry picking) to libtalerexchange
2017-09-12 15:34:38 +02:00
Christian Grothoff
a301aadd28
add missing indices where needed
2017-07-14 18:18:23 +02:00
Christian Grothoff
3a0e643b68
add UNIQUE constraint on BIGSERIAL columns as that is not automatic in Postgres
2017-07-14 17:56:47 +02:00
Christian Grothoff
0ea012e316
make reserves_update more canonical, avoiding odd WHERE constraint that is unnecessary
2017-07-14 17:52:09 +02:00
Christian Grothoff
e1aa257ee1
select on denom_pub_hash instead of denom_pub as the hash is a primary key
2017-07-14 17:49:34 +02:00
Christian Grothoff
2c6956f32a
clean up PQ tables (renamings, remove redunant column), and primarily fix #4751
2017-07-14 17:43:07 +02:00
Christian Grothoff
5d6dfde044
fix #4955 in auditordb, clean up fix in exchangedb
2017-07-04 23:33:57 +02:00
Christian Grothoff
f9950799fc
eliminate dead macros
2017-07-04 23:28:03 +02:00
Christian Grothoff
560051e6b0
migrating auditordb to new API to address #5010
2017-06-24 23:06:44 +02:00
Christian Grothoff
c42d544736
convert rest of exchangedb plugin API to fix #5010-issues
2017-06-24 16:15:42 +02:00
Christian Grothoff
2d662e3f8e
fix #5010 for taler-exchange-aggregator
2017-06-24 12:15:11 +02:00
Christian Grothoff
0599b3b35b
need extra font to build on my system
2017-06-24 09:35:02 +02:00
Christian Grothoff
9aa2e94812
working on #5010 for aggregator
2017-06-24 00:41:41 +02:00
Christian Grothoff
6acb0271d6
address #5010 for wirewatch
2017-06-23 14:37:53 +02:00
Christian Grothoff
ff8633910d
adapt /admin/add/incoming to #5010
2017-06-23 14:13:54 +02:00
Christian Grothoff
d4884c0c60
Fix #5010 for keystate
2017-06-23 13:16:12 +02:00
Christian Grothoff
fbff951e7d
address #5010 for /refresh/melt
2017-06-22 11:49:40 +02:00
Christian Grothoff
053096475f
fixing #5010 for /refresh/reveal
2017-06-20 22:33:20 +02:00
Christian Grothoff
39db1ae5db
address #5010 for /refresh/link
2017-06-20 13:40:17 +02:00
Christian Grothoff
703c54a279
fix #5010 for /track/transaction
2017-06-19 20:46:24 +02:00
Christian Grothoff
a0c66e7919
fix #5010 for /track/transfer
2017-06-19 20:12:00 +02:00
Christian Grothoff
51ee20102f
address #5010 for /payback
2017-06-19 17:53:42 +02:00
Christian Grothoff
92e6744ac0
address #5010 for /refund
2017-06-19 16:07:34 +02:00
Christian Grothoff
dea0f7c411
fixing #5010 for /reserve/withdraw
2017-06-19 00:17:16 +02:00
Christian Grothoff
2d5b238beb
rework /reserve/history to address #5010
2017-06-19 00:17:15 +02:00
Christian Grothoff
2ec1b055a0
refactoring /deposit towards new transaction style ( #5010 )
2017-06-19 00:17:15 +02:00
Christian Grothoff
d2c7ef54a7
convert another function for #5010
2017-06-19 00:17:15 +02:00
Christian Grothoff
d66a29e383
convert another function for #5010
2017-06-19 00:17:15 +02:00
Christian Grothoff
75b0879f4e
convert another function for #5010
2017-06-19 00:17:15 +02:00
Christian Grothoff
0e6c4ba898
work on #5010
2017-06-15 22:10:12 +02:00
Christian Grothoff
b874a4c39b
remove dead or unnecessary macros
2017-06-15 21:52:09 +02:00
Christian Grothoff
0580168c0e
automated refunds of expired reserves now work and tested, fixes #4956
2017-06-11 17:04:54 +02:00
Christian Grothoff
a57cf67f31
a bit more work on #5010
2017-06-11 02:12:56 +02:00
Christian Grothoff
cad64767d9
match GNUnet API rename, work on #5010
2017-06-11 01:59:09 +02:00
Christian Grothoff
83b527e83b
start to use extended libgnunetpq API (not finished)
2017-06-01 22:48:33 +02:00
Florian Dold
85350ced32
rename proposal_data to contract_terms (see #4879 )
2017-05-29 01:15:41 +02:00
Christian Grothoff
5d58316d88
add missing drop, should fix #5007
2017-05-28 18:06:44 +02:00
Christian Grothoff
3a889eb7e5
more work on #5010
2017-05-25 19:54:35 +02:00
Christian Grothoff
a5873d0222
more work on #5010
2017-05-25 19:38:34 +02:00
Christian Grothoff
6029ed7db1
starting some initial work on #5010 , very incomplete
2017-05-25 02:06:03 +02:00
Marcello Stanisci
8ebfd1f643
fix auditor_iter, still a GNUNET_SYSERR lying around.
2017-05-24 10:50:02 +02:00
Marcello Stanisci
6912d60b63
tolerating bad denomination blobs when iterating over
...
auditor_base_dir
2017-05-18 14:03:37 +02:00
Christian Grothoff
d307ddba41
improve serializability error handling a bit
2017-05-14 15:44:47 +02:00
Christian Grothoff
8f854fb04c
add 'get_latest_reserve_in_reference' to exchangedb API
2017-05-08 13:31:28 +02:00
Christian Grothoff
20aad54c3e
remove dead transfer details field from reserves_in (API, exchangedb, etc.)
2017-05-08 13:18:36 +02:00
Christian Grothoff
5e36e520a5
updates to distinguish clearly between wtid and json transfer details
2017-05-08 12:44:40 +02:00
Christian Grothoff
76545519c6
updating DB schema for new wire history operations and future auditor checks of wire transfers
2017-05-05 13:41:32 +02:00
Christian Grothoff
27c921c7c4
finished implementing #4956 in principle, but not yet tested
2017-04-20 21:38:02 +02:00
Christian Grothoff
92d9ec69e6
expand testcase to cover new DB API
2017-04-20 09:04:20 +02:00
Christian Grothoff
487237381d
fix misc doxygen issues
2017-04-20 07:49:56 +02:00
Christian Grothoff
4bf5236959
implement plugin function for auditor to check reserve closures
2017-04-19 21:28:47 +02:00
Christian Grothoff
13a153616e
implementing database functions towards addressing #4956
2017-04-19 18:44:14 +02:00
Christian Grothoff
8f98a5ca6e
implement #4956-support in exchange db and exchange (to return information about closed reserves)
2017-04-19 14:40:43 +02:00
Christian Grothoff
164c125528
introducing closing fee
2017-04-17 14:01:55 +02:00
Christian Grothoff
f1372eda88
implement #4981
2017-04-16 18:34:31 +02:00
Christian Grothoff
7f7d8596ab
add missing table drop instruction
2017-04-16 17:25:53 +02:00
Christian Grothoff
62afe341b7
fix #4984
2017-04-16 17:21:26 +02:00
Christian Grothoff
58463df9d2
fix test_exchangedb denomkeys test
2017-04-10 17:01:20 +02:00
Christian Grothoff
368b9f8fcb
add test case for #3887
2017-04-10 16:37:08 +02:00
Christian Grothoff
70517233c9
improve test case coverage for exchangedb
2017-04-09 21:28:45 +02:00
Christian Grothoff
c298436020
expand testcase to cover TALER_EXCHANGEDB_denomination_key_revoke
2017-04-09 20:51:19 +02:00
Christian Grothoff
11b8710a5c
implement checking of denomination revocation status in auditor
2017-04-08 22:52:32 +02:00
Christian Grothoff
8e9d6c6fd1
extend exchangedb API to allow storing DK revocation information
2017-04-08 22:01:13 +02:00
Christian Grothoff
2948254d49
fix FTBFS in testcase
2017-04-07 22:46:30 +02:00
Christian Grothoff
209076ebd3
implement denomination key revocation logic in exchangedb and taler-exchange-keyup (part of #3887 )
2017-04-07 22:37:00 +02:00
Christian Grothoff
a2d89f2803
even more logging on DB issues
2017-04-07 11:24:16 +02:00
Christian Grothoff
4b5efa4e81
towards supporting #3887 in the auditor
2017-04-04 16:27:27 +02:00
Christian Grothoff
4b82a591c5
handle /payback in auditor when checking reserves
2017-04-04 15:38:58 +02:00
Christian Grothoff
29a2f9b345
implement rest of exchange logic for #3887 (return payback information in reserve and coin histories)
2017-04-03 16:40:31 +02:00
Christian Grothoff
b988eb92fc
implement tests for extended DB API
2017-04-02 22:34:45 +02:00
Christian Grothoff
b95522c1dd
expand DB plugin to return payback information as part of coin/reserve histories
2017-04-02 18:17:29 +02:00
Christian Grothoff
d8542d729a
implement returning /paybacks as part of reserve history ( #3887 )
2017-04-02 18:02:07 +02:00
Christian Grothoff
94dddbbe82
implementing insertion of payback information in postgres plugin (part of #3887 )
2017-04-02 00:05:20 +02:00
Christian Grothoff
b293bda4ac
implement DB plugin function to obtain reserve information, migrate logic to simplified API spec ( #3887 ); use plugin API in /payback DB implementation
2017-04-01 23:43:55 +02:00
Christian Grothoff
45d96d8168
minor auditor bugfixes
2017-03-19 13:53:50 +01:00
Christian Grothoff
ea1f2a1cd5
properly update 'last' to make sanity check effective
2017-03-19 11:09:32 +01:00
Christian Grothoff
0f5819de58
fix SQL error for pq 9.4
2017-03-19 10:59:54 +01:00
Christian Grothoff
d8b40ae9b8
reduce logging, improve compatibility with older postgres versions
2017-03-19 10:55:14 +01:00
Christian Grothoff
9b4d0634e1
simplify analysis by returning denom_pub with rest of coin transaction data instead of bothering fetching with coin history
2017-03-19 01:55:37 +01:00
Christian Grothoff
c75ac3b612
revise exchangedb structure eliminating duplicated wire transfer date from aggregations, instead joining it from wire_out when needed
2017-03-19 01:36:15 +01:00
Christian Grothoff
9cfe47493c
more work on auditor
2017-03-18 17:47:44 +01:00
Christian Grothoff
6a98b07ff2
add wire_out tracking to exchangedb, including deferred constraint, and to aggregator
2017-03-18 03:44:59 +01:00
Christian Grothoff
5a9d7ac835
adjust exchangedb plugin to provide wire_out tracking API
2017-03-18 02:40:27 +01:00
Christian Grothoff
06c2327558
verify deposit signature during audit
2017-03-17 14:09:58 +01:00
Christian Grothoff
6b5bfc57b5
more work on auditor, towards coin/denomination key checks
2017-03-15 19:28:05 +01:00
Christian Grothoff
6d798cecba
fix logging of BEGIN error
2017-03-14 15:36:19 +01:00
Christian Grothoff
5f5babca93
fix #4851
2017-03-08 13:15:09 +01:00
Christian Grothoff
3abca6d4e6
fix memory leaks in DB logic
2017-03-05 18:18:23 +01:00
Christian Grothoff
43cfb0eace
write test for new wire fee APIs ( #4931 )
2017-03-04 23:01:25 +01:00
Christian Grothoff
1c84b3d4af
implementing #4932
2017-03-04 18:09:39 +01:00
Christian Grothoff
6ab67a3a76
implementing #4929
2017-03-04 16:49:33 +01:00
Christian Grothoff
f406f96129
implement #4929 : add wire transfer fee to /wire (but not yet charged by aggregator)
2017-03-03 20:31:29 +01:00
Christian Grothoff
4d2faa5ec9
changing wire plugin specification from [exchange]WIREFORMAT to [exchange-wire-PLUGIN]enable=YES/NO
2017-03-03 19:24:08 +01:00
Florian Dold
49539d8f93
fix test cases (transaction_id related problems)
2017-02-07 18:15:26 +01:00
Florian Dold
5b1d513af6
fix SQL
2017-02-07 16:23:01 +01:00
Florian Dold
c319f1407f
fix SQL
2017-02-07 16:20:36 +01:00
Florian Dold
f8d11fc10f
typo
2017-02-07 16:19:04 +01:00
Florian Dold
61a19b4b4b
fix SQL statement after removing transaction_id
2017-02-07 16:18:34 +01:00
Florian Dold
92246c3e88
remove transaction_id, only one payment per proposal allowed
2017-02-07 15:09:10 +01:00
Florian Dold
8c820b6916
contract terminology renaming ( #4877 )
2017-02-06 15:43:06 +01:00
Florian Dold
f6fe309f5d
better logging when db connection fails
2016-11-21 17:53:07 +01:00
Christian Grothoff
f80a101366
fixing another test failing due to amount 1e-8 change
2016-11-18 16:34:00 +01:00
Christian Grothoff
7fd6be5cef
add idempotency checks for /refresh/reveal, fixing #4793
2016-11-17 16:37:40 +01:00
Christian Grothoff
e140ca9dce
handle more nicely the case that concurrent withdraws have changed history, causing us to see a different balance just before the commit; in this case, just retry the transaction; this should fix #4794
2016-11-17 15:53:16 +01:00
Christian Grothoff
94026368cd
select proper row of result set, not row 0 (in misc. database operations)
2016-11-17 15:12:01 +01:00
Christian Grothoff
cda939f331
fix exchangedb auditor functions to return proper serial ids
2016-11-17 14:59:44 +01:00
Christian Grothoff
e3ec645b0d
change rowid type to uint64_t everywhere; start with reserve-analysis in auditor
2016-11-17 14:31:44 +01:00
Christian Grothoff
ff95ccfb10
add note on #4794
2016-11-17 12:07:16 +01:00
Christian Grothoff
ddb5987c66
NULL-terminate array
2016-10-24 12:40:28 +02:00
Marcello Stanisci
6cd80e71f8
Finishing with #4709
2016-10-20 23:55:19 +02:00
Marcello Stanisci
ac554444b1
Adding auditor-related db functions in testcase. Each cb is just a stub.
2016-10-20 23:28:36 +02:00
Marcello Stanisci
006177a01f
@author
2016-10-18 12:34:57 +02:00
Marcello Stanisci
c015ffc7fc
closing #4709
2016-10-17 17:24:38 +02:00
Marcello Stanisci
f1f6e504d5
defining all but one exchangedb-for-audit functions
2016-10-17 16:39:56 +02:00
Marcello Stanisci
448a8be76d
starting with #4709
2016-10-17 01:48:59 +02:00
Christian Grothoff
25618c561e
check dbinit return value to not fail hard if DB not available
2016-10-10 16:54:37 +02:00
Christian Grothoff
808dc10bf4
add skeletons for new DB API functions
2016-10-09 01:17:37 +02:00
Christian Grothoff
6621ec8fb7
expanding exchange DB API to meet auditor requirements (not implemented, just adding the function signatures)
2016-10-09 00:57:31 +02:00
Christian Grothoff
26478f0f1f
fix having multiple primary keys
2016-10-06 16:33:07 +02:00
Christian Grothoff
0394080600
first draft for an auditor table structure
2016-10-06 16:30:19 +02:00
Christian Grothoff
df8c011b95
return execution time also from exchange C API ( #4578 )
2016-09-26 14:58:44 +02:00
Christian Grothoff
302a08b701
implement that /track/transaction returns execution time ( #4578 )
2016-09-26 14:50:49 +02:00
Christian Grothoff
265fc74b65
check return values, fix use of uninit memory on certain error handling paths
2016-09-23 16:52:13 +02:00
Marcello Stanisci
b3c4803c55
renaming local variable
2016-09-20 13:11:39 +02:00
Christian Grothoff
5a6a3da8e4
updating DB schema to profit from new KDF-based refresh variant
2016-08-11 23:28:33 +02:00
Christian Grothoff
0fd6cf19af
mostly working migration of the DH-seeded refresh variant
2016-08-07 23:21:49 +02:00
Christian Grothoff
745719dbc1
first half of changing refresh protocol to derive all key data from DH
2016-08-05 16:08:19 +02:00
Christian Grothoff
e800772c85
Merge branch 'master' of git+ssh://git.taler.net/var/git/exchange
2016-07-13 16:02:13 +02:00
Christian Grothoff
0973bca1e4
-be explicit about transaction mode
2016-07-13 16:02:08 +02:00
Marcello Stanisci
59c6856284
fixing #4594
2016-07-07 17:55:25 +02:00