gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-anastasis] 01/02: worked on server


From: gnunet
Subject: [taler-anastasis] 01/02: worked on server
Date: Wed, 27 Nov 2019 21:05:13 +0100

This is an automated email from the git hooks/post-receive script.

dennis-neufeld pushed a commit to branch master
in repository anastasis.

commit c158b47043ef889150d27c4cc25767f15ee824b6
Author: Dennis Neufeld <address@hidden>
AuthorDate: Wed Nov 27 20:00:53 2019 +0000

    worked on server
---
 src/backend/Makefile.am                            |   1 +
 src/backend/anastasis-httpd                        |  60 +-
 src/backend/anastasis-httpd.c                      |  24 +-
 src/backend/anastasis-httpd.h                      |  24 +-
 src/backend/anastasis-httpd_policy.c               | 669 +++------------------
 src/backend/anastasis-httpd_policy.c.uncrustify    |   0
 src/backend/anastasis-httpd_policy.h               |  15 +
 ...pd_policy.c => anastasis-httpd_policy_upload.c} | 644 +++++++++++---------
 src/backend/anastasis.conf                         |   3 +
 src/include/Makefile.in                            |  14 +-
 src/include/anastasis_database_plugin.h            | 175 ++++--
 src/lib/auditor.in                                 | Bin 0 -> 33792 bytes
 .../.local/share/taler/auditors/auditor.out        | Bin 42328 -> 42328 bytes
 .../share/taler/exchange/live-keys/.gitignore      |   1 +
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1574613870000000 | Bin 1088 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1574776296000000 | Bin 0 -> 1088 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1575218370000000 | Bin 1088 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1575380796000000 | Bin 0 -> 1089 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1575822870000000 | Bin 1089 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1575985296000000 | Bin 0 -> 1088 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1576427370000000 | Bin 1088 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1576589796000000 | Bin 0 -> 1088 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1577031870000000 | Bin 1088 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1577194296000000 | Bin 0 -> 1089 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1577636370000000 | Bin 1089 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1577798796000000 | Bin 0 -> 1089 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1578240870000000 | Bin 1089 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1578403296000000 | Bin 0 -> 1089 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1578845370000000 | Bin 1088 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1579007796000000 | Bin 0 -> 1088 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1579449870000000 | Bin 1089 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1579612296000000 | Bin 0 -> 1088 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1580054370000000 | Bin 1089 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1580216796000000 | Bin 0 -> 1088 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1580658870000000 | Bin 1088 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1580821296000000 | Bin 0 -> 1088 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1581263370000000 | Bin 1088 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1581425796000000 | Bin 0 -> 1088 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1581867870000000 | Bin 1089 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1582030296000000 | Bin 0 -> 1088 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1582472370000000 | Bin 1089 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1582634796000000 | Bin 0 -> 1089 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1583076870000000 | Bin 1087 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1583239296000000 | Bin 0 -> 1089 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1583681370000000 | Bin 1089 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1583843796000000 | Bin 0 -> 1088 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1584285870000000 | Bin 1089 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1584448296000000 | Bin 0 -> 1089 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1584890370000000 | Bin 1088 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1585052796000000 | Bin 0 -> 1089 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1585494870000000 | Bin 1088 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1585657296000000 | Bin 0 -> 1088 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1586099370000000 | Bin 1089 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1586261796000000 | Bin 0 -> 1088 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1586703870000000 | Bin 1088 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1586866296000000 | Bin 0 -> 1089 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1587308370000000 | Bin 1088 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1587470796000000 | Bin 0 -> 1088 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1587912870000000 | Bin 1089 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1588075296000000 | Bin 0 -> 1089 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1588517370000000 | Bin 1088 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1588679796000000 | Bin 0 -> 1088 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1589121870000000 | Bin 1089 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1589284296000000 | Bin 0 -> 1088 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1589726370000000 | Bin 1088 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1589888796000000 | Bin 0 -> 1089 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1590330870000000 | Bin 1088 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1590493296000000 | Bin 0 -> 1088 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1590935370000000 | Bin 1089 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1591097796000000 | Bin 0 -> 1088 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1591539870000000 | Bin 1089 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1591702296000000 | Bin 0 -> 1089 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1592144370000000 | Bin 1088 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1592306796000000 | Bin 0 -> 1088 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1592748870000000 | Bin 1089 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1592911296000000 | Bin 0 -> 1089 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1593353370000000 | Bin 1089 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1593515796000000 | Bin 0 -> 1089 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1593957870000000 | Bin 1088 -> 0 bytes
 .../EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1594120296000000 | Bin 0 -> 1089 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1574613870000000  | Bin 1088 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1574776296000000  | Bin 0 -> 1088 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1575218370000000  | Bin 1089 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1575380796000000  | Bin 0 -> 1088 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1575822870000000  | Bin 1089 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1575985296000000  | Bin 0 -> 1089 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1576427370000000  | Bin 1089 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1576589796000000  | Bin 0 -> 1089 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1577031870000000  | Bin 1089 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1577194296000000  | Bin 0 -> 1088 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1577636370000000  | Bin 1088 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1577798796000000  | Bin 0 -> 1088 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1578240870000000  | Bin 1089 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1578403296000000  | Bin 0 -> 1089 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1578845370000000  | Bin 1088 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1579007796000000  | Bin 0 -> 1089 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1579449870000000  | Bin 1088 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1579612296000000  | Bin 0 -> 1089 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1580054370000000  | Bin 1088 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1580216796000000  | Bin 0 -> 1089 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1580658870000000  | Bin 1089 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1580821296000000  | Bin 0 -> 1088 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1581263370000000  | Bin 1089 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1581425796000000  | Bin 0 -> 1089 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1581867870000000  | Bin 1088 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1582030296000000  | Bin 0 -> 1087 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1582472370000000  | Bin 1089 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1582634796000000  | Bin 0 -> 1088 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1583076870000000  | Bin 1089 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1583239296000000  | Bin 0 -> 1088 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1583681370000000  | Bin 1088 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1583843796000000  | Bin 0 -> 1088 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1584285870000000  | Bin 1088 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1584448296000000  | Bin 0 -> 1088 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1584890370000000  | Bin 1089 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1585052796000000  | Bin 0 -> 1088 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1585494870000000  | Bin 1088 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1585657296000000  | Bin 0 -> 1088 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1586099370000000  | Bin 1089 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1586261796000000  | Bin 0 -> 1089 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1586703870000000  | Bin 1088 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1586866296000000  | Bin 0 -> 1089 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1587308370000000  | Bin 1089 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1587470796000000  | Bin 0 -> 1089 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1587912870000000  | Bin 1087 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1588075296000000  | Bin 0 -> 1088 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1588517370000000  | Bin 1088 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1588679796000000  | Bin 0 -> 1089 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1589121870000000  | Bin 1089 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1589284296000000  | Bin 0 -> 1089 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1589726370000000  | Bin 1089 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1589888796000000  | Bin 0 -> 1088 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1590330870000000  | Bin 1089 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1590493296000000  | Bin 0 -> 1088 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1590935370000000  | Bin 1088 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1591097796000000  | Bin 0 -> 1088 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1591539870000000  | Bin 1089 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1591702296000000  | Bin 0 -> 1089 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1592144370000000  | Bin 1089 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1592306796000000  | Bin 0 -> 1087 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1592748870000000  | Bin 1089 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1592911296000000  | Bin 0 -> 1089 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1593353370000000  | Bin 1088 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1593515796000000  | Bin 0 -> 1087 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1593957870000000  | Bin 1089 -> 0 bytes
 .../EUR_0_1-V0HADRAEFKQ3N2YN2720/1594120296000000  | Bin 0 -> 1088 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1574613870000000    | Bin 1088 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1574776296000000    | Bin 0 -> 1088 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1575218370000000    | Bin 1088 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1575380796000000    | Bin 0 -> 1089 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1575822870000000    | Bin 1089 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1575985296000000    | Bin 0 -> 1089 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1576427370000000    | Bin 1088 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1576589796000000    | Bin 0 -> 1088 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1577031870000000    | Bin 1089 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1577194296000000    | Bin 0 -> 1089 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1577636370000000    | Bin 1089 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1577798796000000    | Bin 0 -> 1088 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1578240870000000    | Bin 1089 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1578403296000000    | Bin 0 -> 1089 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1578845370000000    | Bin 1089 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1579007796000000    | Bin 0 -> 1089 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1579449870000000    | Bin 1088 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1579612296000000    | Bin 0 -> 1088 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1580054370000000    | Bin 1088 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1580216796000000    | Bin 0 -> 1088 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1580658870000000    | Bin 1087 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1580821296000000    | Bin 0 -> 1088 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1581263370000000    | Bin 1089 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1581425796000000    | Bin 0 -> 1088 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1581867870000000    | Bin 1088 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1582030296000000    | Bin 0 -> 1089 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1582472370000000    | Bin 1088 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1582634796000000    | Bin 0 -> 1088 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1583076870000000    | Bin 1089 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1583239296000000    | Bin 0 -> 1089 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1583681370000000    | Bin 1088 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1583843796000000    | Bin 0 -> 1089 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1584285870000000    | Bin 1089 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1584448296000000    | Bin 0 -> 1089 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1584890370000000    | Bin 1089 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1585052796000000    | Bin 0 -> 1089 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1585494870000000    | Bin 1088 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1585657296000000    | Bin 0 -> 1089 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1586099370000000    | Bin 1088 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1586261796000000    | Bin 0 -> 1089 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1586703870000000    | Bin 1089 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1586866296000000    | Bin 0 -> 1088 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1587308370000000    | Bin 1089 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1587470796000000    | Bin 0 -> 1088 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1587912870000000    | Bin 1089 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1588075296000000    | Bin 0 -> 1088 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1588517370000000    | Bin 1088 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1588679796000000    | Bin 0 -> 1088 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1589121870000000    | Bin 1088 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1589284296000000    | Bin 0 -> 1089 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1589726370000000    | Bin 1089 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1589888796000000    | Bin 0 -> 1088 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1590330870000000    | Bin 1088 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1590493296000000    | Bin 0 -> 1088 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1590935370000000    | Bin 1089 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1591097796000000    | Bin 0 -> 1088 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1591539870000000    | Bin 1088 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1591702296000000    | Bin 0 -> 1088 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1592144370000000    | Bin 1088 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1592306796000000    | Bin 0 -> 1088 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1592748870000000    | Bin 1088 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1592911296000000    | Bin 0 -> 1088 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1593353370000000    | Bin 1089 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1593515796000000    | Bin 0 -> 1089 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1593957870000000    | Bin 1089 -> 0 bytes
 .../EUR_1-9EJZYC2VQ92ZY19Z3F71/1594120296000000    | Bin 0 -> 1089 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1574613870000000    | Bin 1088 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1574776296000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1575218370000000    | Bin 1088 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1575380796000000    | Bin 0 -> 1089 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1575822870000000    | Bin 1088 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1575985296000000    | Bin 0 -> 1089 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1576427370000000    | Bin 1088 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1576589796000000    | Bin 0 -> 1089 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1577031870000000    | Bin 1088 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1577194296000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1577636370000000    | Bin 1089 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1577798796000000    | Bin 0 -> 1089 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1578240870000000    | Bin 1089 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1578403296000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1578845370000000    | Bin 1089 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1579007796000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1579449870000000    | Bin 1088 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1579612296000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1580054370000000    | Bin 1088 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1580216796000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1580658870000000    | Bin 1088 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1580821296000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1581263370000000    | Bin 1089 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1581425796000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1581867870000000    | Bin 1088 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1582030296000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1582472370000000    | Bin 1089 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1582634796000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1583076870000000    | Bin 1088 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1583239296000000    | Bin 0 -> 1089 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1583681370000000    | Bin 1088 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1583843796000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1584285870000000    | Bin 1089 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1584448296000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1584890370000000    | Bin 1088 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1585052796000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1585494870000000    | Bin 1089 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1585657296000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1586099370000000    | Bin 1089 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1586261796000000    | Bin 0 -> 1089 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1586703870000000    | Bin 1089 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1586866296000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1587308370000000    | Bin 1088 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1587470796000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1587912870000000    | Bin 1088 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1588075296000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1588517370000000    | Bin 1088 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1588679796000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1589121870000000    | Bin 1089 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1589284296000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1589726370000000    | Bin 1089 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1589888796000000    | Bin 0 -> 1087 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1590330870000000    | Bin 1088 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1590493296000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1590935370000000    | Bin 1088 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1591097796000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1591539870000000    | Bin 1089 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1591702296000000    | Bin 0 -> 1088 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1592144370000000    | Bin 1088 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1592306796000000    | Bin 0 -> 1089 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1592748870000000    | Bin 1089 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1592911296000000    | Bin 0 -> 1089 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1593353370000000    | Bin 1088 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1593515796000000    | Bin 0 -> 1089 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1593957870000000    | Bin 1088 -> 0 bytes
 .../EUR_5-5JB5S1XBPG62JD2PTYWT/1594120296000000    | Bin 0 -> 1089 bytes
 .../exchange/live-keys/signkeys/1574613870000000   | Bin 192 -> 0 bytes
 .../exchange/live-keys/signkeys/1574776296000000   | Bin 0 -> 192 bytes
 .../exchange/live-keys/signkeys/1577033070000000   | Bin 192 -> 0 bytes
 .../exchange/live-keys/signkeys/1577195496000000   | Bin 0 -> 192 bytes
 .../exchange/live-keys/signkeys/1579452270000000   | Bin 192 -> 0 bytes
 .../exchange/live-keys/signkeys/1579614696000000   | Bin 0 -> 192 bytes
 .../exchange/live-keys/signkeys/1581871470000000   | Bin 192 -> 0 bytes
 .../exchange/live-keys/signkeys/1582033896000000   | Bin 0 -> 192 bytes
 .../exchange/live-keys/signkeys/1584290670000000   | Bin 192 -> 0 bytes
 .../exchange/live-keys/signkeys/1584453096000000   | Bin 0 -> 192 bytes
 .../exchange/live-keys/signkeys/1586709870000000   | Bin 192 -> 0 bytes
 .../exchange/live-keys/signkeys/1586872296000000   | Bin 0 -> 192 bytes
 .../exchange/live-keys/signkeys/1589129070000000   | Bin 192 -> 0 bytes
 .../exchange/live-keys/signkeys/1589291496000000   | Bin 0 -> 192 bytes
 .../exchange/live-keys/signkeys/1591548270000000   | Bin 192 -> 0 bytes
 .../exchange/live-keys/signkeys/1591710696000000   | Bin 0 -> 192 bytes
 .../exchange/live-keys/signkeys/1593967470000000   | Bin 192 -> 0 bytes
 .../exchange/live-keys/signkeys/1594129896000000   | Bin 0 -> 192 bytes
 src/stasis/plugin_anastasis_postgres.c             | 450 +++++++++-----
 src/stasis/test_anastasis_db.c                     |  22 +
 298 files changed, 1009 insertions(+), 1093 deletions(-)

diff --git a/src/backend/Makefile.am b/src/backend/Makefile.am
index f0bdbb8..4e41dfa 100644
--- a/src/backend/Makefile.am
+++ b/src/backend/Makefile.am
@@ -15,6 +15,7 @@ anastasis_httpd_SOURCES = \
   anastasis-httpd.c anastasis-httpd.h \
   anastasis-httpd_mhd.c anastasis-httpd_mhd.h \
   anastasis-httpd_policy.c anastasis-httpd_policy.h \
+  anastasis-httpd_policy_upload.c \
   anastasis-httpd_truth.c anastasis-httpd_truth.h
 
 anastasis_httpd_LDADD = \
diff --git a/src/backend/anastasis-httpd b/src/backend/anastasis-httpd
index 18fa0c9..39f32b3 100755
--- a/src/backend/anastasis-httpd
+++ b/src/backend/anastasis-httpd
@@ -1,7 +1,7 @@
-#! /bin/bash
+#! /bin/sh
 
 # anastasis-httpd - temporary wrapper script for .libs/anastasis-httpd
-# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-2
+# Generated by libtool (GNU libtool) 2.4.6.42-b88ce
 #
 # The anastasis-httpd program cannot be directly executed until all the libtool
 # libraries that it depends on are installed.
@@ -31,12 +31,12 @@ DUALCASE=1; export DUALCASE # for MKS sh
 # if CDPATH is set.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
-relink_command=""
+relink_command="(cd 
/home/dennis/Nextcloud/Studium-BFH/Aktuell_HS2019/Project2/anastasis/src/backend;
 { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; 
export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset 
COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z 
\"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; 
export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset 
LD_RUN_PATH || { LD [...]
 
 # This environment variable determines our operation mode.
 if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
   # install mode needs the following variables:
-  generated_by_libtool_version='2.4.6'
+  generated_by_libtool_version='2.4.6.42-b88ce'
   notinst_deplibs=' ../../src/util/libanastasisutil.la 
../../src/stasis/libanastasisdb.la'
 else
   # When we are sourced in execute mode, $file and $ECHO are already set.
@@ -75,9 +75,9 @@ func_parse_lt_options ()
     case "$lt_opt" in
     --lt-debug) lt_option_debug=1 ;;
     --lt-dump-script)
-        lt_dump_D=`$ECHO "X$lt_script_arg0" | /bin/sed -e 's/^X//' -e 
's%/[^/]*$%%'`
+        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 
's%/[^/]*$%%'`
         test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
-        lt_dump_F=`$ECHO "X$lt_script_arg0" | /bin/sed -e 's/^X//' -e 
's%^.*/%%'`
+        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 
's%^.*/%%'`
         cat "$lt_dump_D/$lt_dump_F"
         exit 0
       ;;
