Commit Graph

883 Commits

Author SHA1 Message Date
Christian Grothoff
5f365133cd
add list exchanges command 2018-11-17 18:14:11 +01:00
Christian Grothoff
e42f014cff
use more const in taler_testing_lib.h 2018-11-17 17:19:02 +01:00
Christian Grothoff
cf1ce47863
more work towards testing deposit confirmations 2018-11-17 16:11:47 +01:00
Christian Grothoff
4d058c4eb7
work towards testing auditor deposit-confirmation API 2018-11-17 15:15:51 +01:00
Christian Grothoff
17edb09f38
extend testing logic to setup handle for the auditor 2018-11-11 16:45:09 +01:00
Christian Grothoff
debe0d05ad
improve auditor support in libtalertesting 2018-11-11 15:46:06 +01:00
Christian Grothoff
277f90bf2b
preparing test logic for new auditor requirements (incomplete) 2018-11-10 19:28:28 +01:00
Christian Grothoff
42a21ffc8e
add skeleton for auditor httpd tests 2018-11-10 13:58:02 +01:00
Christian Grothoff
ac850bfcd2
add auditing of deposit confirmations to auditor (#5447) 2018-11-04 17:36:56 +01:00
Christian Grothoff
a57080651d
implement /exchanges API in libtalerauditor 2018-10-28 16:44:48 +01:00
Christian Grothoff
af41624591
implement /exchanges handler in auditor-httpd 2018-10-28 12:03:07 +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
bd40aad7dc
track number of coins issued per denomination in auditor (not yet used) 2018-10-28 11:30:02 +01:00
Christian Grothoff
fb0d7110e8
extend auditordb with storing information about list of exchanges and their signing keys 2018-10-28 10:26:32 +01:00
Christian Grothoff
7b62deabac
split up progress points of auditor by coin/reserve/aggregation to minimize DB conflicts 2018-10-27 21:27:23 +02:00
Christian Grothoff
2024ccd2f9
complete auditor httpd side of deposit confirmation handling (auditordb not yet ready, though) 2018-10-27 19:26:17 +02:00
Christian Grothoff
24f6f15001
auditor-lib now builds 2018-10-27 18:58:44 +02:00
Christian Grothoff
60fe2395fd
clean up struct TALER_ExchangeSigningKeyValidityPS
(long-standing fixme: should not have contained the signature itself)
2018-10-27 18:39:12 +02:00
Christian Grothoff
69a8c16e58
finish first implementation of /version API call for the auditor 2018-10-24 11:56:51 +02:00
Christian Grothoff
d83c840d25
add skeleton header for auditor service 2018-10-24 11:38:00 +02:00
Marcello Stanisci
60c533562c
Fix compiler warnings.
This reverts changes made in b0d00823eb.  The warnings
are fixed by changing the functions signatures, instead of casting
their pointers.
2018-10-22 16:59:09 +02:00
Marcello Stanisci
b0d00823eb
Fix compiler warnings. 2018-10-22 12:29:34 +02:00
Christian Grothoff
4ad39b6b73
first skeleton of /deposit-confirmation API implementation; not yet complete, cannot work as-is, see FIXMEs 2018-10-21 20:52:26 +02:00
Christian Grothoff
4f37950a40
extend auditordb API with function to store deposit confirmations 2018-10-20 19:40:09 +02:00
Christian Grothoff
fb952babf6
reduce redundant data fetch (#5444) 2018-10-19 11:01:49 +02:00
Christian Grothoff
16b0c65470
keep a most sigs around when serializing 2018-10-13 19:45:50 +02:00
Christian Grothoff
504017bc65
intermediate patch towards implementing #5136 2018-10-13 19:14:11 +02:00
Christian Grothoff
85e22419c9
fix issue with 'meta' not being initialized - by getting rid of it 2018-10-13 18:08:51 +02:00
Christian Grothoff
c09c900922
implement deserialization logic for #5136 2018-10-13 08:15:02 +02:00
Christian Grothoff
a56e2e34bc
fix #5434 (no more salt in exchange wire replies) 2018-10-06 15:05:06 +02:00
Christian Grothoff
528faeab81
fix #5315, including more testing 2018-09-15 22:20:07 +02:00
Christian Grothoff
46e4ea696c
add sleep command 2018-09-15 19:17:06 +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
ddca1f5c68
add logic to allow fakebank transfers to be retried 2018-08-19 14:19:17 +02:00
Florian Dold
96e047b186
add remote benchmarking 2018-08-19 00:49:16 +02:00
Christian Grothoff
96c2fb8e10
implement retries for a few more commands 2018-08-11 11:29:02 +02:00
Christian Grothoff
abb84bd065
add variant that allows us to control the timeout 2018-08-10 22:29:43 +02:00
Christian Grothoff
866df0fb66
add retry support to withdraw test logic 2018-08-10 12:39:47 +02:00
Christian Grothoff
f17ad4de76
in parallel tests, only launch one exchange -- still broken: code attempts to launch multiple fakebanks 2018-08-09 10:33:21 +02:00
Marcello Stanisci
87b1141f87
Change wire-plugin method signature. 2018-07-23 15:23:28 +02:00
Marcello Stanisci
093dcc1c73
Add "cancel" method to the last commit. 2018-07-23 14:35:14 +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
Marcello Stanisci
b9fa9bc48b
Instruction pointer gets negative values too. 2018-06-28 21:35:43 +02:00
Marcello Stanisci
feec78dd56
Implementing #5306. 2018-06-20 22:16:24 +02:00
Marcello Stanisci
1d83e01320
batch CMD skeleton + include defs. 2018-06-20 11:20:48 +02:00
Marcello Stanisci
61fecfcd6f
Put lookup logic for meta-commands. 2018-06-20 11:08:56 +02:00
Marcello Stanisci
01f933bbdc
Get rid of "@param selector". 2018-05-29 12:43:34 +02:00
Marcello Stanisci
3cb0454dc0
Commenting the main "testing" header file. 2018-05-29 12:18:18 +02:00
Marcello Stanisci
11b3616355
Commenting the bank-lib "testing" header file. 2018-05-29 10:34:41 +02:00
Marcello Stanisci
b84ba7074b
New error code for a unknown reserve public key.
Specific to the /reserve/status API.
2018-05-22 12:42:02 +02:00
Marcello Stanisci
5019bd6914
Ask to withdraw on a expired reserve. 2018-05-18 16:54:36 +02:00
Marcello Stanisci
381ac75ae0
Trigger conflicting refunds 2018-05-17 15:50:50 +02:00
Marcello Stanisci
8ec523afbb
Triggering 409 Conflict for /refresh/reveal 2018-05-16 13:18:23 +02:00
Marcello Stanisci
08824870e6
Triggering doubled /refresh/melt, plus prepare ground for twisting the /refresh/reveal 2018-05-14 22:32:13 +02:00
Marcello Stanisci
40b27a8210
Tests flexibility.
It is now possible to launch the bank from
the testing-lib regardless of it being served
via HTTP or UWSGI.
2018-05-04 15:46:07 +02:00
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
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
Marcello Stanisci
274ec6191f
error code for merchant's /refund 2017-06-14 18:44:44 +02:00
Marcello Stanisci
d7e7cf517a
error code for merchant's /refund 2017-06-14 15:13:13 +02:00
Marcello Stanisci
19633bedbb
error code for merchant's /refund 2017-06-14 11:41:23 +02:00
Marcello Stanisci
5176b25085
error code for merchant's /refund 2017-06-14 11:24:53 +02:00
Christian Grothoff
16b7c26605
modify fakebank API to allow arbitrary subjects, not just well-fromed WTIDs 2017-06-11 15:25:59 +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
4694810d9d
free auditor data on shutdown (#5050) 2017-06-04 12:13:30 +02:00
Christian Grothoff
1e30d60a25
fixing misc doxygen issues 2017-06-04 11:30:43 +02:00
Christian Grothoff
b217058821
add version to keydata returned by libtalerexchange (#5035) 2017-06-01 23:00:06 +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
7c28823caf
handle base32-wire transfer subject being followed by space+exchange base url in wire plugin and fakebank 2017-05-16 11:05:00 +02:00
Christian Grothoff
e6d09d2568
handle error code returned by TALER_amount_subtract in new error case TALER_EC_PAYBACK_COIN_BALANCE_NEGATIVE 2017-05-09 13:33:26 +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
2dcaffe451
move responsibility of converting to wire subject to reserve_pub into wire plugin 2017-05-08 12:57:00 +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
18a020dd02
implement fakebank support (incl. tests) for #5005/#4964/4959 2017-05-07 21:11:56 +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
2c05a4b278
more work on wirewatch 2017-05-05 12:17:48 +02:00
Christian Grothoff
da75b30a25
starting to implement taler-exchange-wirewatch 2017-05-05 11:11:03 +02:00
Christian Grothoff
f4df63e448
adding support for transaction history to wire plugin API (#4959) 2017-05-04 18:35:53 +02:00
Christian Grothoff
234dbcc7b7
switch bank api to new authentication method API 2017-05-04 15:18:43 +02:00
Christian Grothoff
405859d068
implement #4993 2017-05-04 11:19:00 +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
c15ff78f0c
implementing #4956-support in libtalerexchange 2017-04-19 14:15:48 +02:00
Christian Grothoff
5e8ef38680
fixing #4980 2017-04-18 21:05:27 +02:00
Christian Grothoff
164c125528
introducing closing fee 2017-04-17 14:01:55 +02:00
Christian Grothoff
62afe341b7
fix #4984 2017-04-16 17:21:26 +02:00
Christian Grothoff
4d4ac495a4
test case of /payback done twice, handle 403-case in /payback handler, thereby also testing coin-with-payback history case in test logic (fixes #3887) 2017-04-16 02:39:11 +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
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
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
21d2613287
first sketch at db module implementation for #3887 2017-03-29 16:42:38 +02:00
Christian Grothoff
722577835f
implement /payback-functions in libtalerexchange.so 2017-03-29 15:44:59 +02:00
Christian Grothoff
b38134ea4a
implement /payback parsing and signature verification 2017-03-29 14:43:54 +02:00
Christian Grothoff
73321daf5a
deal with persisting wire/aggregation fee data in auditor 2017-03-20 04:17:06 +01:00
Christian Grothoff
3fde028650
fix auditor progress point issue 2017-03-20 02:45:33 +01:00
Christian Grothoff
a38fa32484
fixing misc auditor issues 2017-03-20 02:29:33 +01: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
a3bb69fb1e
add structs and message types for future implementation of #3887 2017-03-19 07:50:16 +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
b42ce7e80a
alpha-renaming to better describe what functions/tables do 2017-03-19 01:09:00 +01:00
Christian Grothoff
e4a4a7e193
finish sync_denomination() implementation 2017-03-18 23:03:00 +01:00
Christian Grothoff
0f5ce284c4
deal with some minor FIXMEs in auditor 2017-03-18 22:38:31 +01:00
Christian Grothoff
69ac028a13
add required separate risk balance per denomination to auditordb 2017-03-18 22:20:48 +01:00
Christian Grothoff
a9f9161c3a
simplify auditordb API to match actual requirements better 2017-03-18 22:06:27 +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
8ea9b0dad7
more work on coin/denomination audit 2017-03-17 17:17:07 +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
36195e85ea
skeleton logic for analyze_coins() 2017-03-15 14:19:57 +01:00
Christian Grothoff
54b3a9e930
add required rowid for diagnostics 2017-03-15 13:36:47 +01:00
Christian Grothoff
a3db0d4a8c
introduce 'struct TALER_AUDITORDB_ProgressPoint' 2017-03-15 13:12:45 +01:00
Christian Grothoff
ae3e850c94
update getopt config parsing style to match 'getopt' GNUnet branch API change 2017-03-15 12:01:06 +01:00
Christian Grothoff
296f919ce4
more work on auditor, listing open TODOs 2017-03-14 18:00:17 +01:00
Marcello Stanisci
b06e314dbb
Adding new error code. 2017-03-10 17:43:27 +01:00
Christian Grothoff
0214e426a6
add amount division API and test case 2017-03-06 16:35:30 +01:00
Christian Grothoff
326f3b2a43
add EC codes for merchant 2017-03-05 18:51:47 +01:00
Christian Grothoff
65457396b3
fix use of uninit value 2017-03-05 17:36:58 +01:00
Christian Grothoff
0e15a99504
implement #4937: allow extraction of fees 2017-03-04 18:45: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
Christian Grothoff
397c718809
implementing #4921: add base URL to wire transfers 2017-03-02 06:26:12 +01:00
Marcello Stanisci
1c08e3dcb1
error code for instance unknown 2017-02-27 11:55:37 +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
Marcello Stanisci
26d5e08816
h_proposal_data -> hash 2017-02-06 13:54:17 +01:00
Marcello Stanisci
3ead839e3c
h_contract->h_proposal_data 2017-02-04 11:07:15 +01:00
Marcello Stanisci
74fdd928c7
typo 2017-02-03 18:32:03 +01:00
Marcello Stanisci
a60c5e9c97
Renaming's first steps. 2017-02-03 18:26:47 +01:00
Florian Dold
d2302da332
remove redundant fields from ContractPS (#4859) 2017-01-13 16:47:09 +01:00
Florian Dold
c631ae1b60
elaborate on ContractPS 2017-01-12 15:40:43 +01:00
Florian Dold
0589d265ec
comment 2017-01-12 14:58:39 +01:00
Christian Grothoff
a580ac1c42
disable MHD deprecation warnings as we want to be compatible to older releases that simply have not the new symbols (fixing #4845) 2017-01-03 18:41:19 +01:00
Marcello Stanisci
21df5cb161
Error codes for /map/out 2016-12-12 15:05:05 +01:00
Marcello Stanisci
67fdaaef84
db error code for /map/in 2016-12-09 14:55:36 +01:00
Marcello Stanisci
b536d82f90
Syntax error 2016-12-09 14:40:24 +01:00
Marcello Stanisci
c328d745a3
Error code for /map/in (imported by merchant backend) 2016-12-09 14:39:06 +01:00
Christian Grothoff
7d6b8d53d5
addressing #4803: nicer error messages for invalid wire formats 2016-11-18 18:29:18 +01:00
Florian Dold
a80d94ea07 change fractional base to 1e8 2016-11-18 14:58:16 +01:00
Christian Grothoff
7fd6be5cef
add idempotency checks for /refresh/reveal, fixing #4793 2016-11-17 16:37:40 +01:00
Christian Grothoff
bb7c58921e
if reserve history computation reveals database inconsistency, do not abort but return proper error code 2016-11-17 15:33:31 +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
tg(x)
247b8e33b3 auditordb postgres plugin: auditor_progress implementation + tests 2016-11-06 14:24:17 +01:00
Christian Grothoff
02d28bc81c
add missing functions to deal with auditor_progress to the auditordb API 2016-11-06 13:39:22 +01:00
Marcello Stanisci
4f304b2745 typo 2016-11-04 14:23:44 +01:00
Marcello Stanisci
7177c5c015 Merge branch 'master' of taler.net:exchange 2016-11-04 14:20:50 +01:00
Marcello Stanisci
1244bcf3a6 Adding error code for conflicting /track/transfer 2016-11-04 14:20:42 +01:00
tg(x)
59fa9d8255 auditordb postgres plugin: sql fixes, callback return value 2016-11-04 00:34:09 +01:00
tg(x)
20a8a569ad auditordb postgres plugin 2016-11-03 13:01:36 +01:00
Marcello Stanisci
88df33632f typo 2016-10-27 11:07:29 +02:00
Christian Grothoff
19f4c50dab
rename and move TALER_EXCHANGE_json_get_error_code to TALER_JSON_get_error_code 2016-10-20 21:19:01 +02:00
Christian Grothoff
63c5706b64
remove redundant exchange_api_common.h header 2016-10-20 21:11:20 +02:00
Christian Grothoff
7341b21fa3
return taler-specific error codes from C API as well
(#4497/4705)
2016-10-20 21:00:40 +02:00
Christian Grothoff
e7875fb261
introducing error codes for the merchant backend 2016-10-20 15:11:12 +02:00
Christian Grothoff
c40a098a91 Merge branch 'master' of ssh://taler.net/exchange 2016-10-20 15:07:56 +02:00
Christian Grothoff
0f4160d4a4
introducing error codes for the merchant backend 2016-10-20 15:07:42 +02:00
Marcello Stanisci
9d5d092dc3 Reverting #4521, pay_deadline strictly regards merchant's policy. 2016-10-20 11:48:47 +02:00
Marcello Stanisci
0830751534 Merge branch 'master' of taler.net:exchange 2016-10-19 23:07:17 +02:00
Marcello Stanisci
9b6717ae3a addressing #4521 2016-10-19 23:07:07 +02:00
Christian Grothoff
70462f0b94
implement #4497/#4705 -- addition of unique numeric error codes -- for the server-side of the exchange 2016-10-18 23:05:29 +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
8bbcf86678 more work on auditordb plugin API 2016-10-08 23:37:55 +02:00
Marcello Stanisci
f03c1175df typo 2016-10-07 18:21:12 +02:00
Christian Grothoff
56efe31c40 Merge branch 'master' of ssh://taler.net:/var/git/exchange 2016-10-07 02:52:39 +02:00
Christian Grothoff
b68adb93c6 adding skeleton code for auditor 2016-10-06 15:17:10 +02:00
Marcello Stanisci
a42155d552 Adding struct to be signed over related to #4702 2016-10-03 14:08:14 +02:00
Marcello Stanisci
9cea8197b5 defining merchant's signature for successful payments 2016-10-03 10:32:17 +02:00
Marcello Stanisci
0b8081fe22 Adding receiver in TALER_ContractPS (#4651) 2016-09-26 16:55:10 +02:00
Christian Grothoff
77f11bcfac include execution time in signed message for /track/transfer (#4578) 2016-09-26 15:08:00 +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
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
Marcello Stanisci
59c6856284 fixing #4594 2016-07-07 17:55:25 +02:00
Christian Grothoff
389c18c18c add file for error codes 2016-06-14 09:50:59 +02:00
Christian Grothoff
6cd71bebbf implement #4569 2016-06-13 16:36:10 +02:00
Christian Grothoff
3672005350 rename source files to match API URIs 2016-06-09 21:43:10 +02:00
Christian Grothoff
bb511560fe move TALER_TrackTransferDetails to taler_crypto_lib.h as it is not exchange-specific 2016-06-09 21:03:07 +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
a7379930d2 turn libfakebank into libtalerfakebank so we can use it for testcases in the merchant 2016-06-08 11:35:28 +02:00
Christian Grothoff
166352e87e add exchange_pub to callbacks 2016-06-07 15:14:44 +02:00
Christian Grothoff
ce3d7c360b add support for /keys cache control (#4036) 2016-05-31 14:32:06 +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
Marcello Stanisci
925097c86d adding --pool-size option to benchmark,
correcting comments
2016-05-30 17:16:01 +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
951ce5ef32 fix #4537 2016-05-25 19:12:44 +02:00
Christian Grothoff
32bb3b14bf fix #4483 2016-05-24 20:13:31 +02:00
Florian Dold
8c3ffbf2a3 allow access to raw /keys response 2016-05-24 02:28:15 +02:00
Christian Grothoff
93aaf1d172 extending interpreter to cover refund (but not used yet) 2016-05-20 17:15:50 +02:00
Christian Grothoff
e39beff272 fix init before use in new refund logic 2016-05-20 15:52:40 +02:00
Christian Grothoff
43cfa77248 enforce wire deadline >= refund_deadline in API 2016-05-20 15:36:08 +02:00
Christian Grothoff
9391ed529c export function to free commit coin data 2016-05-19 18:37:31 +02:00
Christian Grothoff
763c8ab512 rename GNUNET_CRYPTO_rsa_BlindingKey to GNUNET_CRYPTO_RsaBlindingKey following GNUnet API change 2016-05-19 15:11:05 +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
95d338f6cc adding test for auditors API 2016-05-06 19:39:31 +02:00
Christian Grothoff
3526c44a38 refactor code to write signing keys in same module where we read them 2016-05-06 18:33:02 +02:00
Christian Grothoff
0c959e75d1 working on #3641: more on /refund implementation 2016-05-05 22:57:55 +02:00
Christian Grothoff
6b1f4904ef export transaction history check function 2016-05-05 14:43:13 +02:00
Christian Grothoff
4a031a692b implementing /refund API (#3848) 2016-05-04 09:42:52 +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
b98a204562 fix #4184 2016-05-02 05:10:40 +02:00
Christian Grothoff
21188ca703 Merge branch 'master' of ssh://taler.net:/var/git/exchange 2016-04-21 20:00:40 +02:00
Christian Grothoff
77e9e3a7f6 sketching out refund API implementation 2016-04-20 03:05:16 +02:00
Christian Grothoff
edd31c7415 implementing parsing of /refund requests 2016-04-20 02:50:52 +02:00
Christian Grothoff
f693e25793 introduce refund fee 2016-04-20 01:50:26 +02:00
Florian Dold
37be942f48 do not include gnunet's platform header in our public headers 2016-04-19 13:54:59 +02:00
Christian Grothoff
7496a03978 replace bank_api_context with libgnunetcurl 2016-04-17 18:03:01 +02:00
Christian Grothoff
1ed567a14b replace exchange_api_context with libgnunetcurl 2016-04-17 17:45:15 +02:00
Christian Grothoff
3abb3bc372 use user_config_file as well 2016-04-16 13:10:29 +02:00
Christian Grothoff
ecc5b6791f fix taler-exchange-keyup way of loading configuration 2016-04-16 12:37:37 +02:00
Christian Grothoff
ce9dd3365d implement signing of /wire/deposit replies (#4135) 2016-04-11 19:54:54 +02:00