Commit Graph

2363 Commits

Author SHA1 Message Date
Marcello Stanisci
220e00696b
Traits.
Do not expose reserve priv trait if the user
created a reserve specifying the wire transfer
subject explicitly.
2018-12-12 13:42:00 +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
f224017505
fix a few more leaks 2018-11-25 15:38:58 +01:00
Christian Grothoff
85aa6d17c7
fix misc. memory leaks 2018-11-25 14:51:31 +01:00
Christian Grothoff
5052698cbc
getting test_auditor_api to pass 2018-11-25 14:40:03 +01:00
Marcello Stanisci
d0231022f2
Remove double closing of a "file stream". 2018-11-23 17:48:36 +01:00
Marcello Stanisci
793c57317a
Offer contract terms trait as a JSON object. 2018-11-20 13:32:02 +01:00
Marcello Stanisci
d3f73936ae
Skip test when wire-plugin is not loaded. 2018-11-19 23:52:24 +01:00
Marcello Stanisci
368f3a9a66
Minor changes to make tests pass/no-skip again. 2018-11-19 23:02:37 +01:00
Christian Grothoff
423f05970a
expand test logic for test_auditor_api, currently crashes, hence skipping for now 2018-11-19 06:51:02 +01:00
Christian Grothoff
a71756eee2
get auditor api test to pass (minimal version) 2018-11-18 14:41:27 +01:00
Christian Grothoff
428ecee396
do not crash if session is NULL 2018-11-18 13:56:41 +01:00
Christian Grothoff
f155aff749
add basic test configuration 2018-11-18 11:57:48 +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
4885b899c7
add commands to run auditor 2018-11-11 16:12:21 +01:00
Christian Grothoff
6f0b652da6
fix TXL_curl_easy_get signatures 2018-11-11 15:49:53 +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
48ad5d2b5c
fix compiler warning due to possiblity of uninitialized values if enum is out-of-range 2018-11-10 17:41:07 +01:00
Christian Grothoff
e7682b3f8d
fix potential use of uninitialized hash_context 2018-11-10 17:39:02 +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
332341cb7b
add check for #coins depoisted exceeding #coins issued (not just by amount), fixes #5446 2018-11-04 16:20:34 +01:00
Christian Grothoff
33441042a9
add auditordb constraints to enforce exchange's master_pub is added first 2018-11-04 10:58:59 +01:00
Christian Grothoff
126e3911ec
extend test to also test insert/delete exchange operation 2018-11-04 10:54:20 +01:00
Christian Grothoff
b39c3f9ca6
add missing default configs for auditor-httpd, make -u not mandatory as it is not needed for -r and check URL is well-formed if given; fix auditordb exchange insertion/removal logic 2018-11-04 10:48:32 +01:00
Christian Grothoff
dce058af76
use log instead of fprintf 2018-11-04 10:48:32 +01:00
Christian Grothoff
ebc8ae68be
implement taler-auditor-exchange 2018-11-03 21:28:52 +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
2956217b30
fix compiler warning 2018-10-27 19:23:49 +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
bfd8a6fa68
towards building auditor-lib (not yet finished) 2018-10-27 18:38:43 +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
Christian Grothoff
25e583d0f5
update Makefile.am 2018-10-22 20:21:50 +02:00
Christian Grothoff
2d9f1babb7
delete useless copy of code 2018-10-22 20:21:49 +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
Christian Grothoff
e83964badb
skeleton for libtalerauditor 2018-10-22 16:00:06 +02:00
Marcello Stanisci
8eda33bbe8
Fix auditordb.
Wrong columns names.
2018-10-22 12:44:56 +02:00
Marcello Stanisci
b0d00823eb
Fix compiler warnings. 2018-10-22 12:29:34 +02:00
Marcello Stanisci
7c9b41472f
Checking a closed reserve's status. 2018-10-22 11:31:33 +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
Florian Dold
7e426913ce
auditor: fix SQL syntax and semantic errors 2018-10-21 04:31:17 +02:00
Christian Grothoff
a0d88973b2
fix newlines 2018-10-20 19:40:32 +02:00
Christian Grothoff
4f37950a40
extend auditordb API with function to store deposit confirmations 2018-10-20 19:40:09 +02:00
Christian Grothoff
9d18caa006
remove dead variable 2018-10-20 19:38:05 +02:00
Christian Grothoff
fb952babf6
reduce redundant data fetch (#5444) 2018-10-19 11:01:49 +02:00
Florian Dold
9114794bee
exchange-lib: disable 'Expect: 100-continue' 2018-10-18 21:41:05 +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
3605d96423
indentation fix 2018-10-13 19:13:39 +02:00
Christian Grothoff
a381964293
style fix: always put parens on macros 2018-10-13 19:13:15 +02:00
Christian Grothoff
bf9e376c20
wrong offset, last coin is #3, not #4 2018-10-13 19:12:46 +02:00
Christian Grothoff
c0d75d4b97
fix memory leaks 2018-10-13 18:51:48 +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
eb1b6fbc97
add skeleton for auditor httpd 2018-10-06 17:29:03 +02:00
Christian Grothoff
a56e2e34bc
fix #5434 (no more salt in exchange wire replies) 2018-10-06 15:05:06 +02:00
Marcello Stanisci
81ce7abe19
put 'static' keyword 2018-10-04 12:33:16 +02:00
Florian Dold
5fbda29b76
more realistic refresh output, based on coinsim 2018-10-02 22:59:41 +02:00
Florian Dold
34f12d3f06
benchmark: variable 'refresh rate' 2018-10-02 21:08:59 +02:00
Florian Dold
b7bbc4cc70
print CPU time for benchmark descendant processes 2018-10-02 17:26:42 +02:00
Florian Dold
97afbe6364
write exchange stats on exit 2018-10-02 17:21:12 +02:00
Florian Dold
e9c9ca736f
fix loop that checks link response 2018-09-27 20:51:12 +02:00
Florian Dold
9e55caf92c
lower backoff threshold 2018-09-26 23:24:24 +02:00
Florian Dold
3ab7f8b840
use randomized backoff 2018-09-26 17:37:33 +02:00
Florian Dold
eada4b9ecd
Revert "Fix cherry-pick test case."
This reverts commit a5dde6ea46.
2018-09-26 16:41:01 +02:00
Marcello Stanisci
a5dde6ea46
Fix cherry-pick test case. 2018-09-25 19:08:11 +02:00
Marcello Stanisci
dd29898617
fix debug statement. 2018-09-25 12:00:25 +02:00
Marcello Stanisci
78ebba7276
fix /reject base URL. 2018-09-24 18:31:08 +02:00
Florian Dold
4e0c95f0c2
put curl default options on one place 2018-09-22 01:21:55 +02:00
Florian Dold
310b120d5d
remove leftover code 2018-09-21 22:04:41 +02:00
Florian Dold
5251e9ea40
do tcp fast open in the exchange httpd 2018-09-21 22:03:32 +02:00
Florian Dold
0a4ce8475a
use tcp fast open for /keys request 2018-09-21 22:02:05 +02:00
Florian Dold
9e60296f92
use deflate in exchange-api 2018-09-21 20:07:07 +02:00
Florian Dold
94f24f012c
use deflate for requesting /keys 2018-09-21 19:35:50 +02:00
Florian Dold
ca80a4f1c8
result must be signed 2018-09-21 17:36:19 +02:00
Marcello Stanisci
20ad59ba84
minor edit 2018-09-21 15:30:39 +02:00
Florian Dold
ff96695e47
benchmark: don't crash on --help 2018-09-21 15:15:30 +02:00
Marcello Stanisci
281c5e3879
Debugging the wirewatch. 2018-09-21 14:53:58 +02:00
Christian Grothoff
73b02adee0
adjust timeouts to try to make test more robust 2018-09-15 22:51:44 +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
Marcello Stanisci
2cbe471d5e
fix "twisted" test-suites. 2018-09-05 21:55:40 +02:00
Florian Dold
9316f63b7f
exchange benchmark: add option to linger around after we're done 2018-08-23 22:47:50 +02:00
Florian Dold
aa360e0ccd
remove automatically generated file that always changes 2018-08-23 22:47:19 +02:00
Christian Grothoff
efd65a63ac
fix preflight check failure 2018-08-19 18:40:13 +02:00
Christian Grothoff
755f4cb4a9
fix handling of withdraw failure 2018-08-19 18:03:52 +02:00
Christian Grothoff
121a0692ea
use existing reserve balance table instead of recomputing reserve balance each time 2018-08-19 17:50:28 +02:00
Christian Grothoff
e2ac27fe38
fix /keys retry 2018-08-19 17:37:30 +02:00
Christian Grothoff
1f7f187d9e
typo 2018-08-19 17:24:13 +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
Christian Grothoff
7663baf2e2
retry instantly if /keys download fails during testcase startup 2018-08-19 13:27:21 +02:00
Florian Dold
2d7e9bc5aa
increase client limit 2018-08-19 13:08:05 +02:00
Christian Grothoff
6982ccd78b
force TALER_EXCHANGE_connect() va-list to be actually provided 2018-08-19 12:22:42 +02:00
Christian Grothoff
433fab96c9
add logic to retry /keys if /keys download fails 2018-08-19 12:12:00 +02:00
Florian Dold
1541f2c2d6
fix test setup invocation 2018-08-19 11:41:58 +02:00
Florian Dold
ec08232b3f
increase listen backlog for fakebank 2018-08-19 11:37:42 +02:00
Christian Grothoff
f283782d40
remove superfluous rollback, insert rollback() before shutdown just for being nice 2018-08-19 11:37:14 +02:00
Christian Grothoff
7fb43dd2ae
make fakebank use epoll() on platforms where it is available 2018-08-19 11:20:35 +02:00
Florian Dold
7ba7a46f24
benchmark: remove odd macro 2018-08-19 01:13:17 +02:00
Florian Dold
96e047b186
add remote benchmarking 2018-08-19 00:49:16 +02:00
Florian Dold
f3fe72ab24
use gnunet_curl_lib.h instead of including gnurl/curl directly 2018-08-17 13:14:57 +02:00
Christian Grothoff
9548bc94b9
merge 2018-08-16 14:24:53 +02:00
Christian Grothoff
f0a796a3f6
make curl check saner, use AS_IF 2018-08-16 14:22:01 +02:00
Florian Dold
eefc2e3ff4
fix all (?) wrong -l flags 2018-08-16 13:14:47 +02:00
Florian Dold
c30bb0008d
fix more wrong -l flags 2018-08-16 13:07:48 +02:00
Florian Dold
911b158bb8
fix some wrong -l flags 2018-08-16 13:03:30 +02:00
Christian Grothoff
a1f289512e
make wirewatch batch size adaptive to transaction success/failure 2018-08-11 11:29:45 +02:00
Christian Grothoff
96c2fb8e10
implement retries for a few more commands 2018-08-11 11:29:02 +02:00
Christian Grothoff
1ee55ea838
make wirewatch properly handle (soft) failed transations 2018-08-11 10:55:50 +02:00
Christian Grothoff
30191a8ae5
be aggressive 2018-08-11 06:31:43 +02:00
Christian Grothoff
657afbb5d6
leave it to GNUnet 2018-08-11 06:31:20 +02:00
Christian Grothoff
17b9f39a86
disable SECMEM for Taler exchange, it causes massive lock contention and then scalability issues 2018-08-11 05:54:10 +02:00
Christian Grothoff
6d6b223694
cache result from log level check 2018-08-11 05:25:21 +02:00
Christian Grothoff
18736c4b91
avoid backlog issue by increasing backlog size 2018-08-11 02:49:08 +02:00
Christian Grothoff
2637c1b682
add multi-reserve support, improve load balancing by not reusing connections in benchmark 2018-08-11 02:48:49 +02:00
Christian Grothoff
9162b28b0a
fix command lookup 2018-08-11 02:48:15 +02:00
Christian Grothoff
ab239f3e54
try to fix missing rollbacks for wirewatch 2018-08-11 02:47:58 +02:00
Christian Grothoff
f9860f5370
improve command search routine in interpeter, report command execution velocity 2018-08-10 23:16:05 +02:00
Christian Grothoff
e0585f2dac
resign account-2 2018-08-10 22:32:44 +02:00
Christian Grothoff
e606f90488
break up refresh/reveal transaction to reduce failure rate, increase retries in general 2018-08-10 22:32:23 +02:00
Christian Grothoff
1314b5fe20
use timeout option in benchmark 2018-08-10 22:31:46 +02:00
Christian Grothoff
b2f602b1ac
add more logging to more clearly see real conficts, add AUTO_EXPLAIN option to analyze query performance 2018-08-10 22:30:38 +02:00
Christian Grothoff
abb84bd065
add variant that allows us to control the timeout 2018-08-10 22:29:43 +02:00
Christian Grothoff
e0935af764
add a few more FOR UPDATE where appropriate 2018-08-10 19:12:57 +02:00
Christian Grothoff
9887077ea2
launch wirewatch in the background for benchmarking 2018-08-10 18:48:45 +02:00
Christian Grothoff
e17121fd1c
use retry in benchmark 2018-08-10 18:48:44 +02:00
Christian Grothoff
db65bc69bf
fix bug wrt signature handling during withdraw (with/without optimistic signing) 2018-08-10 18:37:25 +02:00
Christian Grothoff
866df0fb66
add retry support to withdraw test logic 2018-08-10 12:39:47 +02:00
Christian Grothoff
04055de75a
spaceing 2018-08-09 22:30:45 +02:00
Christian Grothoff
53e98c10cf
add option for optimistic signing on withdraw (pre DB transaction) 2018-08-09 22:30:35 +02:00
Christian Grothoff
7ef489641f
fix spacing 2018-08-09 22:28:57 +02:00
Christian Grothoff
bce6a80f38
try with row locking to avoid rollbacks (in theory, to be verified) 2018-08-09 22:27:43 +02:00
Christian Grothoff
68848aaf5c
eliminate redundant hash call 2018-08-09 21:41:37 +02:00
Christian Grothoff
9384234555
use correct HTTP status code for commit failures 2018-08-09 21:15:27 +02:00
Christian Grothoff
819f2d4428
report ore precisely what went wrong 2018-08-09 21:12:12 +02:00
Christian Grothoff
c51b19512b
report ore precisely where commands went wrong 2018-08-09 21:10:56 +02:00
Christian Grothoff
e3f7083b3e
fix KS state freeing on exit 2018-08-09 20:51:42 +02:00
Christian Grothoff
d9474aab0f
fix benchmark tool output and time measurement 2018-08-09 20:25:30 +02:00
Christian Grothoff
a05859ad13
use only one fakebank instance in multi-process benchmark 2018-08-09 19:47:23 +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
Christian Grothoff
4693708b8c
use fprintf / stdout for final benchmark result 2018-08-09 10:15:04 +02:00
Christian Grothoff
3197125dbe
first quick hack for parallelizing benchmark 2018-08-07 22:10:38 +02:00
Christian Grothoff
8a782ce292
link against bank as well: 2018-08-06 15:28:56 +02:00
Christian Grothoff
1431ee90ed
fix link 2018-08-06 15:24:32 +02:00
Christian Grothoff
46047a6c14
fix build 2018-08-06 15:18:29 +02:00
Marcello Stanisci
28140f90e8
Verifying /track/transfer response signature. 2018-07-27 16:34:19 +02:00
Marcello Stanisci
5c18695bc0
Remove unnecessary code. 2018-07-27 16:18:51 +02:00
Marcello Stanisci
dddf7f52a5
Salt and sig not to be kept on tracking. 2018-07-27 14:53:45 +02:00
Marcello Stanisci
d9738553b2
Benchmark,
extract bank url from the configuration; then
make example config usable.
2018-07-27 14:47:02 +02:00
Marcello Stanisci
1c541596d6
Add make target to clean blobs from the benchmark. 2018-07-27 12:12:13 +02:00
Marcello Stanisci
e850dc09c4
Make benchmark config file working. 2018-07-27 11:58:54 +02:00
Marcello Stanisci
880ce0bdb3
Remove old note. 2018-07-25 16:19:45 +02:00
Marcello Stanisci
6eaa415f90
Benchmark.
Building the /wire response object inside the tool.
2018-07-25 16:18:49 +02:00
Marcello Stanisci
a7a34f68e1
Undo saving auditor blob under /tmp.
Gives permission issues.
2018-07-25 16:07:11 +02:00
Marcello Stanisci
953a2bd382
Add benchmark example config file. 2018-07-25 15:43:27 +02:00
Marcello Stanisci
dc7e2fc00e
save auditor blob under /tmp 2018-07-25 14:50:58 +02:00
Marcello Stanisci
3af3a9fdc3
Give default loglev at benchmark. 2018-07-25 13:36:33 +02:00
Marcello Stanisci
de925a3556
Benchmark.
Removing "-new" part from the source file.
2018-07-25 13:26:47 +02:00
Marcello Stanisci
9f8b6a6b5d
Prefer strncpy() 2018-07-25 13:08:18 +02:00
Marcello Stanisci
2393e26b02
Use proper exchange preparator (benchmark) 2018-07-25 12:36:38 +02:00
Marcello Stanisci
7a1d4e4d65
no ApiKey for benchmark 2018-07-25 12:05:55 +02:00
Marcello Stanisci
d7789d0984
Fix segfault. 2018-07-25 12:03:26 +02:00
Marcello Stanisci
7aee3ddc95
Benchmark uses fakebank now. 2018-07-25 11:57:15 +02:00
Marcello Stanisci
207c975902
Benchmark.
Measuring time and print outcome.
2018-07-25 11:45:14 +02:00
Marcello Stanisci
26c2403f99
Place FIXME/WARNING 2018-07-25 10:57:08 +02:00
Marcello Stanisci
2952c84fdf
Benchmark.
Fix default runs' number and payto construction.
2018-07-25 10:54:48 +02:00
Marcello Stanisci
9460206749
Benchmark.
Batching all the commands together.
2018-07-25 10:40:38 +02:00
Marcello Stanisci
5f0b98a298
Benchmark.
Define the "unity" benchmark: a array of CMDs containing
at least a withdraw+deposit, and _possibly_ a refresh operation.
2018-07-25 10:23:40 +02:00
Marcello Stanisci
64cb473ff4
Benchmark.
Calculating total amount for the (unique) reserve.
2018-07-25 09:31:18 +02:00
Marcello Stanisci
94b268ac2a
Remove useless comment 2018-07-25 09:10:35 +02:00
Marcello Stanisci
92dc0c285a
Benchmark.
Iterations are counted "per coin".  Basically,
the user expresses how many coins they want to
instantiate for a single invocation of the command.
2018-07-24 18:23:39 +02:00
Marcello Stanisci
a6a28024db
Benchmark.
Making imported benchmark a stub ; and getting it to compile.
2018-07-24 18:17:34 +02:00
Marcello Stanisci
3ed6d650a6
Fix benchmark.
Importing the _merchant_ benchmark source file here and
including it into the compilation system.
2018-07-24 16:02:22 +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
cbed072b27
Remove convenience note. 2018-07-10 15:56:57 +02:00
Marcello Stanisci
4630d92bd0
Test last change. 2018-07-10 15:56:26 +02:00
Marcello Stanisci
dd9837ff8b
Put logic to delete KYC events for merchant 2018-07-10 15:53:35 +02:00
Marcello Stanisci
1d81c99dca
note 2018-07-10 15:39:44 +02:00
Marcello Stanisci
6801c690b7
Test last change. 2018-07-10 15:37:56 +02:00
Marcello Stanisci
61e737f03e
Put logic to sum KYC-monitored wire transfers. 2018-07-10 15:30:17 +02:00