Commit Graph

567 Commits

Author SHA1 Message Date
Christian Grothoff
202827ebda
merging Florian's changes with my wire changes 2018-04-15 12:20:00 +02:00
Florian Dold
1b3bf1a001
disable /keys cherrypicking until #5315 is addressed 2018-04-06 00:58:15 +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
Marcello Stanisci
ed8dfac6db
helpers return exchange base url from config. 2018-02-28 16:15:18 +01:00
Marcello Stanisci
b593d416d6
Bank-lib tests, using the new (libraries-based) style. 2018-02-26 14:12:46 +01:00
Marcello Stanisci
8d5cc9f550
denom pub trait made 'const' 2018-02-21 16:58:18 +01:00
Marcello Stanisci
1e6efdc5f0
no need for a "hash trait" here. Removing code. 2018-02-21 15:13:58 +01:00
Marcello Stanisci
377f35fd7d
adding command to wire transfer to exchange by
reading a merchant instance's (reserve tip) private
key in order to construct the subject.
2018-02-21 12:23:45 +01:00
Marcello Stanisci
b09bd97c3b
test command "fakebank transfer"
takes exchange url in arguments
2018-02-21 09:56:49 +01:00
Marcello Stanisci
6ac3c6cd4d
bank-check test cmd offers exchange url as trait. 2018-02-19 15:38:21 +01:00
Marcello Stanisci
844f39c85e
hash and public key traits. 2018-02-17 15:39:44 +01:00
Marcello Stanisci
7ffc6d0fb9
hash code trait 2018-02-16 11:59:32 +01:00
Marcello Stanisci
513a22c344
offering amount _objects_ as traits (a string version of
it was already implemented).  "Withdraw" command uses it.
2018-02-16 10:57:23 +01:00
Marcello Stanisci
912fd77aa2
fix paste leftover 2018-02-15 16:39:00 +01:00
Marcello Stanisci
d78f66d5e4
adding "order id" trait 2018-02-15 16:36:00 +01:00
Marcello Stanisci
5b1e17617f
offer url trait 2018-02-14 12:46:01 +01:00
Marcello Stanisci
fe6960cce8
Implement new traits-based tests. 2018-02-12 16:12:07 +01:00
Florian Dold
3859a40f24
url construction helpers 2018-01-31 17:47:01 +01:00
Florian Dold
e318edb5e5
use url instead of uri consistently 2018-01-30 01:38:04 +01:00
Christian Grothoff
afe945167a
new error code for #5262 2018-01-22 21:59:14 +01:00
Florian Dold
9f15044d5f
error codes for merchant /check-payment 2018-01-22 13:41:32 +01:00
Christian Grothoff
de092c2c2b
make fakebank_url more robust 2018-01-21 20:10:05 +01:00
Christian Grothoff
652bb0f9c4
finish simplifying main by adding more helpers and macros 2018-01-21 19:57:09 +01:00
Christian Grothoff
3f930c0f6a
more wire transfer variants 2018-01-21 19:21:45 +01:00
Christian Grothoff
a252daa6a1
factor out more helpers 2018-01-21 19:11:27 +01:00
Christian Grothoff
d09beecc8f
integrate sigpipe with ain loop 2018-01-21 18:49:47 +01:00
Christian Grothoff
bba0ec72fa
finish new withdraw command implementation 2018-01-21 16:27:58 +01:00
Christian Grothoff
6ba7747ac3
more traits 2018-01-21 16:01:08 +01:00
Christian Grothoff
82b0eda3ef
new test interpreter architecture, first draft 2018-01-21 15:39:48 +01:00
Christian Grothoff
cd0f9e8f8d
Florian is right, this should be a 409, not 500 2018-01-19 02:29:27 +01:00
Christian Grothoff
5c3d25eb29
implement #5254 2018-01-18 16:55:16 +01:00
Christian Grothoff
c300b88af2
remove dead error code 2018-01-16 11:46:05 +01:00
Christian Grothoff
b31d803c16
add timestamp for /reserve/status deposit events 2018-01-15 15:19:31 +01:00
Florian Dold
acc3a41df8
add pay session signature 2018-01-04 13:47:03 +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
ff0d4bb6eb
add TALER_EXCHANGE_refund2, make sure fee test initializes all amounts; update ChangeLog 2018-01-01 23:28:19 +01:00
Christian Grothoff
4f2ad1051b
change 'f' to 'contribution' in /deposit 2018-01-01 22:28:49 +01:00
Marcello Stanisci
346c351e5f
redefining/adding bank error codes 2017-12-22 21:22:57 +01:00
Marcello Stanisci
8021e7064d
adding more bank's error codes 2017-12-15 16:17:00 +01:00
Christian Grothoff
c182b960f8
remove _admin APIs from libtalerexchange 2017-12-14 13:42:07 +01:00
Christian Grothoff
0f5ef01dd3
nicer error reporting 2017-12-14 13:36:59 +01:00
Christian Grothoff
2d658cef65
need a few more error codes 2017-12-09 23:58:57 +01:00
Christian Grothoff
042616899f
largely fix #5077 2017-12-06 19:24:00 +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
78b77ee8d5
properly document TALER_SIGNATURE_MERCHANT_REFUND_OK 2017-11-30 11:21:51 +01:00
Christian Grothoff
499247a480
fixing #5178 2017-11-29 20:23:08 +01:00
Florian Dold
aa79aca12f
Add error code TIP_QUERY_TIP_ID_UNKNOWN 2017-11-27 15:25:02 +01:00
Christian Grothoff
92d616b076
add last_timestamp to wire auditor progress point; fix confusion in param/result specs between 'auto' and 'absolute time' 2017-11-19 22:12:30 +01:00
Christian Grothoff
8440de1333
work on #5077: reserve_pub vs. wtid issue, add reject functionality to wire plugin API (with stub implementations for now) 2017-11-12 15:46:52 +01:00
Christian Grothoff
c5f9c0ca88
work on making auditor reports nicer (#4962) 2017-11-06 00:03:08 +01:00
Christian Grothoff
b6907bb6bf
clarify soft DB error code - they now could be returned 2017-11-02 14:19:38 +01:00
Christian Grothoff
f3939081d3
define more error codes 2017-11-02 14:03:18 +01:00
Christian Grothoff
0b580d8f68
helps to keep enum values distinct 2017-11-01 12:42:24 +01:00
Christian Grothoff
4f212a11ce
add status code 2017-11-01 12:36:32 +01:00
Christian Grothoff
beeece1d6a
add TALER_EXCHANGE_reserve_withdraw2 function for easy withdrawal of tips 2017-10-31 14:45:15 +01:00
Christian Grothoff
2f2930f1ba
major API refactoring, adding planchet generation and coin extraction APIs to the Taler crypto library, thereby simplifying code in withdraw, refresh, tipping, payback and testcases; slight API incompatibilities to previous versions are introduced 2017-10-31 14:02:54 +01:00
Christian Grothoff
ec8146de92
rename: TALER_setup_planchet -> TALER_planchet_setup_refresh 2017-10-31 12:44:17 +01:00
Christian Grothoff
a491a4709a
rename: TALER_FreshCoinP -> TALER_PlanchetSecretsP, and TALER_setup_fresh_coin -> TALER_setup_planchet 2017-10-31 12:38:14 +01:00
Christian Grothoff
288c7160d7
more error codes for tipping 2017-10-24 00:21:07 +02:00
Christian Grothoff
2cb6c5b9fe
starting with error codes for tipping API 2017-10-22 19:07:07 +02:00
Christian Grothoff
272f1135fc
add exchangedb function for #4961 2017-10-16 17:57:29 +02:00
Christian Grothoff
7a232a0941
add references to Mantis bugs to TODO/FIXME comments in code 2017-10-12 20:56:16 +02:00
Christian Grothoff
cb13afaf54
complete first pass of taler-wre-auditor's wire-out audit logic 2017-10-12 20:46:42 +02:00
Christian Grothoff
332a37292c
handle (most) TEH_KS_acquire errors 2017-10-06 21:54:55 +02:00
Christian Grothoff
6a4f6b1836
also store wire position in auditordb 2017-09-30 20:47:52 +02:00
Christian Grothoff
96e04d33e1
update auditordb API to support logic for taler-wire-auditor 2017-09-30 20:29:19 +02:00
Christian Grothoff
a0d410e01b
fix mapping of auditor sigs to DKs, avoid one hash operation by caching hash value 2017-09-26 15:05:27 +02:00
Christian Grothoff
b46735fbaf
add argument to TALER_EXCHANGE_check_keys_current() to allow forcing the download 2017-09-13 14:08:11 +02:00
Christian Grothoff
6d7645a99b
theoretically finished implementation of #4840 (/keys cherry picking), but by far not done testing 2017-09-13 01:14:31 +02:00
Christian Grothoff
7aa23a39bd
add support for #4840 (/keys cherry picking) to libtalerexchange 2017-09-12 15:34:38 +02:00
Marcello Stanisci
26486e6f21
error code for merchant /pay db transaction 2017-07-25 11:56:15 +02:00
Christian Grothoff
3e111f4263
introducting error code for merchant detecting wire fee inconsistency 2017-07-21 15:18:59 +02:00
Christian Grothoff
1e8d0eb462
implement #5114 2017-07-20 10:00:42 +02:00
Marcello Stanisci
34887e55eb
importing a 'PS' struct from merchant 2017-07-05 14:12:02 +02:00
Marcello Stanisci
932d2b3a25
signature macro to confirm refunds 2017-07-05 09:33:23 +02:00
Christian Grothoff
d77c4160ec
implement logic to check protocol version compatibility (#5035) 2017-07-01 14:15:26 +02:00
Christian Grothoff
f048de9782
preparations for #4840 2017-06-29 20:46:52 +02:00
Christian Grothoff
0ba88250a9
expand set of EC codes to better cover merchant /refund (likely still not perfect) 2017-06-29 14:21:49 +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
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
87e16541af
incomplete work on fixing #5010 for /refresh/melt 2017-06-20 23:17:57 +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