Commit Graph

318 Commits

Author SHA1 Message Date
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
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
b65a2f77eb
sketch logic for wire-fee management endpoint 2020-11-28 18:56:29 +01:00
Christian Grothoff
3d8abcc041
more work on new endpoints 2020-11-28 17:18:22 +01:00
Christian Grothoff
4f0e38ab12
more work on crypto RSA helper 2020-11-14 22:27:50 +01:00
Christian Grothoff
26f72f8572
fix refund handling: allow refund increases for the same coin 2020-08-12 13:02:59 +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
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
81fec09268
simplify DB access: do not fetch fields we do not need 2020-07-08 12:35:01 +02:00
Christian Grothoff
4f82885560
towards changing timestamp in deposit confirmation (tests failing) 2020-07-05 16:35:00 +02:00
Christian Grothoff
3404fda463
typos 2020-03-31 20:57:11 +02:00
Christian Grothoff
f052527ea5
fix recoup-refresh audit logic 2020-03-26 20:54:41 +01:00
Christian Grothoff
c20078010b
fix comments, naming consistency issues 2020-03-07 14:35:32 +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
c6874cdb1b
fix comments 2020-03-04 12:04:28 +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
Florian Dold
801592b460
doxygen fix 2020-01-19 23:05:22 +01:00
Christian Grothoff
db669ee495
payback -> recoup stranglers 2020-01-18 23:49:37 +01:00
Christian Grothoff
5583b7a059
libraries were folded, fold headers as well 2020-01-18 14:24:55 +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
Christian Grothoff
376277f7e8
remove bogus comment 2020-01-17 20:07:57 +01:00
Christian Grothoff
ae30ff9f7e
bogus comment, fields no longer exist, logic problem ditto 2020-01-17 19:34:24 +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
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
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
ebd2e7d763
fix leaks and unnecessary fetch of RSA signature on refresh/reveal 2019-09-15 12:39:15 +02:00
Christian Grothoff
d2b85341c4
auditor needs serial IDs in coin history 2019-09-03 03:45:18 +02:00
Florian Dold
eb55997084
re-format code 2019-08-25 16:18:24 +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
03af37ef23
add ppc progress points for payback ops 2019-07-24 14:13:25 +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
7d43ad56d3
implement postges_get_old_coin_by_h_blind for #5777 2019-07-23 20:27: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
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
de9fdf860a
replace denom_pub with denom_pub_hash in exchange API to reduce bandwidth 2019-05-02 21:16:51 +02:00
Christian Grothoff
e56ed85f4f
preparations for #5536 2019-02-14 13:41:46 +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
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
Marcello Stanisci
6df3227c24
Wire-plugin interface.
Add methods signatures to register merchants at banking institutions.
2018-07-23 14:32:20 +02:00
Marcello Stanisci
9942032ae9
Add "general_id" for merchants into the DB system. 2018-07-18 11:29:30 +02:00
Marcello Stanisci
dd9837ff8b
Put logic to delete KYC events for merchant 2018-07-10 15:53:35 +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
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
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
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
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
41b5dde709
implement select_refunds_by_coin in exchangedb plugin 2018-01-02 14:43:15 +01:00
Christian Grothoff
499247a480
fixing #5178 2017-11-29 20:23:08 +01:00
Christian Grothoff
272f1135fc
add exchangedb function for #4961 2017-10-16 17:57:29 +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
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
0e6c4ba898
work on #5010 2017-06-15 22:10:12 +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
Florian Dold
85350ced32
rename proposal_data to contract_terms (see #4879) 2017-05-29 01:15:41 +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
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
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
5e8ef38680
fixing #4980 2017-04-18 21:05:27 +02:00
Christian Grothoff
62afe341b7
fix #4984 2017-04-16 17:21:26 +02:00
Christian Grothoff
70517233c9
improve test case coverage for exchangedb 2017-04-09 21:28:45 +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
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
cc3aa31732
implement #3887-handling in exchange-lib 2017-04-03 22:45:48 +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
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
21ae4cc212
add exchangedb API (but no implementation/tests) for /payback handling 2017-03-19 08:38:48 +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
382e3dfedb
implement more audit checks for refunds 2017-03-17 17:49:55 +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
65457396b3
fix use of uninit value 2017-03-05 17:36:58 +01:00
Christian Grothoff
6ab67a3a76
implementing #4929 2017-03-04 16:49:33 +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
Christian Grothoff
7fd6be5cef
add idempotency checks for /refresh/reveal, fixing #4793 2016-11-17 16:37:40 +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
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
8bbcf86678 more work on auditordb plugin API 2016-10-08 23:37:55 +02:00
Christian Grothoff
302a08b701 implement that /track/transaction returns execution time (#4578) 2016-09-26 14:50:49 +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
745719dbc1 first half of changing refresh protocol to derive all key data from DH 2016-08-05 16:08:19 +02:00
Marcello Stanisci
59c6856284 fixing #4594 2016-07-07 17:55:25 +02:00
Christian Grothoff
75c04b8af2 rename /deposit/wtid and /wire/deposits to /track/{transaction,transfer} for improved consistency 2016-06-09 19:18:13 +02:00
Christian Grothoff
eb1fdc105c implement GC logic (#3485) 2016-05-31 09:34:45 +02:00
Christian Grothoff
94e1679955 adding a few more uniqueness constraints to DB 2016-05-31 09:13:03 +02:00
Christian Grothoff
e68d07fc25 making DB scheme nice 2016-05-27 15:34:24 +02:00
Christian Grothoff
c0451f0982 fix #4533 for exchange (breaks interaction with bank for /admin/add/incoming) 2016-05-26 16:38:59 +02:00
Christian Grothoff
32bb3b14bf fix #4483 2016-05-24 20:13:31 +02:00
Christian Grothoff
e39beff272 fix init before use in new refund logic 2016-05-20 15:52:40 +02:00
Christian Grothoff
9391ed529c export function to free commit coin data 2016-05-19 18:37:31 +02:00
Christian Grothoff
8ff8c7b8c7 fix table dropping logic to ensure testcases run in fresh environment 2016-05-18 17:19:32 +02:00
Christian Grothoff
c8b9370413 fixing #3814 by removing ability to melt multiple oldcoins at the same time 2016-05-16 11:55:47 +02:00
Christian Grothoff
d55b2cd59d more work on test, noting what is left to do 2016-05-06 23:51:15 +02:00
Christian Grothoff
0c959e75d1 working on #3641: more on /refund implementation 2016-05-05 22:57:55 +02:00
Christian Grothoff
79c316f0d5 enable multiple wire methods to be used with aggregator, add command to run aggregator in testcase 2016-05-03 07:57:49 +02:00
Christian Grothoff
1cbba4bec1 fixing #4462: avoid temporary schemata altogether 2016-05-02 06:36:58 +02:00
Christian Grothoff
53e7547aaf removing broken and redundant testcase 2016-05-02 05:17:42 +02:00
Christian Grothoff
edd31c7415 implementing parsing of /refund requests 2016-04-20 02:50:52 +02:00
Christian Grothoff
ad8351c912 fix iterate_matching_deposits(), LIMIT does not work with variables in Postgres (#4360) 2016-04-06 10:22:09 +02:00
Christian Grothoff
b4c4f0b078 towards a testcase for aggregation logic 2016-03-30 22:56:17 +02:00
Christian Grothoff
0d1eced630 first refactoring of JSON logic to address #4150 and #4237 2016-03-19 15:23:11 +01:00
Christian Grothoff
b5cba32510 renaming mint->exchange 2016-03-01 15:35:04 +01:00