@@ -90,7 +90,7 @@ func_parse_lt_options ()
 
   # Print the debug banner immediately:
   if test -n "$lt_option_debug"; then
-    echo "anastasis-httpd:anastasis-httpd:$LINENO: libtool wrapper (GNU 
libtool) 2.4.6 Debian-2.4.6-2" 1>&2
+    echo "anastasis-httpd:anastasis-httpd:$LINENO: libtool wrapper (GNU 
libtool) 2.4.6.42-b88ce" 1>&2
   fi
 }
 
@@ -143,13 +143,13 @@ func_exec_program ()
   func_parse_lt_options "$0" ${1+"$@"}
 
   # Find the directory that this script lives in.
-  thisdir=`$ECHO "$file" | /bin/sed 's%/[^/]*$%%'`
+  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
   test "x$thisdir" = "x$file" && thisdir=.
 
   # Follow symbolic links until we get to the real thisdir.
-  file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'`
+  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
   while test -n "$file"; do
-    destdir=`$ECHO "$file" | /bin/sed 's%/[^/]*$%%'`
+    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
 
     # If there was a directory component, then change thisdir.
     if test "x$destdir" != "x$file"; then
@@ -159,8 +159,8 @@ func_exec_program ()
       esac
     fi
 
-    file=`$ECHO "$file" | /bin/sed 's%^.*/%%'`
-    file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'`
+    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
+    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
   done
 
   # Usually 'no', except on cygwin/mingw when embedded into
@@ -173,7 +173,7 @@ func_exec_program ()
     fi
     # remove .libs from thisdir
     case "$thisdir" in
-    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /bin/sed 's%[\\/][^\\/]*$%%'` ;;
+    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 
's%[\\/][^\\/]*$%%'` ;;
     .libs )   thisdir=. ;;
     esac
   fi
@@ -182,20 +182,38 @@ func_exec_program ()
   absdir=`cd "$thisdir" && pwd`
   test -n "$absdir" && thisdir="$absdir"
 
-  program='anastasis-httpd'
+  program=lt-'anastasis-httpd'
   progdir="$thisdir/.libs"
 
