Commit Graph

217 Commits

Author SHA1 Message Date
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
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
272f1135fc
add exchangedb function for #4961 2017-10-16 17:57:29 +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
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
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
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
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
70517233c9
improve test case coverage for exchangedb 2017-04-09 21:28:45 +02:00
Christian Grothoff
8e9d6c6fd1
extend exchangedb API to allow storing DK revocation information 2017-04-08 22:01:13 +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
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
6ab67a3a76
implementing #4929 2017-03-04 16:49:33 +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