Commit Graph

703 Commits

Author SHA1 Message Date
Christian Grothoff
2a01aaa917
more error codes for the merchant 2019-01-10 14:31:47 +01:00
Marcello Stanisci
b657910c19
Send SIGUSR1 for new keys reloading. 2019-01-09 17:48:44 +01:00
Christian Grothoff
acb4b8321c
disambiguate error scenarios better 2018-12-22 12:37:47 +01:00
Christian Grothoff
7b10ad0851
fix numbering of EC codes, distinguish auditor DB store errors 2018-12-22 12:32:56 +01:00
Marcello Stanisci
c1c242e3c7
Export new API 2018-12-21 20:59:27 +01:00
Marcello Stanisci
df6eda3994
Provide test API for keys serialization. 2018-12-21 14:04:43 +01:00
Marcello Stanisci
93ff2d93cc
/withdraw: #5284. 2018-12-18 17:35:23 +01:00
Marcello Stanisci
e634c877e3
/wire: #5284 2018-12-18 17:05:26 +01:00
Marcello Stanisci
ce36e23a88
/track/*: #5284. 2018-12-18 16:46:16 +01:00
Marcello Stanisci
baf95b86e2
/refresh/* & /reserve/status: #5284. 2018-12-18 16:36:29 +01:00
Marcello Stanisci
2fc84dd07f
/refresh/*: #5284. 2018-12-18 16:27:50 +01:00
Marcello Stanisci
c38f521dd8
/deposit: #5284. 2018-12-18 16:09:17 +01:00
Marcello Stanisci
bb45ee0e8e
check-keys CMD: #5284. 2018-12-18 15:46:32 +01:00
Marcello Stanisci
15c1a877c6
/history API semantics extended.
That API has now a new 'ordering' flag that lets the
client choose what ordering the results should have:
ascending or descending.

In particular, this change adapted the fakebank and
tests logic to such introduction.
2018-12-14 19:25:42 +01:00
Marcello Stanisci
c1a75b5b98
Adapt test to bank returning descending /history elements. 2018-12-13 19:44:58 +01:00
Marcello Stanisci
81d1b39343
Extend exchange-lib.
Adding simple function that returns the exchange's base URL.
2018-12-06 18:14:09 +01:00
Christian Grothoff
5052698cbc
getting test_auditor_api to pass 2018-11-25 14:40:03 +01:00
Marcello Stanisci
793c57317a
Offer contract terms trait as a JSON object. 2018-11-20 13:32:02 +01:00
Christian Grothoff
8facb1c8ca
add dbinit cmd 2018-11-18 11:53:37 +01:00
Christian Grothoff
bbbb0986c6
complete /deposit-confirmation test command 2018-11-17 19:23:39 +01:00
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