+  if test ! -f "$progdir/$program" ||
+     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | 
/usr/bin/sed 1q`; \
+       test "X$file" != "X$progdir/$program"; }; then
 
-  if test -f "$progdir/$program"; then
-    # Add our own library path to LD_LIBRARY_PATH
-    
LD_LIBRARY_PATH="/home/grothoff/taler/anastasis/src/util/.libs:/home/grothoff/taler/anastasis/src/stasis/.libs:/home/grothoff/lib:/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH"
+    file="$$-$program"
 
-    # Some systems cannot cope with colon-terminated LD_LIBRARY_PATH
-    # The second colon is a workaround for a bug in BeOS R4 sed
-    LD_LIBRARY_PATH=`$ECHO "$LD_LIBRARY_PATH" | /bin/sed 's/::*$//'`
+    if test ! -d "$progdir"; then
+      mkdir "$progdir"
+    else
+      rm -f "$progdir/$file"
+    fi
 
-    export LD_LIBRARY_PATH
+    # relink executable if necessary
+    if test -n "$relink_command"; then
+      if relink_command_output=`eval $relink_command 2>&1`; then :
+      else
+       $ECHO "$relink_command_output" >&2
+       rm -f "$progdir/$file"
+       exit 1
+      fi
+    fi
 
+    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
+    { rm -f "$progdir/$program";
+      mv -f "$progdir/$file" "$progdir/$program"; }
+    rm -f "$progdir/$file"
+  fi
+
+  if test -f "$progdir/$program"; then
     if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
       # Run the actual program with our arguments.
       func_exec_program ${1+"$@"}
diff --git a/src/backend/anastasis-httpd.c b/src/backend/anastasis-httpd.c
index 3c900ad..c872478 100644
--- a/src/backend/anastasis-httpd.c
+++ b/src/backend/anastasis-httpd.c
@@ -36,7 +36,27 @@
 /**
  * Upload limit to the service, in megabytes.
  */
-unsigned long long int SH_upload_limit_mb;
+unsigned long long int AH_upload_limit_mb;
+
+/**
+ * Annual fee for the backup account.
+ */
+struct TALER_Amount AH_annual_fee;
+
+/**
+ * Our Taler backend to process payments.
+ */
+char *AH_backend_url;
+
+/**
+ * Our fulfillment URL.
+ */
+char *AH_fulfillment_url;
+
+/**
+ * Our context for making HTTP requests.
+ */
+struct GNUNET_CURL_Context *AH_ctx;
 
 /**
  * Should a "Connection: close" header be added to each HTTP response?
@@ -465,7 +485,7 @@ run (void *cls,
       GNUNET_CONFIGURATION_get_value_number (config,
                                              "anastasis",
                                              "UPLOAD_LIMIT_MB",
-                                             &SH_upload_limit_mb))
+                                             &AH_upload_limit_mb))
   {
     GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
                                "anastasis",
diff --git a/src/backend/anastasis-httpd.h b/src/backend/anastasis-httpd.h
index 06083ba..a7aa696 100644
--- a/src/backend/anastasis-httpd.h
+++ b/src/backend/anastasis-httpd.h
@@ -135,7 +135,29 @@ extern struct ANASTASIS_DatabasePlugin *db;
 /**
  * Upload limit to the service, in megabytes.
  */
-extern unsigned long long SH_upload_limit_mb;
+extern unsigned long long AH_upload_limit_mb;
+
+/**
+ * Annual fee for the backup account.
+ * 
+ * FIXME: the amount to pay is fixed to this value. Better variable value?
+ */
+extern struct TALER_Amount AH_annual_fee;
+
+/**
+ * Our Taler backend to process payments.
+ */
+extern char *AH_backend_url;
+
+/**
+ * Our fulfillment URL
+ */
+extern char *AH_fulfillment_url;
+
+/**
+ * Our context for making HTTP requests.
+ */
+extern struct GNUNET_CURL_Context *AH_ctx;
 
 /**
  * Kick MHD to run now, to be called after MHD_resume_connection().
diff --git a/src/backend/anastasis-httpd_policy.c 
b/src/backend/anastasis-httpd_policy.c
index d21b34f..09e4546 100644
--- a/src/backend/anastasis-httpd_policy.c
+++ b/src/backend/anastasis-httpd_policy.c
@@ -39,593 +39,116 @@
 
 
 /**
- * Context for an upload operation.
- */
-struct PolicyUploadContext
-{
-
-  /**
-   * Context for cleanup logic.
-   */
-  struct TM_HandlerContext hc;
-
-  /**
-   * Signature of the account holder.
-   */
-  struct ANASTASIS_AccountSignatureP account_sig;
-
-  /**
-   * Public key of the account holder.
-   */
-  struct ANASTASIS_AccountPubP account;
-
-  /**
-   * Hash of the previous upload, or zeros if first upload.
-   */
-  struct GNUNET_HashCode old_policy_upload_hash;
-
-  /**
-   * Hash of the upload we are receiving right now (as promised
-   * by the client, to be verified!).
-   */
-  struct GNUNET_HashCode new_policy_upload_hash;
-
-  /**
-   * Hash context for the upload.
-   */
-  struct GNUNET_HashContext *hash_ctx;
-
-  /**
-   * Kept in DLL for shutdown handling while suspended.
-   */
-  struct PolicyUploadContext *next;
-
-  /**
-   * Kept in DLL for shutdown handling while suspended.
-   */
-  struct PolicyUploadContext *prev;
-
-  /**
-   * Used while suspended for resumption.
-   */
-  struct MHD_Connection *con;
-
-  /**
-   * Upload, with as many bytes as we have received so far.
-   */
-  char *upload;
-
-  /**
-   * Used while we are awaiting proposal creation.
-   */
-  struct TALER_MERCHANT_ProposalOperation *po;
-
-  /**
-   * Used while we are waiting payment.
-   */
-  struct TALER_MERCHANT_CheckPaymentOperation *cpo;
-
-  /**
-   * HTTP response code to use on resume, if non-NULL.
-   */
-  struct MHD_Response *resp;
-
-  /**
-   * Order under which the client promised payment, or NULL.
-   */
-  const char *order_id;
-
-  /**
-   * Order ID for the client that we found in our database.
-   */
-  char *existing_order_id;
-
-  /**
-   * Timestamp of the order in @e existing_order_id. Used to
-   * select the most recent unpaid offer.
-   */
-  struct GNUNET_TIME_Absolute existing_order_timestamp;
-
-  /**
-   * Expected total upload size.
-   */
-  size_t upload_size;
-
-  /**
-   * Current offset for the upload.
-   */
-  size_t upload_off;
-
-  /**
-   * HTTP response code to use on resume, if resp is set.
-   */
-  unsigned int response_code;
-
-};
-
-
-/**
- * Kept in DLL for shutdown handling while suspended.
- */
-static struct PolicyUploadContext *puc_head;
-
-/**
- * Kept in DLL for shutdown handling while suspended.
- */
-static struct PolicyUploadContext *puc_tail;
-
-
-/**
- * Function called to clean up a backup context.
+ * Return the current recoverydocument of @a account on @a connection
+ * using @a default_http_status on success.
  *
- * @param hc a `struct PolicyUploadContext`
+ * @param connection MHD connection to use
+ * @param account account to query
+ * @param default_http_status HTTP status to queue response
+ *  with on success (#MHD_HTTP_OK or #MHD_HTTP_CONFLICT)
+ * @return MHD result code
  */
-static void
-cleanup_ctx (struct TM_HandlerContext *hc)
+int
+AH_return_backup (struct MHD_Connection *connection,
+                  const struct ANASTASIS_AccountPubP *account,
+                  unsigned int default_http_status)
 {
-  struct PolicyUploadContext *puc = (struct PolicyUploadContext *) hc;
-
-  if (NULL != puc->po)
-    TALER_MERCHANT_proposal_cancel (puc->po);
-  if (NULL != puc->hash_ctx)
-    GNUNET_CRYPTO_hash_context_abort (puc->hash_ctx);
-  if (NULL != puc->resp)
-    MHD_destroy_response (puc->resp);
-  GNUNET_free_non_null (puc->existing_order_id);
-  GNUNET_free_non_null (puc->upload);
-  GNUNET_free (puc);
-}
-
+  enum ANASTASIS_DB_QueryStatus qs;
+  struct MHD_Response *resp;
+  int ret;
+  struct ANASTASIS_AccountSignatureP account_sig;
+  struct GNUNET_HashCode recovery_data_hash;
+  struct GNUNET_HashCode prev_hash;
+  uint32_t version;
+  size_t recovery_data_size;
+  void *recovery_data;
 
-/**
- * We got some query status from the DB.  Handle the error cases.
- * May perform asynchronous operations by suspending the connection
- * if required.
- *
- * @param puc connection to handle status for
- * @param qs query status to handle
- * @return #MHD_YES or #MHD_NO
- */
-static int
-handle_database_error (struct PolicyUploadContext *puc,
-                       enum ANASTASIS_DB_QueryStatus qs)
-{
+  qs = db->get_latest_recovery_document (db->cls,
+                                         account,
+                                         &account_sig,
+                                         &prev_hash,
+                                         &recovery_data_hash,
+                                         &recovery_data_size,
+                                         &recovery_data,
+                                         &version);
   switch (qs)
   {
   case ANASTASIS_DB_STATUS_OLD_RECOVERY_UPLOAD_MISSMATCH:
-    /* FIXME handle missmatch
-
-    return SH_return_backup (puc->con,
-                             &puc->account,
-                             MHD_HTTP_CONFLICT);
-    */
-    return MHD_YES; //FIXME
+    GNUNET_break (0);
+    return TALER_MHD_reply_with_error (connection,
+                                       MHD_HTTP_INTERNAL_SERVER_ERROR,
+                                       TALER_EC_INTERNAL_INVARIANT_FAILURE,
+                                       "unexpected return status (backup 
missmatch)");
   case ANASTASIS_DB_STATUS_PAYMENT_REQUIRED:
-    /* FIXME: payment handling
-
-    {
-      const char *order_id;
-
-      order_id = MHD_lookup_connection_value (puc->con,
-                                              MHD_GET_ARGUMENT_KIND,
-                                              "paying");
-      if (NULL == order_id)
-      {
-        return begin_payment (puc,
-                              GNUNET_NO);
-      }
-      await_payment (puc,
-                     CHECK_PAYMENT_TIMEOUT,
-                     order_id);
-    }
-    */
-    return MHD_YES;
+    GNUNET_break (0);
+    return TALER_MHD_reply_with_error (connection,
+                                       MHD_HTTP_INTERNAL_SERVER_ERROR,
+                                       TALER_EC_INTERNAL_INVARIANT_FAILURE,
+                                       "unexpected return status (payment 
required)");
   case ANASTASIS_DB_STATUS_HARD_ERROR:
+    GNUNET_break (0);
+    return TALER_MHD_reply_with_error (connection,
+                                       MHD_HTTP_INTERNAL_SERVER_ERROR,
+                                       TALER_EC_SYNC_DB_FETCH_ERROR,
+                                       "hard database failure");
   case ANASTASIS_DB_STATUS_SOFT_ERROR:
     GNUNET_break (0);
-    return TALER_MHD_reply_with_error (puc->con,
+    return TALER_MHD_reply_with_error (connection,
                                        MHD_HTTP_INTERNAL_SERVER_ERROR,
-                                       TALER_EC_SYNC_DATABASE_FETCH_ERROR,
-                                       "failed to fetch existing record from 
database");
+                                       TALER_EC_SYNC_DB_FETCH_ERROR,
+                                       "soft database failure");
   case ANASTASIS_DB_STATUS_SUCCESS_NO_RESULTS:
-    GNUNET_assert (0);
-    return MHD_NO;
-  /* intentional fall-through! */
+    GNUNET_break (0);
+    /* Note: can theoretically happen due to non-transactional nature if
+       the backup expired / was gc'ed JUST between the two SQL calls.
+       But too rare to handle properly, as doing a transaction would be
+       expensive. Just admit to failure ;-) */
+    return TALER_MHD_reply_with_error (connection,
+                                       MHD_HTTP_INTERNAL_SERVER_ERROR,
+                                       TALER_EC_SYNC_DB_FETCH_ERROR,
+                                       "unexpected empty result set (try 
again?)");
   case ANASTASIS_DB_STATUS_SUCCESS_ONE_RESULT:
-    GNUNET_assert (0);
-    return MHD_NO;
-  }
-  GNUNET_break (0);
-  return MHD_NO;
-}
-
-
-/**
- * @param connection the MHD connection to handle
- * @param con_cls the connection's closure
- * @param url handles a URL of the format "/policy/$ACCOUNT_PUB"
- * @param recovery_data upload data
- * @param recovery_data_size number of bytes (left) in @a recovery_data
- * @return MHD result code
- */
-int
-AH_handler_policy_POST (struct MHD_Connection *connection,
-                        void **con_cls,
-                        const char *url,
-                        const char *recovery_data,
-                        size_t *recovery_data_size)
-{
-  struct PolicyUploadContext *puc;
-  struct ANASTASIS_AccountPubP accountPubP;
-
-  puc = *con_cls;
-  if (NULL == puc)
-  {
-    /* first call, setup internals */
-    puc = GNUNET_new (struct PolicyUploadContext);
-    puc->hc.cc = &cleanup_ctx;
-    puc->con = connection;
-
-    /* extract publickey from url */
-    GNUNET_assert (0 == strncmp (url,
-                               "/policy/",
-                               strlen ("/policy/")));
-    {
-      const char *account;
-
-      account = &url[strlen ("/policy/")];
-      if (GNUNET_OK !=
-          GNUNET_CRYPTO_eddsa_public_key_from_string (account,
-                                                      strlen (account),
-                                                      &accountPubP.pub))
-      {
-        return TALER_MHD_reply_with_error (connection,
-                                          MHD_HTTP_BAD_REQUEST,
-                                          42 /*FIXME */,
-                                          "account public key malformed");
-      }
-    }
-    puc->account = accountPubP;
-    *con_cls = puc;
-
-    /* no setup 'puc' */
-    {
-      const char *lens;
-      unsigned long len;
-
-      lens = MHD_lookup_connection_value (connection,
-                                          MHD_HEADER_KIND,
-                                          MHD_HTTP_HEADER_CONTENT_LENGTH);
-      if ( (NULL == lens) ||
-           (1 !=
-            sscanf (lens,
-                    "%lu",
-                    &len)) )
-      {
-        GNUNET_break_op (0);
-        return TALER_MHD_reply_with_error (connection,
-                                           MHD_HTTP_BAD_REQUEST,
-                                           //FIXME: ANASTASIS error c
-                                           TALER_EC_SYNC_BAD_CONTENT_LENGTH,
-                                           (NULL == lens)
-                                           ? "Content-length value missing"
-                                           : "Content-length value malformed");
-      }
-      if (len / 1024 / 1024 >= SH_upload_limit_mb)
-      {
-        GNUNET_break_op (0);
-        return TALER_MHD_reply_with_error (connection,
-                                           MHD_HTTP_PAYLOAD_TOO_LARGE,
-                                           TALER_EC_SYNC_BAD_CONTENT_LENGTH,
-                                           "Content-length value not 
acceptable");
-      }
-      puc->upload = GNUNET_malloc_large (len);
-      if (NULL == puc->upload)
-      {
-        GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR,
-                             "malloc");
-        return TALER_MHD_reply_with_error (connection,
-                                           MHD_HTTP_PAYLOAD_TOO_LARGE,
-                                           
TALER_EC_SYNC_OUT_OF_MEMORY_ON_CONTENT_LENGTH,
-                                           "Server out of memory, try again 
later");
-      }
-      puc->upload_size = (size_t) len;
-    }
-    {
-      // Check if header contains if-match
-      const char *im;
-
-      im = MHD_lookup_connection_value (connection,
-                                        MHD_HEADER_KIND,
-                                        MHD_HTTP_HEADER_IF_MATCH);
-      if ( (NULL != im) &&
-           (GNUNET_OK !=
-            GNUNET_STRINGS_string_to_data (im,
-                                           strlen (im),
-                                           &puc->old_policy_upload_hash,
-                                           sizeof 
(&puc->old_policy_upload_hash))) )
-      {
-        GNUNET_break_op (0);
-        return TALER_MHD_reply_with_error (connection,
-                                           MHD_HTTP_BAD_REQUEST,
-                                           TALER_EC_SYNC_BAD_IF_MATCH,
-                                           "If-Match does not include a 
base32-encoded SHA-512 hash");
-      }
-    }
-    {
-      // Check if header contains Anastasis-Policy-Signature
-      const char *sig_s;
-
-      sig_s = MHD_lookup_connection_value (connection,
-                                           MHD_HEADER_KIND,
-                                           "Anastasis-Policy-Signature");
-      if ( (NULL == sig_s) ||
-           (GNUNET_OK !=
-            GNUNET_STRINGS_string_to_data (sig_s,
-                                           strlen (sig_s),
-                                           &puc->account_sig,
-                                           sizeof (&puc->account_sig))) )
-      {
-        GNUNET_break_op (0);
-        return TALER_MHD_reply_with_error (connection,
-                                           MHD_HTTP_BAD_REQUEST,
-                                           TALER_EC_SYNC_BAD_SYNC_SIGNATURE,
-                                           "Anastasis-Policy-Signature does 
not include a base32-encoded EdDSA signature");
-      }
-    }
-    {
-      // Check if header contains an ETAG
-      const char *etag;
-
-      etag = MHD_lookup_connection_value (connection,
-                                          MHD_HEADER_KIND,
-                                          MHD_HTTP_HEADER_ETAG);
-      if ( (NULL == etag) ||
-           (GNUNET_OK !=
-            GNUNET_STRINGS_string_to_data (etag,
-                                           strlen (etag),
-                                           &puc->new_policy_upload_hash,
-                                           sizeof 
(&puc->new_policy_upload_hash))) )
-      {
-        GNUNET_break_op (0);
-        return TALER_MHD_reply_with_error (connection,
-                                           MHD_HTTP_BAD_REQUEST,
-                                           TALER_EC_SYNC_BAD_ETAG,
-                                           "Etag does not include a 
base32-encoded SHA-512 hash");
-      }
-    }
-    /* validate signature */
-    {
-      struct ANASTASIS_UploadSignaturePS usp;
-
-      usp.purpose.size = htonl (sizeof (struct ANASTASIS_UploadSignaturePS));
-      usp.purpose.purpose = htonl (TALER_SIGNATURE_ANASTASIS_POLICY_UPLOAD);
-      usp.old_recovery_data_hash = puc->old_policy_upload_hash;
-      usp.new_recovery_data_hash = puc->new_policy_upload_hash;
-      if (GNUNET_OK !=
-          GNUNET_CRYPTO_eddsa_verify (TALER_SIGNATURE_ANASTASIS_POLICY_UPLOAD,
-                                      &usp.purpose,
-                                      &puc->account_sig.eddsa_sig,
-                                      &accountPubP.pub))
-      {
-        GNUNET_break_op (0);
-        return TALER_MHD_reply_with_error (connection,
-                                           MHD_HTTP_FORBIDDEN,
-                                           TALER_EC_SYNC_INVALID_SIGNATURE,
-                                           "Account signature does not match 
upload");
-      }
-    }
-    /* get ready to hash (done here as we may go aANASTASIS for payments next) 
*/
-    puc->hash_ctx = GNUNET_CRYPTO_hash_context_start ();
-
-    /* Check database to see if the transaction is permissable */
-    {
-      struct GNUNET_HashCode hc;
-      enum ANASTASIS_DB_QueryStatus qs;
-
-      qs = db->lookup_account (db->cls,
-                               &accountPubP);
-      if (qs < 0)
-        return handle_database_error (puc,
-                                      qs);
-      if (ANASTASIS_DB_STATUS_SUCCESS_NO_RESULTS == qs)
-        memset (&hc, 0, sizeof (hc));
-      if (0 == GNUNET_memcmp (&hc,
-                              &puc->new_policy_upload_hash))
-      {
-        /* Refuse upload: we already have that backup! */
-        struct MHD_Response *resp;
-        int ret;
-
-        resp = MHD_create_response_from_buffer (0,
-                                                NULL,
-                                                MHD_RESPMEM_PERSISTENT);
-        GNUNET_break (MHD_YES ==
-                      MHD_add_response_header (resp,
-                                               
MHD_HTTP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN,
-                                               "*"));
-        ret = MHD_queue_response (connection,
-                                  MHD_HTTP_NOT_MODIFIED,
-                                  resp);
-        MHD_destroy_response (resp);
-        return ret;
-      }
-      if (0 != GNUNET_memcmp (&hc,
-                              &puc->old_policy_upload_hash))
-      {
-        /* Refuse upload: if-none-match failed! */
-        return SH_return_backup (connection,
-                                 accountPubP,
-                                 MHD_HTTP_CONFLICT);
-      }
-    }
-    /* check if the client insists on paying */
-    { /* FIXME handle paying
-      const char *order_req;
-
-      order_req = MHD_lookup_connection_value (connection,
-                                               MHD_GET_ARGUMENT_KIND,
-                                               "pay");
-      if (NULL != order_req)
-        return begin_payment (puc,
-                              GNUNET_YES);
-    } */
-    /* ready to begin! */
-    return MHD_YES;
-  }
-  /* handle upload */
-  // FIXME adapt upload handling
-  if (0 != recovery_data_size)
-  {
-    /* check MHD invariant */
-    GNUNET_assert (puc->upload_off + *recovery_data_size <= puc->upload_size);
-    memcpy (&puc->upload[puc->upload_off],
-            recovery_data,
-            *recovery_data_size);
-    puc->upload_off += *recovery_data_size;
-    GNUNET_CRYPTO_hash_context_read (puc->hash_ctx,
-                                     recovery_data,
-                                     *recovery_data_size);
-    *recovery_data_size = 0;
-    return MHD_YES;
-  }
-  if (NULL != bc->resp)
-  {
-    /* We generated a response asynchronously, queue that */
-    return MHD_queue_response (connection,
-                               bc->response_code,
-                               bc->resp);
-  }
-
-  /* finished with upload, check hash */
-  {
-    struct GNUNET_HashCode our_hash;
-
-    GNUNET_CRYPTO_hash_context_finish (bc->hash_ctx,
-                                       &our_hash);
-    bc->hash_ctx = NULL;
-    if (0 != GNUNET_memcmp (&our_hash,
-                            &bc->new_backup_hash))
-    {
-      GNUNET_break_op (0);
-      return TALER_MHD_reply_with_error (connection,
-                                         MHD_HTTP_BAD_REQUEST,
-                                         TALER_EC_SYNC_INVALID_UPLOAD,
-                                         "Data uploaded does not match Etag 
promise");
-    }
-  }
-
-  /* store backup to database */
-  {
-    enum SYNC_DB_QueryStatus qs;
-
-    if (GNUNET_is_zero (&bc->old_backup_hash))
-      qs = db->store_backup_TR (db->cls,
-                                account,
-                                &bc->account_sig,
-                                &bc->new_backup_hash,
-                                bc->upload_size,
-                                bc->upload);
-    else
-      qs = db->update_backup_TR (db->cls,
-                                 account,
-                                 &bc->old_backup_hash,
-                                 &bc->account_sig,
-                                 &bc->new_backup_hash,
-                                 bc->upload_size,
-                                 bc->upload);
-    if (qs < 0)
-      return handle_database_error (bc,
-                                    qs);
-    if (0 == qs)
-    {
-      /* database says nothing actually changed, 304 (could
-         theoretically happen if another equivalent upload succeeded
-         since we last checked!) */
-      struct MHD_Response *resp;
-      int ret;
-
-      resp = MHD_create_response_from_buffer (0,
-                                              NULL,
-                                              MHD_RESPMEM_PERSISTENT);
-      GNUNET_break (MHD_YES ==
-                    MHD_add_response_header (resp,
-                                             
MHD_HTTP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN,
-                                             "*"));
-      ret = MHD_queue_response (connection,
-                                MHD_HTTP_NOT_MODIFIED,
-                                resp);
-      MHD_destroy_response (resp);
-      return ret;
-    }
+    /* interesting case below */
+    break;
   }
-
-  /* generate main (204) standard success reply */
+  resp = MHD_create_response_from_buffer (recovery_data_size,
+                                          recovery_data,
+                                          MHD_RESPMEM_MUST_FREE);
+  GNUNET_break (MHD_YES ==
+                MHD_add_response_header (resp,
+                                         
MHD_HTTP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN,
+                                         "*"));
   {
-    struct MHD_Response *resp;
-    int ret;
-
-    resp = MHD_create_response_from_buffer (0,
-                                            NULL,
-                                            MHD_RESPMEM_PERSISTENT);
+    char *sig_s;
+    char *prev_s;
+    char *etag;
+
+    sig_s = GNUNET_STRINGS_data_to_string_alloc (&account_sig,
+                                                 sizeof (account_sig));
+    prev_s = GNUNET_STRINGS_data_to_string_alloc (&prev_hash,
+                                                  sizeof (prev_hash));
+    etag = GNUNET_STRINGS_data_to_string_alloc (&recovery_data_hash,
+                                                sizeof (recovery_data_hash));
     GNUNET_break (MHD_YES ==
                   MHD_add_response_header (resp,
-                                           
MHD_HTTP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN,
-                                           "*"));
-    ret = MHD_queue_response (connection,
-                              MHD_HTTP_NO_CONTENT,
-                              resp);
-    MHD_destroy_response (resp);
-    return ret;
-  }
-  
-  void *recovery_data;
-  const char *paymentIdentifier_str;
-  const struct ANASTASIS_PaymentSecretP *paymentIdentifier;
-  unsigned int version;
-  int ret;
-
-  GNUNET_STRINGS_string_to_data (recovery_data,
-                                 strlen (recovery_data),
-                                 &recovery_data,
-                                 sizeof (recovery_data));
-
-  
-
-    paymentIdentifier_str = MHD_lookup_connection_value (connection,
-                                                         MHD_HEADER_KIND,
-                                                         "Payment-Identifier");
-
-    memcpy (&paymentIdentifier,
-            paymentIdentifier_str,
-            strlen (paymentIdentifier_str) + 1);
-
-    db->store_recovery_document (db->cls,
-                                 &accountPubP,
-                                 recovery_data,
-                                 sizeof (recovery_data),
-                                 paymentIdentifier,
-                                 &version);
-
-  }
-
-  // BUILD reply
-  {
-    struct MHD_Response *response;
-
-    // FIXME: find correct create response
-    response = GNUNET_REST_create_response ("Irgendwas");
-
-    TALER_MHD_add_global_headers (response);
+                                           "Sync-Signature",
+                                           sig_s));
     GNUNET_break (MHD_YES ==
-                  MHD_add_response_header (response,
-                                           "Anastasis-Version",
-                                           version + ""));
-    ret = MHD_queue_response (connection,
-                              MHD_HTTP_OK,
-                              response);
-    MHD_destroy_response (response);
+                  MHD_add_response_header (resp,
+                                           "Sync-Previous",
+                                           prev_s));
+    GNUNET_break (MHD_YES ==
+                  MHD_add_response_header (resp,
+                                           MHD_HTTP_HEADER_ETAG,
+                                           etag));
+    GNUNET_free (etag);
+    GNUNET_free (prev_s);
+    GNUNET_free (sig_s);
   }
+  ret = MHD_queue_response (connection,
+                            default_http_status,
+                            resp);
+  MHD_destroy_response (resp);
   return ret;
 }
 
@@ -644,8 +167,11 @@ AH_handler_policy_GET (struct MHD_Connection *connection,
   struct ANASTASIS_AccountPubP accountPubP;
   void *res_recovery_data;
   size_t res_recovery_data_size;
-  uint32_t version;
+  struct ANASTASIS_AccountSignatureP account_sig;
+  struct GNUNET_HashCode prev_hash;
+  struct GNUNET_HashCode recovery_data_hash;
   const char *version_s;
+  uint32_t version;
   int ret;
   enum ANASTASIS_DB_QueryStatus qs;
 
@@ -686,6 +212,9 @@ AH_handler_policy_GET (struct MHD_Connection *connection,
     }
     qs = db->get_recovery_document (db->cls,
                                     &accountPubP,
+                                    &account_sig,
+                                    &prev_hash,
+                                    &recovery_data_hash,
                                     version,
                                     &res_recovery_data_size,
                                     &res_recovery_data);
@@ -694,6 +223,9 @@ AH_handler_policy_GET (struct MHD_Connection *connection,
   {
     qs = db->get_latest_recovery_document (db->cls,
                                            &accountPubP,
+                                           &account_sig,
+                                           &prev_hash,
+                                           &recovery_data_hash,
                                            &res_recovery_data_size,
                                            &res_recovery_data,
                                            &version);
@@ -749,4 +281,3 @@ AH_handler_policy_GET (struct MHD_Connection *connection,
   }
   return ret;
 }
-
diff --git a/src/backend/anastasis-httpd_policy.c.uncrustify 
b/src/backend/anastasis-httpd_policy.c.uncrustify
new file mode 100644
index 0000000..e69de29
diff --git a/src/backend/anastasis-httpd_policy.h 
b/src/backend/anastasis-httpd_policy.h
index 13a955e..0b88fb4 100644
--- a/src/backend/anastasis-httpd_policy.h
+++ b/src/backend/anastasis-httpd_policy.h
@@ -50,5 +50,20 @@ AH_handler_policy_POST (struct MHD_Connection *connection,
                         const char *upload_data,
                         size_t *upload_data_size);
 
+/**
+ * Return the current recoverydocument of @a account on @a connection
+ * using @a default_http_status on success.
+ *
+ * @param connection MHD connection to use
+ * @param account account to query
+ * @param default_http_status HTTP status to queue response
+ *  with on success (#MHD_HTTP_OK or #MHD_HTTP_CONFLICT)
+ * @return MHD result code
+ */
+int
+AH_return_backup (struct MHD_Connection *connection,
+                  const struct ANASTASIS_AccountPubP *account,
+                  unsigned int default_http_status);
+
 
 #endif
\ No newline at end of file
diff --git a/src/backend/anastasis-httpd_policy.c 
b/src/backend/anastasis-httpd_policy_upload.c
similarity index 54%
copy from src/backend/anastasis-httpd_policy.c
copy to src/backend/anastasis-httpd_policy_upload.c
index d21b34f..69b333e 100644
--- a/src/backend/anastasis-httpd_policy.c
+++ b/src/backend/anastasis-httpd_policy_upload.c
@@ -111,17 +111,17 @@ struct PolicyUploadContext
   struct MHD_Response *resp;
 
   /**
-   * Order under which the client promised payment, or NULL.
+   * payment identifier under which the client promised payment, or NULL.
    */
-  const char *order_id;
+  const char *payment_identifier;
 
   /**
-   * Order ID for the client that we found in our database.
+   * Payment identifier for the client that we found in our database.
    */
-  char *existing_order_id;
+  char *existing_payment_identifier;
 
   /**
-   * Timestamp of the order in @e existing_order_id. Used to
+   * Timestamp of the order in @e existing_payment_identifier. Used to
    * select the most recent unpaid offer.
    */
   struct GNUNET_TIME_Absolute existing_order_timestamp;
@@ -171,12 +171,263 @@ cleanup_ctx (struct TM_HandlerContext *hc)
     GNUNET_CRYPTO_hash_context_abort (puc->hash_ctx);
   if (NULL != puc->resp)
     MHD_destroy_response (puc->resp);
-  GNUNET_free_non_null (puc->existing_order_id);
+  GNUNET_free_non_null (puc->existing_payment_identifier);
   GNUNET_free_non_null (puc->upload);
   GNUNET_free (puc);
 }
 
 
+/**
+ * Transmit a payment request for @a payment_identifier on @a connection
+ *
+ * @param connection MHD connection
+ * @param payment_identifier our backend's order ID
+ * @return MHD repsonse to use
+ */
+static struct MHD_Response *
+make_payment_request (const char *payment_identifier)
+{
+  struct MHD_Response *resp;
+
+  /* request payment via Taler */
+  resp = MHD_create_response_from_buffer (0,
+                                          NULL,
+                                          MHD_RESPMEM_PERSISTENT);
+  GNUNET_break (MHD_YES ==
+                MHD_add_response_header (resp,
+                                         
MHD_HTTP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN,
+                                         "*"));
+  {
+    char *hdr;
+
+    /* TODO: support instances? */
+    GNUNET_asprintf (&hdr,
+                     "taler://pay/%s/-/-/%s",
+                     AH_backend_url,
+                     payment_identifier);
+    GNUNET_break (MHD_YES ==
+                  MHD_add_response_header (resp,
+                                           "Taler",
+                                           hdr));
+    GNUNET_free (hdr);
+  }
+  return resp;
+}
+
+/**
+ * FIXME: Is this reasonable?
+ */
+unsigned int
+amount_to_post_counter (const struct TALER_Amount *amount) {
+  /* FIXME: reasonable conversion from Taler Amount to post counter */
+  if (0 == strcmp (amount->currency, "CHF") || 0 == strcmp (amount->currency, 
"EUR"))
+  {
+    //FIXME: check if long long value is in int range
+    return (int)amount->value * 10;
+  }
+  return 0;
+}
+
+/**
+ * Callbacks of this type are used to serve the result of submitting a
+ * /contract request to a merchant.
+ *
+ * @param cls our `struct PolicyUploadContext`
+ * @param http_status HTTP response code, 200 indicates success;
+ *                    0 if the backend's reply is bogus (fails to follow the 
protocol)
+ * @param ec taler-specific error code
+ * @param obj raw JSON reply, or error details if the request failed
+ * @param payment_identifier_str payment_identifier base64 encoded of the 
newly created order
+ */
+static void
+proposal_cb (void *cls,
+             unsigned int http_status,
+             enum TALER_ErrorCode ec,
+             const json_t *obj,
+             const char *payment_identifier_str)
+{
+  struct PolicyUploadContext *puc = cls;
+  enum ANASTASIS_DB_QueryStatus qs;
+  unsigned int post_counter;
+  void *payment_identifier;
+  GNUNET_STRINGS_base64_decode (payment_identifier_str,
+                                strlen (payment_identifier_str),
+                                &payment_identifier);
+  puc->po = NULL;
+  GNUNET_CONTAINER_DLL_remove (puc_head,
+                               puc_tail,
+                               puc);
+  MHD_resume_connection (puc->con);
+  post_counter = amount_to_post_counter ( &AH_annual_fee);
+  qs = db->record_payment (db->cls,
+                           &puc->account,
+                           post_counter,
+                           payment_identifier);
+  if (0 >= qs)
+  {
+    GNUNET_break (0);
+    puc->resp = TALER_MHD_make_error (TALER_EC_SYNC_PAYMENT_CREATE_DB_ERROR,
+                                     "Failed to persist payment request in 
sync database");
+    puc->response_code = MHD_HTTP_INTERNAL_SERVER_ERROR;
+    return;
+  }
+
+  puc->resp = make_payment_request (payment_identifier);
+  puc->response_code = MHD_HTTP_PAYMENT_REQUIRED;
+}
+
+
+/**
+ * Callback to process a GET /check-payment request
+ *
+ * @param cls our `struct PolicyUploadContext`
+ * @param http_status HTTP status code for this request
+ * @param obj raw response body
+ * @param paid #GNUNET_YES if the payment is settled, #GNUNET_NO if not
+ *        settled, $GNUNET_SYSERR on error
+ *        (note that refunded payments are returned as paid!)
+ * @param refunded #GNUNET_YES if there is at least on refund on this payment,
+ *        #GNUNET_NO if refunded, #GNUNET_SYSERR or error
+ * @param refunded_amount amount that was refunded, NULL if there
+ *        was no refund
+ * @param taler_pay_uri the URI that instructs the wallets to process
+ *                      the payment
+ */
+static void
+check_payment_cb (void *cls,
+                  unsigned int http_status,
+                  const json_t *obj,
+                  int paid,
+                  int refunded,
+                  struct TALER_Amount *refund_amount,
+                  const char *taler_pay_uri)
+{
+  struct PolicyUploadContext *puc = cls;
+
+  /* refunds are not supported, verify */
+  puc->cpo = NULL;
+  MHD_resume_connection (puc->con);
+  GNUNET_break ( (GNUNET_NO == refunded) &&
+                 (NULL == refund_amount) );
+  if (paid)
+  {
+    enum ANASTASIS_DB_QueryStatus qs;
+    void *payment_identifier;
+    GNUNET_STRINGS_base64_decode (puc->payment_identifier,
+                                  strlen (puc->payment_identifier),
+                                  &payment_identifier);
+
+    qs = db->increment_lifetime (db->cls,
+                                 &puc->account,
+                                 payment_identifier,
+                                 GNUNET_TIME_UNIT_YEARS); /* always annual ?*/
+    if (0 <= qs)
+      return; /* continue as planned */
+    GNUNET_break (0);
+    puc->resp = TALER_MHD_make_error (TALER_EC_SYNC_PAYMENT_CONFIRM_DB_ERROR,
+                                     "Failed to persist payment confirmation 
in sync database");
+    puc->response_code = MHD_HTTP_INTERNAL_SERVER_ERROR;
+    return; /* continue as planned */
+  }
+  if (NULL != puc->existing_payment_identifier)
+  {
+    /* repeat payment request */
+    puc->resp = make_payment_request (puc->existing_payment_identifier);
+    puc->response_code = MHD_HTTP_PAYMENT_REQUIRED;
+    return;
+  }
+  puc->resp = TALER_MHD_make_error (TALER_EC_SYNC_PAYMENT_TIMEOUT,
+                                   "Timeout awaiting promised payment");
+  puc->response_code = MHD_HTTP_REQUEST_TIMEOUT;
+}
+
+
+/**
+ * Helper function used to ask our backend to await
+ * a payment for the user's account.
+ *
+ * @param puc context to begin payment for.
+ * @param timeout when to give up trying
+ * @param payment_identifier which order to check for the payment
+ */
+static void
+await_payment (struct PolicyUploadContext *puc,
+               struct GNUNET_TIME_Relative timeout,
+               const char *payment_identifier)
+{
+  GNUNET_CONTAINER_DLL_insert (puc_head,
+                               puc_tail,
+                               puc);
+  MHD_suspend_connection (puc->con);
+  puc->payment_identifier = payment_identifier;
+  puc->cpo = TALER_MERCHANT_check_payment (AH_ctx,
+                                           AH_backend_url,
+                                           puc->payment_identifier,
+                                           NULL /* our payments are NOT 
session-bound */,
+                                           timeout,
+                                           &check_payment_cb,
+                                           puc);
+}
+
+
+/**
+ * Helper function used to ask our backend to begin
+ * processing a payment for the user's account.
+ * May perform asynchronous operations by suspending the connection
+ * if required.
+ *
+ * @param puc context to begin payment for.
+ * @param pay_req #GNUNET_YES if payment was explicitly requested,
+ *                #GNUNET_NO if payment is needed
+ * @return MHD status code
+ */
+static int
+begin_payment (struct PolicyUploadContext *puc,
+               int pay_req)
+{
+  json_t *order;
+  enum ANASTASIS_DB_QueryStatus qs;
+
+  qs = db->lookup_pending_payment_by_account (db->cls,
+                                              &puc->account);
+  if (qs < 0)
+  {
+    struct MHD_Response *resp;
+    int ret;
+
+    resp = TALER_MHD_make_error (TALER_EC_SYNC_PAYMENT_CHECK_ORDER_DB_ERROR,
+                                 "Failed to check for existing order in 
anastasis database");
+    ret = MHD_queue_response (puc->con,
+                              MHD_HTTP_INTERNAL_SERVER_ERROR,
+                              resp);
+    MHD_destroy_response (resp);
+    return ret;
+  }
+  if (NULL != puc->existing_payment_identifier)
+  {
+    await_payment (puc,
+                   GNUNET_TIME_UNIT_ZERO /* no long polling */,
+                   puc->existing_payment_identifier);
+    return MHD_YES;
+  }
+  GNUNET_CONTAINER_DLL_insert (puc_head,
+                               puc_tail,
+                               puc);
+  MHD_suspend_connection (puc->con);
+  order = json_pack ("{s:o, s:s, s:s}",
+                     "amount", TALER_JSON_from_amount (&AH_annual_fee),
+                     "summary", "annual fee for async service",
+                     "fulfillment_url", AH_fulfillment_url);
+  puc->po = TALER_MERCHANT_order_put (AH_ctx,
+                                      AH_backend_url,
+                                      order,
+                                      &proposal_cb,
+                                      puc);
+  json_decref (order);
+  return MHD_YES;
+}
+
+
 /**
  * We got some query status from the DB.  Handle the error cases.
  * May perform asynchronous operations by suspending the connection
@@ -195,28 +446,28 @@ handle_database_error (struct PolicyUploadContext *puc,
   case ANASTASIS_DB_STATUS_OLD_RECOVERY_UPLOAD_MISSMATCH:
     /* FIXME handle missmatch
 
-    return SH_return_backup (puc->con,
+    return AH_return_backup (puc->con,
                              &puc->account,
                              MHD_HTTP_CONFLICT);
     */
-    return MHD_YES; //FIXME
+    return MHD_YES; // FIXME
   case ANASTASIS_DB_STATUS_PAYMENT_REQUIRED:
     /* FIXME: payment handling
 
     {
-      const char *order_id;
+      const char *payment_identifier;
 
-      order_id = MHD_lookup_connection_value (puc->con,
+      payment_identifier = MHD_lookup_connection_value (puc->con,
                                               MHD_GET_ARGUMENT_KIND,
                                               "paying");
-      if (NULL == order_id)
+      if (NULL == payment_identifier)
       {
         return begin_payment (puc,
                               GNUNET_NO);
       }
       await_payment (puc,
                      CHECK_PAYMENT_TIMEOUT,
-                     order_id);
+                     payment_identifier);
     }
     */
     return MHD_YES;
@@ -268,8 +519,8 @@ AH_handler_policy_POST (struct MHD_Connection *connection,
 
     /* extract publickey from url */
     GNUNET_assert (0 == strncmp (url,
-                               "/policy/",
-                               strlen ("/policy/")));
+                                 "/policy/",
+                                 strlen ("/policy/")));
     {
       const char *account;
 
@@ -280,9 +531,9 @@ AH_handler_policy_POST (struct MHD_Connection *connection,
                                                       &accountPubP.pub))
       {
         return TALER_MHD_reply_with_error (connection,
-                                          MHD_HTTP_BAD_REQUEST,
-                                          42 /*FIXME */,
-                                          "account public key malformed");
+                                           MHD_HTTP_BAD_REQUEST,
+                                           42 /*FIXME */,
+                                           "account public key malformed");
       }
     }
     puc->account = accountPubP;
@@ -305,13 +556,13 @@ AH_handler_policy_POST (struct MHD_Connection *connection,
         GNUNET_break_op (0);
         return TALER_MHD_reply_with_error (connection,
                                            MHD_HTTP_BAD_REQUEST,
-                                           //FIXME: ANASTASIS error c
+                                           // FIXME: ANASTASIS error c
                                            TALER_EC_SYNC_BAD_CONTENT_LENGTH,
                                            (NULL == lens)
                                            ? "Content-length value missing"
                                            : "Content-length value malformed");
       }
-      if (len / 1024 / 1024 >= SH_upload_limit_mb)
+      if (len / 1024 / 1024 >= AH_upload_limit_mb)
       {
         GNUNET_break_op (0);
         return TALER_MHD_reply_with_error (connection,
@@ -454,13 +705,13 @@ AH_handler_policy_POST (struct MHD_Connection *connection,
                               &puc->old_policy_upload_hash))
       {
         /* Refuse upload: if-none-match failed! */
-        return SH_return_backup (connection,
-                                 accountPubP,
+        return AH_return_backup (connection,
+                                 &accountPubP,
                                  MHD_HTTP_CONFLICT);
       }
     }
     /* check if the client insists on paying */
-    { /* FIXME handle paying
+    { 
       const char *order_req;
 
       order_req = MHD_lookup_connection_value (connection,
@@ -469,79 +720,99 @@ AH_handler_policy_POST (struct MHD_Connection *connection,
       if (NULL != order_req)
         return begin_payment (puc,
                               GNUNET_YES);
-    } */
-    /* ready to begin! */
-    return MHD_YES;
-  }
-  /* handle upload */
-  // FIXME adapt upload handling
-  if (0 != recovery_data_size)
-  {
-    /* check MHD invariant */
-    GNUNET_assert (puc->upload_off + *recovery_data_size <= puc->upload_size);
-    memcpy (&puc->upload[puc->upload_off],
-            recovery_data,
-            *recovery_data_size);
-    puc->upload_off += *recovery_data_size;
-    GNUNET_CRYPTO_hash_context_read (puc->hash_ctx,
-                                     recovery_data,
-                                     *recovery_data_size);
-    *recovery_data_size = 0;
-    return MHD_YES;
-  }
-  if (NULL != bc->resp)
-  {
-    /* We generated a response asynchronously, queue that */
-    return MHD_queue_response (connection,
-                               bc->response_code,
-                               bc->resp);
-  }
+    } 
+      /* ready to begin! */
+      return MHD_YES;
+    }
+    /* handle upload */
+    if (0 != recovery_data_size)
+    {
+      /* check MHD invariant */
+      GNUNET_assert (puc->upload_off + *recovery_data_size <= 
puc->upload_size);
+      memcpy (&puc->upload[puc->upload_off],
+              recovery_data,
+              *recovery_data_size);
+      puc->upload_off += *recovery_data_size;
+      GNUNET_CRYPTO_hash_context_read (puc->hash_ctx,
+                                       recovery_data,
+                                       *recovery_data_size);
+      *recovery_data_size = 0;
+      return MHD_YES;
+    }
+    if (NULL != puc->resp)
+    {
+      /* We generated a response asynchronously, queue that */
+      return MHD_queue_response (connection,
+                                 puc->response_code,
+                                 puc->resp);
+    }
 
-  /* finished with upload, check hash */
-  {
-    struct GNUNET_HashCode our_hash;
+    /* finished with upload, check hash */
+    {
+      struct GNUNET_HashCode our_hash;
+
+      GNUNET_CRYPTO_hash_context_finish (puc->hash_ctx,
+                                         &our_hash);
+      puc->hash_ctx = NULL;
+      if (0 != GNUNET_memcmp (&our_hash,
+                              &puc->new_policy_upload_hash))
+      {
+        GNUNET_break_op (0);
+        return TALER_MHD_reply_with_error (connection,
+                                           MHD_HTTP_BAD_REQUEST,
+                                           TALER_EC_SYNC_INVALID_UPLOAD,
+                                           "Data uploaded does not match Etag 
promise");
+      }
+    }
 
-    GNUNET_CRYPTO_hash_context_finish (bc->hash_ctx,
-                                       &our_hash);
-    bc->hash_ctx = NULL;
-    if (0 != GNUNET_memcmp (&our_hash,
-                            &bc->new_backup_hash))
+    /* store backup to database */
     {
-      GNUNET_break_op (0);
-      return TALER_MHD_reply_with_error (connection,
-                                         MHD_HTTP_BAD_REQUEST,
-                                         TALER_EC_SYNC_INVALID_UPLOAD,
-                                         "Data uploaded does not match Etag 
promise");
+      enum ANASTASIS_DB_QueryStatus qs;
+      void *paymentIdentifier;
+      GNUNET_STRINGS_base64_decode (puc->payment_identifier,
+                                    strlen (puc->payment_identifier),
+                                    &paymentIdentifier);
+      // FIXME: version has to be delivered by header
+      uint32_t version;
+
+      qs = db->store_recovery_document (db->cls,
+                                        &accountPubP,
+                                        &puc->account_sig,
+                                        &puc->old_policy_upload_hash,
+                                        &puc->new_policy_upload_hash,
+                                        recovery_data,
+                                        sizeof (recovery_data),
+                                        paymentIdentifier,
+                                        &version);
+      
+      if (qs < 0)
+        return handle_database_error (puc,
+                                      qs);
+      if (0 == qs)
+      {
+        /* database says nothing actually changed, 304 (could
+           theoretically happen if another equivalent upload succeeded
+           since we last checked!) */
+        struct MHD_Response *resp;
+        int ret;
+
+        resp = MHD_create_response_from_buffer (0,
+                                                NULL,
+                                                MHD_RESPMEM_PERSISTENT);
+        GNUNET_break (MHD_YES ==
+                      MHD_add_response_header (resp,
+                                               
MHD_HTTP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN,
+                                               "*"));
+        ret = MHD_queue_response (connection,
+                                  MHD_HTTP_NOT_MODIFIED,
+                                  resp);
+        MHD_destroy_response (resp);
+        return ret;
+      }
     }
-  }
 
-  /* store backup to database */
-  {
-    enum SYNC_DB_QueryStatus qs;
-
-    if (GNUNET_is_zero (&bc->old_backup_hash))
-      qs = db->store_backup_TR (db->cls,
-                                account,
-                                &bc->account_sig,
-                                &bc->new_backup_hash,
-                                bc->upload_size,
-                                bc->upload);
-    else
-      qs = db->update_backup_TR (db->cls,
-                                 account,
-                                 &bc->old_backup_hash,
-                                 &bc->account_sig,
-                                 &bc->new_backup_hash,
-                                 bc->upload_size,
-                                 bc->upload);
-    if (qs < 0)
-      return handle_database_error (bc,
-                                    qs);
-    if (0 == qs)
+    /* generate main (204) standard success reply */
     {
-      /* database says nothing actually changed, 304 (could
-         theoretically happen if another equivalent upload succeeded
-         since we last checked!) */
       struct MHD_Response *resp;
       int ret;
 
@@ -553,200 +824,9 @@ AH_handler_policy_POST (struct MHD_Connection *connection,
                                              
MHD_HTTP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN,
                                              "*"));
       ret = MHD_queue_response (connection,
-                                MHD_HTTP_NOT_MODIFIED,
+                                MHD_HTTP_NO_CONTENT,
                                 resp);
       MHD_destroy_response (resp);
       return ret;
     }
-  }
-
-  /* generate main (204) standard success reply */
-  {
-    struct MHD_Response *resp;
-    int ret;
-
-    resp = MHD_create_response_from_buffer (0,
-                                            NULL,
-                                            MHD_RESPMEM_PERSISTENT);
-    GNUNET_break (MHD_YES ==
-                  MHD_add_response_header (resp,
-                                           
MHD_HTTP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN,
-                                           "*"));
-    ret = MHD_queue_response (connection,
-                              MHD_HTTP_NO_CONTENT,
-                              resp);
-    MHD_destroy_response (resp);
-    return ret;
-  }
-  
-  void *recovery_data;
-  const char *paymentIdentifier_str;
-  const struct ANASTASIS_PaymentSecretP *paymentIdentifier;
-  unsigned int version;
-  int ret;
-
-  GNUNET_STRINGS_string_to_data (recovery_data,
-                                 strlen (recovery_data),
-                                 &recovery_data,
-                                 sizeof (recovery_data));
-
-  
-
-    paymentIdentifier_str = MHD_lookup_connection_value (connection,
-                                                         MHD_HEADER_KIND,
-                                                         "Payment-Identifier");
-
-    memcpy (&paymentIdentifier,
-            paymentIdentifier_str,
-            strlen (paymentIdentifier_str) + 1);
-
-    db->store_recovery_document (db->cls,
-                                 &accountPubP,
-                                 recovery_data,
-                                 sizeof (recovery_data),
-                                 paymentIdentifier,
-                                 &version);
-
-  }
-
-  // BUILD reply
-  {
-    struct MHD_Response *response;
-
-    // FIXME: find correct create response
-    response = GNUNET_REST_create_response ("Irgendwas");
-
-    TALER_MHD_add_global_headers (response);
-    GNUNET_break (MHD_YES ==
-                  MHD_add_response_header (response,
-                                           "Anastasis-Version",
-                                           version + ""));
-    ret = MHD_queue_response (connection,
-                              MHD_HTTP_OK,
-                              response);
-    MHD_destroy_response (response);
-  }
-  return ret;
-}
-
-
-/**
- * @param connection the MHD connection to handle
- * @param url handles a URL of the format 
"/policy/$ACCOUNT_PUB[&version=$NUMBER]"
- * @param con_cls
- * @return MHD result code
- */
-int
-AH_handler_policy_GET (struct MHD_Connection *connection,
-                       const char *url,
-                       void **con_cls)
-{
-  struct ANASTASIS_AccountPubP accountPubP;
-  void *res_recovery_data;
-  size_t res_recovery_data_size;
-  uint32_t version;
-  const char *version_s;
-  int ret;
-  enum ANASTASIS_DB_QueryStatus qs;
-
-  GNUNET_assert (0 == strncmp (url,
-                               "/policy/",
-                               strlen ("/policy/")));
-  {
-    const char *account;
-
-    account = &url[strlen ("/policy/")];
-    if (GNUNET_OK !=
-        GNUNET_CRYPTO_eddsa_public_key_from_string (account,
-                                                    strlen (account),
-                                                    &accountPubP.pub))
-    {
-      return TALER_MHD_reply_with_error (connection,
-                                         MHD_HTTP_BAD_REQUEST,
-                                         42 /*FIXME */,
-                                         "account public key malformed");
-    }
-  }
-  version_s = MHD_lookup_connection_value (connection,
-                                           MHD_GET_ARGUMENT_KIND,
-                                           "version");
-
-
-  if (NULL != version_s)
-  {
-
-    if (1 != sscanf (version_s,
-                     "%u",
-                     &version))
-    {
-      return TALER_MHD_reply_with_error (connection,
-                                         MHD_HTTP_BAD_REQUEST,
-                                         43 /*FIXME */,
-                                         "version");
-    }
-    qs = db->get_recovery_document (db->cls,
-                                    &accountPubP,
-                                    version,
-                                    &res_recovery_data_size,
-                                    &res_recovery_data);
-  }
-  else
-  {
-    qs = db->get_latest_recovery_document (db->cls,
-                                           &accountPubP,
-                                           &res_recovery_data_size,
-                                           &res_recovery_data,
-                                           &version);
-
-  }
-  switch (qs)
-  {
-  // FIXME: handle DB error cases!
-  case ANASTASIS_DB_STATUS_SUCCESS_NO_RESULTS:
-    return TALER_MHD_reply_with_error (connection,
-                                       MHD_HTTP_NOT_FOUND,
-                                       42 /*FIXME*/,
-                                       "recovery data not available");
-  case ANASTASIS_DB_STATUS_HARD_ERROR:
-    // FIXME: correct reply?
-    return TALER_MHD_reply_with_error (connection,
-                                       MHD_HTTP_INTERNAL_SERVER_ERROR,
-                                       1003,
-                                       "failed hard");
-  case ANASTASIS_DB_STATUS_SOFT_ERROR:
-    // FIXME: correct reply?
-    return TALER_MHD_reply_with_error (connection,
-                                       MHD_HTTP_NOT_ACCEPTABLE,
-                                       42 /*FIXME*/,
-                                       "failed hard");
-  case ANASTASIS_DB_STATUS_SUCCESS_ONE_RESULT:
-    GNUNET_assert (NULL != res_recovery_data);
-    break;
-  }
-
-  // BUILD reply
-  // binary reply
-  {
-    struct MHD_Response *response;
-
-    /*FIXME: header must contain:
-    *         - version of returned encrypted recovery document
-    *         - Etag if Status 200 OK
-    */
-    // FIXME: Find correct create_response
-    response = MHD_create_response_from_buffer (sizeof (res_recovery_data),
-                                                res_recovery_data,
-                                                MHD_RESPMEM_MUST_FREE);
-    TALER_MHD_add_global_headers (response);
-    GNUNET_break (MHD_YES ==
-                  MHD_add_response_header (response,
-                                           MHD_HTTP_HEADER_CONTENT_TYPE,
-                                           "anastasis/encrypted-policy"));
-    ret = MHD_queue_response (connection,
-                              MHD_HTTP_OK,
-                              response);
-    MHD_destroy_response (response);
-  }
-  return ret;
-}
-
+}
\ No newline at end of file
diff --git a/src/backend/anastasis.conf b/src/backend/anastasis.conf
index 11f9d4f..c0df71e 100644
--- a/src/backend/anastasis.conf
+++ b/src/backend/anastasis.conf
@@ -26,6 +26,9 @@ UNIXPATH_MODE = 660
 # Which database backend do we use?
 DB = postgres
 
+# Upload limit per backup, in megabytes
+UPLOAD_LIMIT_MB = 16
+
 # Configuration for postgres database.
 [anastasisdb-postgres]
 CONFIG = postgres:///anastasis
diff --git a/src/include/Makefile.in b/src/include/Makefile.in
index 7d4494b..faa2345 100644
--- a/src/include/Makefile.in
+++ b/src/include/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -329,7 +329,6 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
-runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -370,8 +369,8 @@ Makefile: $(srcdir)/Makefile.in 
$(top_builddir)/config.status
          *config.status*) \
            cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ 
$(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ 
$(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ 
$(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ 
$(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure 
$(CONFIG_STATUS_DEPENDENCIES)
@@ -462,7 +461,10 @@ cscopelist-am: $(am__tagged_files)
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
        list='$(DISTFILES)'; \
diff --git a/src/include/anastasis_database_plugin.h 
b/src/include/anastasis_database_plugin.h
index 3529ae2..967c03d 100644
--- a/src/include/anastasis_database_plugin.h
+++ b/src/include/anastasis_database_plugin.h
@@ -126,52 +126,46 @@ struct ANASTASIS_DatabasePlugin
   enum ANASTASIS_DB_QueryStatus
   (*commit)(void *cls);
 
-  /**
-   * Record user payment.
-   *
-   * @param cls closure
-   * @param payment_id identifier of the payment
-   * @param amount how much was paid
-   * @param anastasis_pub public key of the user's account
-   * @param initial_post_counter how many uploads does @a amount pay for
-   * @param lifetime_inc for how long does @a amount pay for account 
maintenance
-   * @param payment_secret identifier for the payment, used to later charge on 
uploads
-   * @return transaction status
-   */
-  enum ANASTASIS_DB_QueryStatus
-  (*record_payment)(void *cls,
-                    const struct TALER_Amount *amount,
-                    const struct ANASTASIS_AccountPubP *anastasis_pub,
-                    unsigned int initial_post_counter,
-                    struct GNUNET_TIME_Relative lifetime_inc,
-                    const struct ANASTASIS_PaymentSecretP *payment_secret);
 
   /**
-   * Upload encrypted recovery document.
-   *
-   * @param cls closure
-   * @param anastasis_pub public key of the user's account
-   * @param data contains encrypted_recovery_document
-   * @param data_size size of data blob
-   * @param payment_secret identifier for the payment, used to later charge on 
uploads
-   * @param version[OUT] set to the version assigned to the document by the 
database
-   * @return transaction status, 0 if upload could not be finished because @a 
payment_secret
-   *         did not have enough upload left; HARD error if @a payment_secret 
is unknown, ...
-   */
-  enum ANASTASIS_DB_QueryStatus
-  (*store_recovery_document)(void *cls,
-                             const struct ANASTASIS_AccountPubP *anastasis_pub,
-                             const void *data,
-                             size_t data_size,
-                             const struct
-                             ANASTASIS_PaymentSecretP *payment_secret,
-                             uint32_t *version);
+  * Upload encrypted recovery document.
+  *
+  * @param cls closure
+  * @param anastasis_pub public key of the user's account
+  * @param account_sig signature affirming storage request
+  * @param old_data_hash hash of the previous uploaded recovery data (must 
match)
+  * @param data_hash hash of @a data
+  * @param data contains encrypted_recovery_document
+  * @param data_size size of data blob
+  * @param payment_secret identifier for the payment, used to later charge on 
uploads
+  * @param version[OUT] set to the version assigned to the document by the 
database
+  * @return transaction status, 0 if upload could not be finished because @a 
payment_secret
+  *         did not have enough upload left; HARD error if @a payment_secret 
is unknown, ...
+  */
+enum ANASTASIS_DB_QueryStatus
+(*store_recovery_document)(void *cls,
+                           const struct
+                           ANASTASIS_AccountPubP *anastasis_pub,
+                           const struct
+                           ANASTASIS_AccountSignatureP *account_sig,
+                           const struct
+                           GNUNET_HashCode *old_data_hash,
+                           const struct
+                           GNUNET_HashCode *data_hash,
+                           const void *data,
+                           size_t data_size,
+                           const struct
+                           ANASTASIS_PaymentSecretP *payment_secret,
+                           uint32_t *version);
 
   /**
    * Fetch recovery document for user.
    *
    * @param cls closure
    * @param anastasis_pub public key of the user's account
+   * @param account_sig signature
+   * @param prev_hash hash of the previous uploaded recovery data
+   * @param recovery_data_hash hash of the current recovery data
    * @param version[OUT] set to the version number of the policy the user 
requested
    * @param data_size size of data blob
    * @param data blob which contains the recovery document
@@ -180,27 +174,42 @@ struct ANASTASIS_DatabasePlugin
   enum ANASTASIS_DB_QueryStatus
   (*get_recovery_document)(void *cls,
                            const struct ANASTASIS_AccountPubP *anastasis_pub,
+                           struct
+                           ANASTASIS_AccountSignatureP *account_sig,
+                           struct
+                           GNUNET_HashCode *prev_hash,
+                           struct
+                           GNUNET_HashCode *recovery_data_hash,
                            uint32_t version,
                            size_t *data_size,
                            void **data);
 
   /**
-   * Fetch latest recovery document for user.
-   *
-   * @param cls closure
-   * @param anastasis_pub public key of the user's account
-   * @param version[OUT] set to the version number of the policy being returned
-   * @param data_size size of data blob
-   * @param data blob which contains the recovery document
-   * @return transaction status
-   */
-  enum ANASTASIS_DB_QueryStatus
-  (*get_latest_recovery_document)(void *cls,
-                                  const struct
-                                  ANASTASIS_AccountPubP *anastasis_pub,
-                                  size_t *data_size,
-                                  void **data,
-                                  uint32_t *version);
+ * Fetch latest recovery document for user.
+ *
+ * @param cls closure
+ * @param anastasis_pub public key of the user's account
+ * @param account_sig signature
+ * @param prev_hash hash of the previous uploaded recovery data
+ * @param recovery_data_hash hash of the current recovery data
+ * @param data_size size of data blob
+ * @param data blob which contains the recovery document
+ * @param version[OUT] set to the version number of the policy being returned
+ * @return transaction status
+ */
+enum ANASTASIS_DB_QueryStatus
+(*get_latest_recovery_document)(void *cls,
+                                const struct
+                                ANASTASIS_AccountPubP *anastasis_pub,
+                                struct
+                                ANASTASIS_AccountSignatureP *account_sig,
+                                struct
+                                GNUNET_HashCode *prev_hash,
+                                struct
+                                GNUNET_HashCode *recovery_data_hash,
+                                size_t *data_size,
+                                void **data,
+                                uint32_t *version);
 
   /**
    * Upload Truth, which contains the Truth and the KeyShare.
@@ -252,13 +261,57 @@ struct ANASTASIS_DatabasePlugin
                    size_t *key_share_size);
 
   /**
-* @param cls closure
-* @param anastasis_pub account identifier
-* @return transaction status
-*/
+  * @param cls closure
+  * @param anastasis_pub account identifier
+  * @return transaction status
+  */
+  enum ANASTASIS_DB_QueryStatus
+  (*lookup_account)(void *cls,
+                    const struct
+                    ANASTASIS_AccountPubP *anastasis_pub);
+
+  /**
+   * Lookup pending payments by account.
+   *
+   * @param cls closure
+   * @param account_pub account to look for pending payment under
+   */
+  enum ANASTASIS_DB_QueryStatus
+  (*lookup_pending_payment_by_account)(void *cls,
+                                       const struct
+                                       ANASTASIS_AccountPubP *account_pub);
+
+/**
+ * Increment account lifetime.
+ *
+ * @param cls closure
+ * @param account_pub which account received a payment
+ * @param payment_identifier proof of payment, must be unique and match 
pending payment
+ * @param lifetime for how long is the account now paid (increment)
+ * @return transaction status
+ */
+enum ANASTASIS_DB_QueryStatus
+(*increment_lifetime)(void *cls,
+                      const struct ANASTASIS_AccountPubP *anastasis_pub,
+                      const struct ANASTASIS_PaymentSecretP 
*payment_identifier,
+                      struct GNUNET_TIME_Relative lifetime);
+
+
+/**
+ * Store payment. Used to begin a payment, not indicative
+ * that the payment actually was made. (That is done
+ * when we increment the account's lifetime.)
+ * 
+ * @param cls closure
+ * @param anastasis_pub anastasis's public key
+ * @param post_counter how many uploads does @a amount pay for
+ * @param payment_secret payment secret which the user must provide with every 
upload
+ * @return transaction status
+ */
 enum ANASTASIS_DB_QueryStatus
-(*lookup_account)(void *cls,
-                  const struct
-                  ANASTASIS_AccountPubP *anastasis_pub);
+(*record_payment)(void *cls,
+                  const struct ANASTASIS_AccountPubP *anastasis_pub,
+                  unsigned int post_counter,
+                  const struct ANASTASIS_PaymentSecretP *payment_secret);
 };
 #endif
diff --git a/src/lib/auditor.in b/src/lib/auditor.in
new file mode 100644
index 0000000..04b98dc
Binary files /dev/null and b/src/lib/auditor.in differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/auditors/auditor.out 
b/src/lib/test_anastasis_api_home/.local/share/taler/auditors/auditor.out
index 9e4b3d1..909cf46 100644
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/auditors/auditor.out and 
b/src/lib/test_anastasis_api_home/.local/share/taler/auditors/auditor.out differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/.gitignore
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/.gitignore
new file mode 100644
index 0000000..72e8ffc
--- /dev/null
+++ 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/.gitignore
@@ -0,0 +1 @@
+*
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1574613870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1574613870000000
deleted file mode 100755
index c12b746..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1574613870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1574776296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1574776296000000
new file mode 100755
index 0000000..4303fbe
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1574776296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1575218370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1575218370000000
deleted file mode 100755
index f806d8d..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1575218370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1575380796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1575380796000000
new file mode 100755
index 0000000..ff79f4d
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1575380796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1575822870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1575822870000000
deleted file mode 100755
index 431a2ae..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1575822870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1575985296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1575985296000000
new file mode 100755
index 0000000..3e20661
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1575985296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1576427370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1576427370000000
deleted file mode 100755
index a758bc5..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1576427370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1576589796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1576589796000000
new file mode 100755
index 0000000..b300da7
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1576589796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1577031870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1577031870000000
deleted file mode 100755
index 00576f5..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1577031870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1577194296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1577194296000000
new file mode 100755
index 0000000..0f1bced
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1577194296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1577636370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1577636370000000
deleted file mode 100755
index 858a593..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1577636370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1577798796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1577798796000000
new file mode 100755
index 0000000..481ef60
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1577798796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1578240870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1578240870000000
deleted file mode 100755
index d329ab0..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1578240870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1578403296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1578403296000000
new file mode 100755
index 0000000..58721de
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1578403296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1578845370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1578845370000000
deleted file mode 100755
index 97a1bbb..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1578845370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1579007796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1579007796000000
new file mode 100755
index 0000000..8eafaed
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1579007796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1579449870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1579449870000000
deleted file mode 100755
index 2a4e415..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1579449870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1579612296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1579612296000000
new file mode 100755
index 0000000..3897059
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1579612296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1580054370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1580054370000000
deleted file mode 100755
index a9d78a8..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1580054370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1580216796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1580216796000000
new file mode 100755
index 0000000..b103aad
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1580216796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1580658870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1580658870000000
deleted file mode 100755
index d7ff577..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1580658870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1580821296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1580821296000000
new file mode 100755
index 0000000..f7d942b
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1580821296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1581263370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1581263370000000
deleted file mode 100755
index 98d44c9..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1581263370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1581425796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1581425796000000
new file mode 100755
index 0000000..a2da506
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1581425796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1581867870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1581867870000000
deleted file mode 100755
index 4ca1c90..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1581867870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1582030296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1582030296000000
new file mode 100755
index 0000000..65bfeac
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1582030296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1582472370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1582472370000000
deleted file mode 100755
index d77e44d..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1582472370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1582634796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1582634796000000
new file mode 100755
index 0000000..6267af0
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1582634796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1583076870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1583076870000000
deleted file mode 100755
index cea5ca7..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1583076870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1583239296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1583239296000000
new file mode 100755
index 0000000..4638a6c
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1583239296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1583681370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1583681370000000
deleted file mode 100755
index 7b9cc9e..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1583681370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1583843796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1583843796000000
new file mode 100755
index 0000000..b1e02f1
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1583843796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1584285870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1584285870000000
deleted file mode 100755
index 93ee950..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1584285870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1584448296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1584448296000000
new file mode 100755
index 0000000..a78c0f9
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1584448296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1584890370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1584890370000000
deleted file mode 100755
index 6d75427..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1584890370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1585052796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1585052796000000
new file mode 100755
index 0000000..41edb3e
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1585052796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1585494870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1585494870000000
deleted file mode 100755
index 15c8b2d..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1585494870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1585657296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1585657296000000
new file mode 100755
index 0000000..0d31aaf
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1585657296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1586099370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1586099370000000
deleted file mode 100755
index 92175dd..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1586099370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1586261796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1586261796000000
new file mode 100755
index 0000000..4d373fc
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1586261796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1586703870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1586703870000000
deleted file mode 100755
index 6cd75e0..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1586703870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1586866296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1586866296000000
new file mode 100755
index 0000000..3243669
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1586866296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1587308370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1587308370000000
deleted file mode 100755
index 4d1fb96..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1587308370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1587470796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1587470796000000
new file mode 100755
index 0000000..eb4df48
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1587470796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1587912870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1587912870000000
deleted file mode 100755
index f01975e..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1587912870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1588075296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1588075296000000
new file mode 100755
index 0000000..bd22322
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1588075296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1588517370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1588517370000000
deleted file mode 100755
index d271702..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1588517370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1588679796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1588679796000000
new file mode 100755
index 0000000..2cc8fbd
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1588679796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1589121870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1589121870000000
deleted file mode 100755
index a32d745..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1589121870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1589284296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1589284296000000
new file mode 100755
index 0000000..207898f
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1589284296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1589726370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1589726370000000
deleted file mode 100755
index e129d5a..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1589726370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1589888796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1589888796000000
new file mode 100755
index 0000000..b8b7ed4
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1589888796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1590330870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1590330870000000
deleted file mode 100755
index 3cc33a5..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1590330870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1590493296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1590493296000000
new file mode 100755
index 0000000..174ad3a
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1590493296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1590935370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1590935370000000
deleted file mode 100755
index 7a17c07..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1590935370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1591097796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1591097796000000
new file mode 100755
index 0000000..4349633
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1591097796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1591539870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1591539870000000
deleted file mode 100755
index 656b4ae..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1591539870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1591702296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1591702296000000
new file mode 100755
index 0000000..1dcecc9
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1591702296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1592144370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1592144370000000
deleted file mode 100755
index 663369f..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1592144370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1592306796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1592306796000000
new file mode 100755
index 0000000..1b161cf
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1592306796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1592748870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1592748870000000
deleted file mode 100755
index b251352..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1592748870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1592911296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1592911296000000
new file mode 100755
index 0000000..d580736
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1592911296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1593353370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1593353370000000
deleted file mode 100755
index 0cbf5e1..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1593353370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1593515796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1593515796000000
new file mode 100755
index 0000000..9deee45
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1593515796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1593957870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1593957870000000
deleted file mode 100755
index 62571ee..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1593957870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1594120296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1594120296000000
new file mode 100755
index 0000000..def3bcf
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_01-G06NP4M2EJCVJAZ1P5BM/1594120296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1574613870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1574613870000000
deleted file mode 100755
index ff0c780..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1574613870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1574776296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1574776296000000
new file mode 100755
index 0000000..4911fa4
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1574776296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1575218370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1575218370000000
deleted file mode 100755
index 758bcdf..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1575218370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1575380796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1575380796000000
new file mode 100755
index 0000000..97776b6
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1575380796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1575822870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1575822870000000
deleted file mode 100755
index 4fd0b98..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1575822870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1575985296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1575985296000000
new file mode 100755
index 0000000..447b673
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1575985296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1576427370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1576427370000000
deleted file mode 100755
index 6986e90..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1576427370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1576589796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1576589796000000
new file mode 100755
index 0000000..9b95381
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1576589796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1577031870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1577031870000000
deleted file mode 100755
index 8ce3ff7..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1577031870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1577194296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1577194296000000
new file mode 100755
index 0000000..1d6920f
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1577194296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1577636370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1577636370000000
deleted file mode 100755
index a561295..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1577636370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1577798796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1577798796000000
new file mode 100755
index 0000000..447d1c2
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1577798796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1578240870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1578240870000000
deleted file mode 100755
index f016820..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1578240870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1578403296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1578403296000000
new file mode 100755
index 0000000..1683e77
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1578403296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1578845370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1578845370000000
deleted file mode 100755
index f5bd75a..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1578845370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1579007796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1579007796000000
new file mode 100755
index 0000000..933df4a
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1579007796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1579449870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1579449870000000
deleted file mode 100755
index f1dd25d..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1579449870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1579612296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1579612296000000
new file mode 100755
index 0000000..3f261c6
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1579612296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1580054370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1580054370000000
deleted file mode 100755
index b4c48e0..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1580054370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1580216796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1580216796000000
new file mode 100755
index 0000000..d1e8144
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1580216796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1580658870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1580658870000000
deleted file mode 100755
index a49d3c0..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1580658870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1580821296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1580821296000000
new file mode 100755
index 0000000..52c4b1a
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1580821296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1581263370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1581263370000000
deleted file mode 100755
index f58f301..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1581263370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1581425796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1581425796000000
new file mode 100755
index 0000000..87ba1c9
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1581425796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1581867870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1581867870000000
deleted file mode 100755
index 1a92ed5..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1581867870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1582030296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1582030296000000
new file mode 100755
index 0000000..f7e29dd
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1582030296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1582472370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1582472370000000
deleted file mode 100755
index 533b5bf..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1582472370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1582634796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1582634796000000
new file mode 100755
index 0000000..a90b3c1
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1582634796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1583076870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1583076870000000
deleted file mode 100755
index 5925cb7..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1583076870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1583239296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1583239296000000
new file mode 100755
index 0000000..93408f7
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1583239296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1583681370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1583681370000000
deleted file mode 100755
index 3b21d2d..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1583681370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1583843796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1583843796000000
new file mode 100755
index 0000000..b318006
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1583843796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1584285870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1584285870000000
deleted file mode 100755
index 34723ca..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1584285870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1584448296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1584448296000000
new file mode 100755
index 0000000..42449c5
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1584448296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1584890370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1584890370000000
deleted file mode 100755
index bbe9778..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1584890370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1585052796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1585052796000000
new file mode 100755
index 0000000..cc90123
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1585052796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1585494870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1585494870000000
deleted file mode 100755
index c660193..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1585494870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1585657296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1585657296000000
new file mode 100755
index 0000000..71366da
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1585657296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1586099370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1586099370000000
deleted file mode 100755
index 07cb825..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1586099370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1586261796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1586261796000000
new file mode 100755
index 0000000..bc0e13e
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1586261796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1586703870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1586703870000000
deleted file mode 100755
index ac94bb2..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1586703870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1586866296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1586866296000000
new file mode 100755
index 0000000..3d24443
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1586866296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1587308370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1587308370000000
deleted file mode 100755
index cce4127..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1587308370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1587470796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1587470796000000
new file mode 100755
index 0000000..d59a59d
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1587470796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1587912870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1587912870000000
deleted file mode 100755
index f692d6b..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1587912870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1588075296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1588075296000000
new file mode 100755
index 0000000..1f8b9a0
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1588075296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1588517370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1588517370000000
deleted file mode 100755
index 86e6370..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1588517370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1588679796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1588679796000000
new file mode 100755
index 0000000..7db6144
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1588679796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1589121870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1589121870000000
deleted file mode 100755
index 01b3c0b..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1589121870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1589284296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1589284296000000
new file mode 100755
index 0000000..e7e10af
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1589284296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1589726370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1589726370000000
deleted file mode 100755
index 2263907..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1589726370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1589888796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1589888796000000
new file mode 100755
index 0000000..03aa08a
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1589888796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1590330870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1590330870000000
deleted file mode 100755
index bd4c9ff..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1590330870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1590493296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1590493296000000
new file mode 100755
index 0000000..68ac644
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1590493296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1590935370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1590935370000000
deleted file mode 100755
index 8582dfd..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1590935370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1591097796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1591097796000000
new file mode 100755
index 0000000..4829ffe
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1591097796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1591539870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1591539870000000
deleted file mode 100755
index 393338d..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1591539870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1591702296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1591702296000000
new file mode 100755
index 0000000..4b21aa7
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1591702296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1592144370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1592144370000000
deleted file mode 100755
index 7904770..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1592144370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1592306796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1592306796000000
new file mode 100755
index 0000000..e7d9c03
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1592306796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1592748870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1592748870000000
deleted file mode 100755
index 0bb8d26..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1592748870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1592911296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1592911296000000
new file mode 100755
index 0000000..bc28832
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1592911296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1593353370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1593353370000000
deleted file mode 100755
index 7bb3145..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1593353370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1593515796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1593515796000000
new file mode 100755
index 0000000..60dd115
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1593515796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1593957870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1593957870000000
deleted file mode 100755
index a223023..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1593957870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1594120296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1594120296000000
new file mode 100755
index 0000000..4045c37
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_0_1-V0HADRAEFKQ3N2YN2720/1594120296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1574613870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1574613870000000
deleted file mode 100755
index ae6fbaa..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1574613870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1574776296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1574776296000000
new file mode 100755
index 0000000..2d9b960
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1574776296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1575218370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1575218370000000
deleted file mode 100755
index e9e1cdc..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1575218370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1575380796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1575380796000000
new file mode 100755
index 0000000..72d50f0
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1575380796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1575822870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1575822870000000
deleted file mode 100755
index c77d59c..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1575822870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1575985296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1575985296000000
new file mode 100755
index 0000000..5d48b89
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1575985296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1576427370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1576427370000000
deleted file mode 100755
index 9792501..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1576427370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1576589796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1576589796000000
new file mode 100755
index 0000000..3ddc2c3
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1576589796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1577031870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1577031870000000
deleted file mode 100755
index 8eb1d51..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1577031870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1577194296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1577194296000000
new file mode 100755
index 0000000..fff5c2f
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1577194296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1577636370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1577636370000000
deleted file mode 100755
index 41a564b..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1577636370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1577798796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1577798796000000
new file mode 100755
index 0000000..f7d7962
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1577798796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1578240870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1578240870000000
deleted file mode 100755
index dc74dd6..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1578240870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1578403296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1578403296000000
new file mode 100755
index 0000000..467009b
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1578403296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1578845370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1578845370000000
deleted file mode 100755
index ef168f8..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1578845370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1579007796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1579007796000000
new file mode 100755
index 0000000..3725672
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1579007796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1579449870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1579449870000000
deleted file mode 100755
index cb47b78..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1579449870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1579612296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1579612296000000
new file mode 100755
index 0000000..7e2fdb4
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1579612296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1580054370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1580054370000000
deleted file mode 100755
index 4cb06d1..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1580054370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1580216796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1580216796000000
new file mode 100755
index 0000000..b01648e
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1580216796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1580658870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1580658870000000
deleted file mode 100755
index 87a377f..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1580658870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1580821296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1580821296000000
new file mode 100755
index 0000000..7441821
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1580821296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1581263370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1581263370000000
deleted file mode 100755
index d4f3dac..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1581263370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1581425796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1581425796000000
new file mode 100755
index 0000000..492d6c0
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1581425796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1581867870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1581867870000000
deleted file mode 100755
index 910cd57..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1581867870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1582030296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1582030296000000
new file mode 100755
index 0000000..5d74742
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1582030296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1582472370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1582472370000000
deleted file mode 100755
index e1efa79..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1582472370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1582634796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1582634796000000
new file mode 100755
index 0000000..65d7834
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1582634796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1583076870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1583076870000000
deleted file mode 100755
index 2777387..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1583076870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1583239296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1583239296000000
new file mode 100755
index 0000000..469b43a
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1583239296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1583681370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1583681370000000
deleted file mode 100755
index 80e3477..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1583681370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1583843796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1583843796000000
new file mode 100755
index 0000000..93bdae0
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1583843796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1584285870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1584285870000000
deleted file mode 100755
index deb510b..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1584285870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1584448296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1584448296000000
new file mode 100755
index 0000000..d2cff90
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1584448296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1584890370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1584890370000000
deleted file mode 100755
index 246acb1..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1584890370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1585052796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1585052796000000
new file mode 100755
index 0000000..788a6b4
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1585052796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1585494870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1585494870000000
deleted file mode 100755
index eb9143a..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1585494870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1585657296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1585657296000000
new file mode 100755
index 0000000..bb63ff1
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1585657296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1586099370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1586099370000000
deleted file mode 100755
index c5ae559..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1586099370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1586261796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1586261796000000
new file mode 100755
index 0000000..9f234e7
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1586261796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1586703870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1586703870000000
deleted file mode 100755
index 7caf99e..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1586703870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1586866296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1586866296000000
new file mode 100755
index 0000000..1f849a1
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1586866296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1587308370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1587308370000000
deleted file mode 100755
index 511c657..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1587308370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1587470796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1587470796000000
new file mode 100755
index 0000000..509f4eb
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1587470796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1587912870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1587912870000000
deleted file mode 100755
index cfb22ff..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1587912870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1588075296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1588075296000000
new file mode 100755
index 0000000..a6aa44c
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1588075296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1588517370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1588517370000000
deleted file mode 100755
index 20cefa4..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1588517370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1588679796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1588679796000000
new file mode 100755
index 0000000..ece15c5
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1588679796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1589121870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1589121870000000
deleted file mode 100755
index 51a36e7..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1589121870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1589284296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1589284296000000
new file mode 100755
index 0000000..2d17d6c
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1589284296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1589726370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1589726370000000
deleted file mode 100755
index bfcc711..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1589726370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1589888796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1589888796000000
new file mode 100755
index 0000000..8d34bf3
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1589888796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1590330870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1590330870000000
deleted file mode 100755
index 00a6d4a..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1590330870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1590493296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1590493296000000
new file mode 100755
index 0000000..24feb51
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1590493296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1590935370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1590935370000000
deleted file mode 100755
index 50ba95b..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1590935370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1591097796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1591097796000000
new file mode 100755
index 0000000..69757a1
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1591097796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1591539870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1591539870000000
deleted file mode 100755
index 17d37ba..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1591539870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1591702296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1591702296000000
new file mode 100755
index 0000000..919d932
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1591702296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1592144370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1592144370000000
deleted file mode 100755
index 0b9c7b2..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1592144370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1592306796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1592306796000000
new file mode 100755
index 0000000..d9e523a
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1592306796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1592748870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1592748870000000
deleted file mode 100755
index 79249b4..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1592748870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1592911296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1592911296000000
new file mode 100755
index 0000000..9366762
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1592911296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1593353370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1593353370000000
deleted file mode 100755
index b588cd9..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1593353370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1593515796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1593515796000000
new file mode 100755
index 0000000..5956391
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1593515796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1593957870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1593957870000000
deleted file mode 100755
index 7ce70bc..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1593957870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1594120296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1594120296000000
new file mode 100755
index 0000000..675414a
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_1-9EJZYC2VQ92ZY19Z3F71/1594120296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1574613870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1574613870000000
deleted file mode 100755
index dc228e5..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1574613870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1574776296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1574776296000000
new file mode 100755
index 0000000..ff5cc95
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1574776296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1575218370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1575218370000000
deleted file mode 100755
index 4811961..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1575218370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1575380796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1575380796000000
new file mode 100755
index 0000000..e885930
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1575380796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1575822870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1575822870000000
deleted file mode 100755
index a1e97fd..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1575822870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1575985296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1575985296000000
new file mode 100755
index 0000000..1e0eccf
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1575985296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1576427370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1576427370000000
deleted file mode 100755
index 090b7c4..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1576427370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1576589796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1576589796000000
new file mode 100755
index 0000000..9dd540a
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1576589796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1577031870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1577031870000000
deleted file mode 100755
index 2779fb6..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1577031870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1577194296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1577194296000000
new file mode 100755
index 0000000..46b2f3b
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1577194296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1577636370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1577636370000000
deleted file mode 100755
index 16e0c5c..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1577636370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1577798796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1577798796000000
new file mode 100755
index 0000000..ec141e6
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1577798796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1578240870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1578240870000000
deleted file mode 100755
index 0308a03..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1578240870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1578403296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1578403296000000
new file mode 100755
index 0000000..22f2785
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1578403296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1578845370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1578845370000000
deleted file mode 100755
index e921023..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1578845370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1579007796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1579007796000000
new file mode 100755
index 0000000..34ade96
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1579007796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1579449870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1579449870000000
deleted file mode 100755
index 04dff93..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1579449870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1579612296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1579612296000000
new file mode 100755
index 0000000..fe528c4
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1579612296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1580054370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1580054370000000
deleted file mode 100755
index fcca005..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1580054370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1580216796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1580216796000000
new file mode 100755
index 0000000..5e0a9c1
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1580216796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1580658870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1580658870000000
deleted file mode 100755
index 0c9c0d0..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1580658870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1580821296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1580821296000000
new file mode 100755
index 0000000..3570cbd
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1580821296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1581263370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1581263370000000
deleted file mode 100755
index 42acbc2..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1581263370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1581425796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1581425796000000
new file mode 100755
index 0000000..6d2f267
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1581425796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1581867870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1581867870000000
deleted file mode 100755
index f1bc268..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1581867870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1582030296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1582030296000000
new file mode 100755
index 0000000..45951fe
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1582030296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1582472370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1582472370000000
deleted file mode 100755
index 37a5c88..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1582472370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1582634796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1582634796000000
new file mode 100755
index 0000000..9826f54
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1582634796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1583076870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1583076870000000
deleted file mode 100755
index 13629ac..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1583076870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1583239296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1583239296000000
new file mode 100755
index 0000000..50d70c3
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1583239296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1583681370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1583681370000000
deleted file mode 100755
index d169a32..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1583681370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1583843796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1583843796000000
new file mode 100755
index 0000000..dd9f44b
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1583843796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1584285870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1584285870000000
deleted file mode 100755
index 416c39b..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1584285870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1584448296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1584448296000000
new file mode 100755
index 0000000..6d1b4ca
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1584448296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1584890370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1584890370000000
deleted file mode 100755
index a9795e2..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1584890370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1585052796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1585052796000000
new file mode 100755
index 0000000..2d6bf3a
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1585052796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1585494870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1585494870000000
deleted file mode 100755
index bfe580d..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1585494870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1585657296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1585657296000000
new file mode 100755
index 0000000..499abbf
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1585657296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1586099370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1586099370000000
deleted file mode 100755
index 4f8ddef..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1586099370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1586261796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1586261796000000
new file mode 100755
index 0000000..4cbee00
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1586261796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1586703870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1586703870000000
deleted file mode 100755
index b0a1132..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1586703870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1586866296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1586866296000000
new file mode 100755
index 0000000..16f04d7
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1586866296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1587308370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1587308370000000
deleted file mode 100755
index 3843d13..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1587308370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1587470796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1587470796000000
new file mode 100755
index 0000000..8825759
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1587470796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1587912870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1587912870000000
deleted file mode 100755
index 90398df..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1587912870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1588075296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1588075296000000
new file mode 100755
index 0000000..a1a73ea
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1588075296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1588517370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1588517370000000
deleted file mode 100755
index 2da9e23..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1588517370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1588679796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1588679796000000
new file mode 100755
index 0000000..ef27b87
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1588679796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1589121870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1589121870000000
deleted file mode 100755
index 7cc6818..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1589121870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1589284296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1589284296000000
new file mode 100755
index 0000000..e61035e
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1589284296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1589726370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1589726370000000
deleted file mode 100755
index bcfd1c2..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1589726370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1589888796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1589888796000000
new file mode 100755
index 0000000..7f5b16a
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1589888796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1590330870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1590330870000000
deleted file mode 100755
index 9d4bd9f..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1590330870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1590493296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1590493296000000
new file mode 100755
index 0000000..f5643fb
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1590493296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1590935370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1590935370000000
deleted file mode 100755
index af11bcc..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1590935370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1591097796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1591097796000000
new file mode 100755
index 0000000..1c41560
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1591097796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1591539870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1591539870000000
deleted file mode 100755
index d506aea..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1591539870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1591702296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1591702296000000
new file mode 100755
index 0000000..ce0d90f
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1591702296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1592144370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1592144370000000
deleted file mode 100755
index db01b6a..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1592144370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1592306796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1592306796000000
new file mode 100755
index 0000000..709314c
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1592306796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1592748870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1592748870000000
deleted file mode 100755
index f30e00f..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1592748870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1592911296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1592911296000000
new file mode 100755
index 0000000..0476141
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1592911296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1593353370000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1593353370000000
deleted file mode 100755
index 5f8d7f0..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1593353370000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1593515796000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1593515796000000
new file mode 100755
index 0000000..35ce102
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1593515796000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1593957870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1593957870000000
deleted file mode 100755
index 8eb04ee..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1593957870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1594120296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1594120296000000
new file mode 100755
index 0000000..def21b7
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/denomkeys/EUR_5-5JB5S1XBPG62JD2PTYWT/1594120296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1574613870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1574613870000000
deleted file mode 100644
index b131d23..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1574613870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1574776296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1574776296000000
new file mode 100644
index 0000000..0d65fea
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1574776296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1577033070000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1577033070000000
deleted file mode 100644
index c8e63bd..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1577033070000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1577195496000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1577195496000000
new file mode 100644
index 0000000..5ab9b7d
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1577195496000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1579452270000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1579452270000000
deleted file mode 100644
index 499199e..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1579452270000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1579614696000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1579614696000000
new file mode 100644
index 0000000..e0c1f94
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1579614696000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1581871470000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1581871470000000
deleted file mode 100644
index b64f5ce..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1581871470000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1582033896000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1582033896000000
new file mode 100644
index 0000000..e3c9bbb
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1582033896000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1584290670000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1584290670000000
deleted file mode 100644
index 088dde1..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1584290670000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1584453096000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1584453096000000
new file mode 100644
index 0000000..f2d39bb
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1584453096000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1586709870000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1586709870000000
deleted file mode 100644
index aa7958c..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1586709870000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1586872296000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1586872296000000
new file mode 100644
index 0000000..f7ec001
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1586872296000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1589129070000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1589129070000000
deleted file mode 100644
index 24d0dad..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1589129070000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1589291496000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1589291496000000
new file mode 100644
index 0000000..18c8557
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1589291496000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1591548270000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1591548270000000
deleted file mode 100644
index 2e0d79c..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1591548270000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1591710696000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1591710696000000
new file mode 100644
index 0000000..e3adcd3
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1591710696000000
 differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1593967470000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1593967470000000
deleted file mode 100644
index 00a4e83..0000000
Binary files 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1593967470000000
 and /dev/null differ
diff --git 
a/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1594129896000000
 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1594129896000000
new file mode 100644
index 0000000..cd9d3e4
Binary files /dev/null and 
b/src/lib/test_anastasis_api_home/.local/share/taler/exchange/live-keys/signkeys/1594129896000000
 differ
diff --git a/src/stasis/plugin_anastasis_postgres.c 
b/src/stasis/plugin_anastasis_postgres.c
index 66d79b4..383fe81 100644
--- a/src/stasis/plugin_anastasis_postgres.c
+++ b/src/stasis/plugin_anastasis_postgres.c
@@ -211,11 +211,79 @@ commit_transaction (void *cls)
   return qs;
 }
 
+
+/**
+ * Lookup pending payments by account.
+ *
+ * @param cls closure
+ * @param account_pub account to look for pending payment under
+ */
+static enum ANASTASIS_DB_QueryStatus
+postgres_lookup_pending_payment_by_account (void *cls,
+                                            const struct
+                                            ANASTASIS_AccountPubP 
*anastasis_pub)
+{
+  struct GNUNET_TIME_Absolute paid_until;
+  struct GNUNET_TIME_Relative time_remaining;
+  struct PostgresClosure *pg = cls;
+  enum ANASTASIS_DB_QueryStatus qs;
+
+  /* Check if user has paid */
+  {
+    struct GNUNET_PQ_QueryParam params[] = {
+      GNUNET_PQ_query_param_auto_from_type (anastasis_pub),
+      GNUNET_PQ_query_param_end
+    };
+    struct GNUNET_PQ_ResultSpec rs[] = {
+      TALER_PQ_result_spec_absolute_time ("paid_until",
+                                          &paid_until),
+      GNUNET_PQ_result_spec_end
+    };
+
+    qs = GNUNET_PQ_eval_prepared_singleton_select (pg->conn,
+                                                   "user_select",
+                                                   params,
+                                                   rs);
+  }
+
+  switch (qs)
+  {
+  case ANASTASIS_DB_STATUS_HARD_ERROR:
+    rollback (pg);
+    return qs;
+  case ANASTASIS_DB_STATUS_SOFT_ERROR:
+    // FIXME: or: retry internally?
+    rollback (pg);
+    return qs;
+  case ANASTASIS_DB_STATUS_SUCCESS_NO_RESULTS:
+    return ANASTASIS_EC_DB_STATUS_UNKNOWN_USER;
+  case ANASTASIS_DB_STATUS_SUCCESS_ONE_RESULT:
+    time_remaining = GNUNET_TIME_absolute_get_remaining (paid_until);
+    break;
+  default:
+    // FIXME: Some Action
+    rollback (pg);
+    return qs;
+  }
+
+  // rollback if user hasn't paid
+  if (time_remaining.rel_value_us == 0)
+  {
+    rollback (pg);
+    return ANASTASIS_EC_DB_STATUS_PAYMENT_EXPIRED;
+  }
+  return qs;
+}
+
+
 /**
   * Upload encrypted recovery document.
   *
   * @param cls closure
   * @param anastasis_pub public key of the user's account
+  * @param account_sig signature affirming storage request
+  * @param old_data_hash hash of the previous uploaded recovery data (must 
match)
+  * @param data_hash hash of @a data
   * @param data contains encrypted_recovery_document
   * @param data_size size of data blob
   * @param payment_secret identifier for the payment, used to later charge on 
uploads
@@ -223,11 +291,16 @@ commit_transaction (void *cls)
   * @return transaction status, 0 if upload could not be finished because @a 
payment_secret
   *         did not have enough upload left; HARD error if @a payment_secret 
is unknown, ...
   */
-
 static enum ANASTASIS_DB_QueryStatus
 postgres_store_recovery_document (void *cls,
                                   const struct
                                   ANASTASIS_AccountPubP *anastasis_pub,
+                                  const struct
+                                  ANASTASIS_AccountSignatureP *account_sig,
+                                  const struct
+                                  GNUNET_HashCode *old_data_hash,
+                                  const struct
+                                  GNUNET_HashCode *data_hash,
                                   const void *data,
                                   size_t data_size,
                                   const struct
@@ -237,7 +310,7 @@ postgres_store_recovery_document (void *cls,
   struct PostgresClosure *pg = cls;
   enum ANASTASIS_DB_QueryStatus qs;
   uint32_t postcounter;
-  struct GNUNET_TIME_Absolute paid_until;
+  struct GNUNET_HashCode dh;
 
   check_connection (pg);
   if (GNUNET_OK != begin_transaction (pg,
@@ -248,51 +321,57 @@ postgres_store_recovery_document (void *cls,
   }
 
   /* Check if user has paid */
+  qs = postgres_lookup_pending_payment_by_account (pg,
+                                                   anastasis_pub);
+
+  // check if existing recoverydocument conflicts
   {
     struct GNUNET_PQ_QueryParam params[] = {
       GNUNET_PQ_query_param_auto_from_type (anastasis_pub),
       GNUNET_PQ_query_param_end
     };
     struct GNUNET_PQ_ResultSpec rs[] = {
-      TALER_PQ_result_spec_absolute_time ("paid_until",
-                                          &paid_until),
+      GNUNET_PQ_result_spec_auto_from_type ("recovery_data_hash", 
+                                            &dh),
       GNUNET_PQ_result_spec_end
     };
 
     qs = GNUNET_PQ_eval_prepared_singleton_select (pg->conn,
-                                                   "user_select",
+                                                   
"recoverydocument_select_hash",
                                                    params,
                                                    rs);
   }
-
-  struct GNUNET_TIME_Relative time_remaining;
-
   switch (qs)
   {
-  case ANASTASIS_DB_STATUS_HARD_ERROR:
-    rollback (pg);
-    return qs;
-  case ANASTASIS_DB_STATUS_SOFT_ERROR:
-    // FIXME: or: retry internally?
-    rollback (pg);
-    return qs;
-  case ANASTASIS_DB_STATUS_SUCCESS_NO_RESULTS:
-    return ANASTASIS_EC_DB_STATUS_UNKNOWN_USER;
-  case ANASTASIS_DB_STATUS_SUCCESS_ONE_RESULT:
-    time_remaining = GNUNET_TIME_absolute_get_remaining (paid_until);
+  case GNUNET_DB_STATUS_HARD_ERROR:
+    return ANASTASIS_DB_STATUS_HARD_ERROR;
+  case GNUNET_DB_STATUS_SOFT_ERROR:
+    GNUNET_break (0);
+    return ANASTASIS_DB_STATUS_SOFT_ERROR;
+  case GNUNET_DB_STATUS_SUCCESS_NO_RESULTS:
+    /* Well, trying to update where there is no original
+       is a hard erorr, even though an odd one */
+    return ANASTASIS_DB_STATUS_HARD_ERROR;
+  case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
+    /* handle interesting case below */
     break;
   default:
-    // FIXME: Some Action
-    rollback (pg);
-    return qs;
+    GNUNET_break (0);
+    return ANASTASIS_DB_STATUS_HARD_ERROR;
   }
 
-  // rollback if user hasn't paid
-  if (time_remaining.rel_value_us == 0)
-  {
-    rollback (pg);
-    return ANASTASIS_EC_DB_STATUS_PAYMENT_EXPIRED;
-  }
+  /* had an existing recoverydocument, is it identical? */
+  if (0 == GNUNET_memcmp (&dh,
+                          data_hash))
+    /* recoverydocument identical to what was provided, no change */
+    return GNUNET_DB_STATUS_SUCCESS_NO_RESULTS;
+  if (0 == GNUNET_memcmp (&dh,
+                          old_data_hash))
+    /* all constraints seem satisified, original error must
+       have been a hard error */
+    return GNUNET_DB_STATUS_HARD_ERROR;
+  /* previous backup does not match old_backup_hash */
+  return ANASTASIS_DB_STATUS_OLD_RECOVERY_UPLOAD_MISSMATCH;
 
   // lookup if the user has enough uploads left and decrement
   {
@@ -409,7 +488,7 @@ postgres_store_recovery_document (void *cls,
     rollback (pg);
     return qs;
   }
-
+  
   {
     struct GNUNET_PQ_QueryParam params[] = {
       GNUNET_PQ_query_param_auto_from_type (anastasis_pub),
@@ -451,34 +530,31 @@ postgres_store_recovery_document (void *cls,
 }
 
 /**
+ * Increment account lifetime.
  *
  * @param cls closure
- * @param amount amount of taler to be paid
- * @param anastasis_pub anastasis's public key
- * @param initial_post_counter how many uploads does @a amount pay for
- * @param lifetime_inc time the payment is valid till
- * @param payment_secret payment secret which the user must provide with every 
upload
+ * @param account_pub which account received a payment
+ * @param payment_identifier proof of payment, must be unique and match 
pending payment
+ * @param lifetime for how long is the account now paid (increment)
  * @return transaction status
  */
 static enum ANASTASIS_DB_QueryStatus
-postgres_record_payment (void *cls,
-                         const struct TALER_Amount *amount,
-                         const struct ANASTASIS_AccountPubP *anastasis_pub,
-                         unsigned int initial_post_counter,
-                         struct GNUNET_TIME_Relative lifetime_inc,
-                         const struct ANASTASIS_PaymentSecretP *payment_secret)
+postgres_increment_lifetime (void *cls,
+                             const struct ANASTASIS_AccountPubP *anastasis_pub,
+                             const struct ANASTASIS_PaymentSecretP 
*payment_identifier,
+                             struct GNUNET_TIME_Relative lifetime)
 {
   struct PostgresClosure *pg = cls;
+  struct GNUNET_TIME_Absolute expiration;
   enum ANASTASIS_DB_QueryStatus qs;
-  struct GNUNET_TIME_Absolute paid_until;
 
   check_connection (pg);
   if (GNUNET_OK !=
       begin_transaction (pg,
-                         "record_payment"))
+                         "increment lifetime"))
   {
     GNUNET_break (0);
-    return ANASTASIS_DB_STATUS_HARD_ERROR;
+    return GNUNET_DB_STATUS_HARD_ERROR;
   }
 
   {
@@ -488,7 +564,7 @@ postgres_record_payment (void *cls,
     };
     struct GNUNET_PQ_ResultSpec rs[] = {
       TALER_PQ_result_spec_absolute_time ("paid_until",
-                                          &paid_until),
+                                          &expiration),
       GNUNET_PQ_result_spec_end
     };
 
@@ -496,115 +572,138 @@ postgres_record_payment (void *cls,
                                                    "user_select",
                                                    params,
                                                    rs);
-    switch (qs)
-    {
-    case ANASTASIS_DB_STATUS_HARD_ERROR:
-      rollback (pg);
-      return qs;
-    case ANASTASIS_DB_STATUS_SOFT_ERROR:
-      // FIXME: or: retry internally?
-      rollback (pg);
-      return qs;
-    case ANASTASIS_DB_STATUS_SUCCESS_NO_RESULTS:
-      paid_until = GNUNET_TIME_absolute_get ();
-      break;
-    case ANASTASIS_DB_STATUS_SUCCESS_ONE_RESULT:
-      paid_until = GNUNET_TIME_absolute_max (GNUNET_TIME_absolute_get (),
-                                             paid_until);
-      break;
-    default:
-      // FIXME: Some Action
-      rollback (pg);
-      return qs;
-    }
   }
-  paid_until = GNUNET_TIME_absolute_add (paid_until,
-                                         lifetime_inc);
-  GNUNET_TIME_round_abs (&paid_until);
-  if (ANASTASIS_DB_STATUS_SUCCESS_NO_RESULTS == qs)
-  {
-    /* user did not yet exist, create */
-    struct GNUNET_PQ_QueryParam params[] = {
-      GNUNET_PQ_query_param_auto_from_type (anastasis_pub),
-      TALER_PQ_query_param_absolute_time (&paid_until),
-      GNUNET_PQ_query_param_end
-    };
 
-    qs = GNUNET_PQ_eval_prepared_non_select (pg->conn,
-                                             "user_insert",
-                                             params);
-  }
-  else
+  switch (qs)
   {
-    /* user exists, update */
-    struct GNUNET_PQ_QueryParam params[] = {
-      TALER_PQ_query_param_absolute_time (&paid_until),
-      GNUNET_PQ_query_param_auto_from_type (anastasis_pub),
-      GNUNET_PQ_query_param_end
-    };
-
-    qs = GNUNET_PQ_eval_prepared_non_select (pg->conn,
-                                             "user_update",
-                                             params);
+  case GNUNET_DB_STATUS_HARD_ERROR:
+    rollback (pg);
+    return ANASTASIS_DB_STATUS_HARD_ERROR;
+  case GNUNET_DB_STATUS_SOFT_ERROR:
+    rollback (pg);
+    return ANASTASIS_DB_STATUS_SOFT_ERROR;
+  case GNUNET_DB_STATUS_SUCCESS_NO_RESULTS:
+    {
+      //user does not exist, create new one
+      struct GNUNET_PQ_QueryParam params[] = {
+        GNUNET_PQ_query_param_auto_from_type (anastasis_pub),
+        GNUNET_PQ_query_param_absolute_time (&expiration),
+        GNUNET_PQ_query_param_end
+      };
+
+      expiration = GNUNET_TIME_relative_to_absolute (lifetime);
+      qs = GNUNET_PQ_eval_prepared_non_select (pg->conn,
+                                               "user_insert",
+                                               params);
+    }
+    break;
+  case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
+    {
+      //user exists, update paid_until
+      struct GNUNET_PQ_QueryParam params[] = {
+        GNUNET_PQ_query_param_absolute_time (&expiration),
+        GNUNET_PQ_query_param_auto_from_type (anastasis_pub),
+        GNUNET_PQ_query_param_end
+      };
+
+      expiration = GNUNET_TIME_absolute_add (expiration,
+                                             lifetime);
+      qs = GNUNET_PQ_eval_prepared_non_select (pg->conn,
+                                               "user_update",
+                                               params);
+    }
+    break;
+  default:
+    GNUNET_break (0);
+    return ANASTASIS_DB_STATUS_HARD_ERROR;
   }
   switch (qs)
   {
-  case ANASTASIS_DB_STATUS_HARD_ERROR:
+  case GNUNET_DB_STATUS_HARD_ERROR:
     rollback (pg);
-    return qs;
-  case ANASTASIS_DB_STATUS_SOFT_ERROR:
-    // FIXME: or: retry internally?
+    return ANASTASIS_DB_STATUS_HARD_ERROR;
+  case GNUNET_DB_STATUS_SOFT_ERROR:
     rollback (pg);
-    return qs;
-  case ANASTASIS_DB_STATUS_SUCCESS_NO_RESULTS:
+    GNUNET_break (0);
+    return ANASTASIS_DB_STATUS_SOFT_ERROR;
+  case GNUNET_DB_STATUS_SUCCESS_NO_RESULTS:
     GNUNET_break (0);
     rollback (pg);
-    return ANASTASIS_DB_STATUS_HARD_ERROR;
-  case ANASTASIS_DB_STATUS_SUCCESS_ONE_RESULT:
+    return ANASTASIS_DB_STATUS_SUCCESS_NO_RESULTS;
+  case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
     break;
   default:
-    // FIXME: Some Action
-    rollback (pg);
-    return qs;
+    GNUNET_break (0);
+    return ANASTASIS_DB_STATUS_HARD_ERROR;
   }
-
+  qs = commit_transaction (pg);
+  switch (qs)
   {
-    struct GNUNET_PQ_QueryParam params[] = {
-      GNUNET_PQ_query_param_auto_from_type (anastasis_pub),
-      GNUNET_PQ_query_param_uint32 (&initial_post_counter),
-      GNUNET_PQ_query_param_auto_from_type (payment_secret),
-      GNUNET_PQ_query_param_end
-    };
+  case GNUNET_DB_STATUS_HARD_ERROR:
+    return ANASTASIS_DB_STATUS_HARD_ERROR;
+  case GNUNET_DB_STATUS_SOFT_ERROR:
+    GNUNET_break (0);
+    return ANASTASIS_DB_STATUS_SOFT_ERROR;
+  case GNUNET_DB_STATUS_SUCCESS_NO_RESULTS:
+    return ANASTASIS_DB_STATUS_SUCCESS_ONE_RESULT;
+  case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
+    return ANASTASIS_DB_STATUS_SUCCESS_ONE_RESULT;
+  default:
+    GNUNET_break (0);
+    return ANASTASIS_DB_STATUS_HARD_ERROR;
+  }
+}
 
-    qs = GNUNET_PQ_eval_prepared_non_select (pg->conn,
-                                             "payment_insert",
-                                             params);
+/**
+ * Store payment. Used to begin a payment, not indicative
+ * that the payment actually was made. (That is done
+ * when we increment the account's lifetime.)
+ * 
+ * @param cls closure
+ * @param anastasis_pub anastasis's public key
+ * @param post_counter how many uploads does @a amount pay for
+ * @param payment_secret payment secret which the user must provide with every 
upload
+ * @return transaction status
+ */
+static enum ANASTASIS_DB_QueryStatus
+postgres_record_payment (void *cls,
+                         const struct ANASTASIS_AccountPubP *anastasis_pub,
+                         unsigned int post_counter,
+                         const struct ANASTASIS_PaymentSecretP *payment_secret)
+{
+  struct PostgresClosure *pg = cls;
+  enum ANASTASIS_DB_QueryStatus qs;
+  struct GNUNET_TIME_Absolute now = GNUNET_TIME_absolute_get ();
+  struct GNUNET_PQ_QueryParam params[] = {
+    GNUNET_PQ_query_param_auto_from_type (anastasis_pub),
+    GNUNET_PQ_query_param_uint32 (&post_counter),
+    GNUNET_PQ_query_param_auto_from_type (payment_secret),
+    GNUNET_PQ_query_param_absolute_time (&now),
+    GNUNET_PQ_query_param_end
+  };
 
-    switch (qs)
-    {
-    case ANASTASIS_DB_STATUS_HARD_ERROR:
-      rollback (pg);
-      return qs;
-    case ANASTASIS_DB_STATUS_SOFT_ERROR:
-      rollback (pg);
-      return qs;
-    case ANASTASIS_DB_STATUS_SUCCESS_NO_RESULTS:
-      GNUNET_break (0);
-      rollback (pg);
-      return ANASTASIS_DB_STATUS_HARD_ERROR;
-    case ANASTASIS_DB_STATUS_SUCCESS_ONE_RESULT:
-      break;
-    default:
-      // FIXME: Some Action
-      rollback (pg);
-      return qs;
-    }
+  check_connection (pg);
+  postgres_preflight (pg);
+  qs = GNUNET_PQ_eval_prepared_non_select (pg->conn,
+                                           "payment_insert",
+                                           params);
+  switch (qs)
+  {
+  case GNUNET_DB_STATUS_SOFT_ERROR:
+    GNUNET_break (0);
+    return ANASTASIS_DB_STATUS_SOFT_ERROR;
+  case GNUNET_DB_STATUS_SUCCESS_NO_RESULTS:
+    GNUNET_break (0);
+    return ANASTASIS_DB_STATUS_SUCCESS_NO_RESULTS;
+  case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
+    return ANASTASIS_DB_STATUS_SUCCESS_ONE_RESULT;
+  case GNUNET_DB_STATUS_HARD_ERROR:
+    GNUNET_break (0);
+    return ANASTASIS_DB_STATUS_HARD_ERROR;
+  default:
+    GNUNET_break (0);
+    return ANASTASIS_DB_STATUS_HARD_ERROR;
   }
-
-  qs = commit_transaction (pg);
-  if (qs < 0)
-    return qs;
-  return ANASTASIS_DB_STATUS_SUCCESS_ONE_RESULT;
 }
 
 /**
@@ -765,14 +864,14 @@ postgres_get_key_share (void *cls,
 */
 enum ANASTASIS_DB_QueryStatus
 postgres_lookup_account (void *cls,
-                         const struct 
+                         const struct
                          ANASTASIS_AccountPubP *anastasis_pub)
 {
   struct PostgresClosure *pg = cls;
   struct GNUNET_TIME_Absolute paid_until;
   struct GNUNET_PQ_QueryParam params[] = {
-      GNUNET_PQ_query_param_auto_from_type (anastasis_pub),
-      GNUNET_PQ_query_param_end
+    GNUNET_PQ_query_param_auto_from_type (anastasis_pub),
+    GNUNET_PQ_query_param_end
   };
   struct GNUNET_PQ_ResultSpec rs[] = {
     TALER_PQ_result_spec_absolute_time ("paid_until",
@@ -793,15 +892,24 @@ postgres_lookup_account (void *cls,
  *
  * @param cls closure
  * @param anastasis_pub public key of the user's account
- * @param version[OUT] set to the version number of the policy being returned
+ * @param account_sig signature
+ * @param prev_hash hash of the previous uploaded recovery data
+ * @param recovery_data_hash hash of the current recovery data
  * @param data_size size of data blob
  * @param data blob which contains the recovery document
+ * @param version[OUT] set to the version number of the policy being returned
  * @return transaction status
  */
 enum ANASTASIS_DB_QueryStatus
 postgres_get_latest_recovery_document (void *cls,
                                        const struct
                                        ANASTASIS_AccountPubP *anastasis_pub,
+                                       struct
+                                       ANASTASIS_AccountSignatureP 
*account_sig,
+                                       struct
+                                       GNUNET_HashCode *prev_hash,
+                                       struct
+                                       GNUNET_HashCode *recovery_data_hash,
                                        size_t *data_size,
                                        void **data,
                                        uint32_t *version)
@@ -815,6 +923,14 @@ postgres_get_latest_recovery_document (void *cls,
     GNUNET_PQ_result_spec_variable_size ("recovery_data",
                                          data,
                                          data_size),
+    GNUNET_PQ_result_spec_auto_from_type ("account_sig",
+                                          account_sig),
+    GNUNET_PQ_result_spec_auto_from_type ("prev_hash",
+                                          prev_hash),
+    GNUNET_PQ_result_spec_auto_from_type ("recovery_data_hash",
+                                          recovery_data_hash),
+    GNUNET_PQ_result_spec_uint32 ("version",
+                                  version),
     GNUNET_PQ_result_spec_end
   };
 
@@ -831,6 +947,9 @@ postgres_get_latest_recovery_document (void *cls,
  *
  * @param cls closure
  * @param anastasis_pub public key of the user's account
+ * @param account_sig signature
+ * @param prev_hash hash of the previous uploaded recovery data
+ * @param recovery_data_hash hash of the current recovery data
  * @param version[OUT] set to the version number of the policy the user 
requested
  * @param data_size size of data blob
  * @param data blob which contains the recovery document
@@ -840,6 +959,12 @@ enum ANASTASIS_DB_QueryStatus
 postgres_get_recovery_document (void *cls,
                                 const struct
                                 ANASTASIS_AccountPubP *anastasis_pub,
+                                struct
+                                ANASTASIS_AccountSignatureP *account_sig,
+                                struct
+                                GNUNET_HashCode *prev_hash,
+                                struct
+                                GNUNET_HashCode *recovery_data_hash,
                                 uint32_t version,
                                 size_t *data_size,
                                 void **data)
@@ -855,6 +980,12 @@ postgres_get_recovery_document (void *cls,
     GNUNET_PQ_result_spec_variable_size ("recovery_data",
                                          data,
                                          data_size),
+    GNUNET_PQ_result_spec_auto_from_type ("account_sig",
+                                          account_sig),
+    GNUNET_PQ_result_spec_auto_from_type ("prev_hash",
+                                          prev_hash),
+    GNUNET_PQ_result_spec_auto_from_type ("recovery_data_hash",
+                                          recovery_data_hash),
     GNUNET_PQ_result_spec_end
   };
 
@@ -899,13 +1030,15 @@ libanastasis_plugin_db_postgres_init (void *cls)
                             "  payment_identifier BYTEA NOT NULL 
CHECK(LENGTH(payment_identifier)=32),"
                             "  transaction_time TIMESTAMP NOT NULL DEFAULT 
NOW()"
                             ");"),
-    GNUNET_PQ_make_execute (
-      "CREATE TABLE IF NOT EXISTS anastasis_recoverydocument"
-      "( user_id BYTEA NOT NULL REFERENCES anastasis_user(user_id),"
-      "  version INTEGER NOT NULL,"
-      "  recovery_data BYTEA NOT NULL,"
-      "  PRIMARY KEY (user_id, version)"
-      ");"),
+    GNUNET_PQ_make_execute ("CREATE TABLE IF NOT EXISTS 
anastasis_recoverydocument"
+                            "( user_id BYTEA NOT NULL REFERENCES 
anastasis_user(user_id),"
+                            " version INTEGER NOT NULL,"
+                            " account_sig BYTEA NOT NULL CHECK 
(length(account_sig)=64),"
+                            " prev_hash BYTEA NOT NULL CHECK 
(length(prev_hash)=64),"
+                            " recovery_data_hash BYTEA NOT NULL CHECK 
(length(backup_hash)=64),"
+                            " recovery_data BYTEA NOT NULL,"
+                            " PRIMARY KEY (user_id, version)"
+                            ");"),
     GNUNET_PQ_EXECUTE_STATEMENT_END
   };
   struct GNUNET_PQ_PreparedStatement ps[] = {
@@ -938,8 +1071,8 @@ libanastasis_plugin_db_postgres_init (void *cls)
                             ",post_counter"
                             ",payment_identifier"
                             ") VALUES "
-                            "($1, $2, $3);",
-                            3),
+                            "($1, $2, $3, $4);",
+                            4),
     GNUNET_PQ_make_prepare ("truth_insert",
                             "INSERT INTO anastasis_truth "
                             "(truth_id"
@@ -954,10 +1087,13 @@ libanastasis_plugin_db_postgres_init (void *cls)
                             "INSERT INTO anastasis_recoverydocument "
                             "(user_id"
                             ",version"
+                            ",account_sig"
+                            ",prev_hash"
+                            ",recovery_data_hash"
                             ",recovery_data"
                             ") VALUES "
-                            "($1, $2, $3);",
-                            3),
+                            "($1, $2, $3, $4, $5, $6);",
+                            6),
     GNUNET_PQ_make_prepare ("truth_select",
                             "SELECT "
                             "truth,"
@@ -1010,6 +1146,16 @@ libanastasis_plugin_db_postgres_init (void *cls)
                             "anastasis_truth "
                             "WHERE truth_id =$1;",
                             1),
+    GNUNET_PQ_make_prepare ("recoverydocument_select_hash",
+                            "SELECT "
+                            " recovery_data_hash "
+                            "FROM"
+                            " anastasis_recoverydocument "
+                            "WHERE"
+                            " user_id=$1"
+                            " ORDER BY version DESC "
+                            "LIMIT 1;",
+                            1),
     GNUNET_PQ_PREPARED_STATEMENT_END
   };
 
@@ -1038,6 +1184,8 @@ libanastasis_plugin_db_postgres_init (void *cls)
   plugin->get_latest_recovery_document = 
&postgres_get_latest_recovery_document;
   plugin->get_recovery_document = &postgres_get_recovery_document;
   plugin->lookup_account = &postgres_lookup_account;
+  plugin->lookup_pending_payment_by_account = 
&postgres_lookup_pending_payment_by_account;
+  plugin->increment_lifetime = &postgres_increment_lifetime;
   plugin->start = &begin_transaction;
   plugin->check_connection = &check_connection;
 
diff --git a/src/stasis/test_anastasis_db.c b/src/stasis/test_anastasis_db.c
index da458fb..aaf9dea 100644
--- a/src/stasis/test_anastasis_db.c
+++ b/src/stasis/test_anastasis_db.c
@@ -60,6 +60,22 @@ static struct ANASTASIS_PaymentSecretP paymentSecretP;
  */
 static struct ANASTASIS_AccountPubP accountPubP;
 
+/**
+ * Signature over hash of body affirming desire to upload an recovery document
+ */
+static struct ANASTASIS_AccountSignatureP account_sig;
+
+/**
+ * Hash of the previous uploaded recovery doucument
+ * (normally the latest version stored in db before upload)
+ */
+static struct GNUNET_HashCode prev_hash;
+
+/**
+ * Hash of the recovery document to be uploaded
+ */
+static struct GNUNET_HashCode recovery_data_hash;
+
 /**
  * Amount which is deposited, set to random value
  */
@@ -159,6 +175,9 @@ run (void *cls)
   int rec_val = 100;
   recovery_data = &rec_val;
   RND_BLK (recovery_data);
+  GNUNET_CRYPTO_hash (recovery_data, 
+                      sizeof (recovery_data),
+                      &recovery_data_hash);
 
   RND_BLK (&paymentSecretP);
 
@@ -203,6 +222,9 @@ run (void *cls)
   FAILIF (ANASTASIS_DB_STATUS_SUCCESS_ONE_RESULT !=
           plugin->store_recovery_document (plugin->cls,
                                            &accountPubP,
+                                           &account_sig,
+                                           &prev_hash,
+                                           &recovery_data_hash,
                                            &recovery_data,
                                            sizeof (&recovery_data),
                                            &paymentSecretP,

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]