From de0d987e34d426f6ed3593840078442191255587 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Tue, 11 Feb 2020 15:39:39 +0100 Subject: start with new history API implementation --- doc/prebuilt | 2 +- src/bank-lib/fakebank.c | 22 ++++++++++++++++++++-- src/exchange-tools/taler-exchange-keyup.c | 2 +- src/exchange/taler-exchange-httpd_refresh_reveal.c | 6 +++--- src/lib/exchange_api_handle.c | 2 +- 5 files changed, 26 insertions(+), 8 deletions(-) diff --git a/doc/prebuilt b/doc/prebuilt index 934a6a183..ca53235cc 160000 --- a/doc/prebuilt +++ b/doc/prebuilt @@ -1 +1 @@ -Subproject commit 934a6a18301e81c4fd1b3a8cda2dc13dca4741cc +Subproject commit ca53235ccfa0458ebf11c204888ca370e20ec3f5 diff --git a/src/bank-lib/fakebank.c b/src/bank-lib/fakebank.c index abf486876..c7e324dec 100644 --- a/src/bank-lib/fakebank.c +++ b/src/bank-lib/fakebank.c @@ -776,7 +776,7 @@ handle_transfer (struct TALER_FAKEBANK_Handle *h, /** - * Handle incoming HTTP request for /history + * Handle incoming HTTP request for / * * @param h the fakebank handle * @param connection the connection @@ -925,8 +925,13 @@ handle_debit_history (struct TALER_FAKEBANK_Handle *h, const char *account) { struct HistoryArgs ha; - struct Transaction *pos; + const struct Transaction *pos; json_t *history; + struct TALER_Amount total_incoming; + struct TALER_Amount start_outgoing; + struct TALER_Amount end_outgoing; + const struct Transaction *start_pos; + const struct Transaction *end_pos; if (GNUNET_OK != parse_history_common_args (connection, @@ -967,6 +972,11 @@ handle_debit_history (struct TALER_FAKEBANK_Handle *h, /* list is empty */ pos = NULL; } + if (0 > ha.delta) + end_pos = pos; + else + start_pos = pos; + history = json_array (); while ( (0 != ha.delta) && (NULL != pos) ) @@ -1018,6 +1028,14 @@ handle_debit_history (struct TALER_FAKEBANK_Handle *h, if (0 < ha.delta) pos = pos->next; } + if (0 > ha.delta) + start_pos = pos; + else + end_pos = pos; + GNUNET_assert (GNUNET_OK == + TALER_amount_get_zero (fb->currency, + &)); + return TALER_MHD_reply_json_pack (connection, MHD_HTTP_OK, "{s:o}", diff --git a/src/exchange-tools/taler-exchange-keyup.c b/src/exchange-tools/taler-exchange-keyup.c index 266c1bac0..33039c3d1 100644 --- a/src/exchange-tools/taler-exchange-keyup.c +++ b/src/exchange-tools/taler-exchange-keyup.c @@ -770,7 +770,7 @@ create_denomkey_issue (const struct CoinTypeParams *params, GNUNET_assert (NULL != dki->denom_priv.rsa_private_key); dki->denom_pub.rsa_public_key = GNUNET_CRYPTO_rsa_private_key_get_public ( - dki->denom_priv.rsa_private_key); + dki->denom_priv.rsa_private_key); GNUNET_CRYPTO_rsa_public_key_hash (dki->denom_pub.rsa_public_key, &dki->issue.properties.denom_hash); dki->issue.properties.master = master_public_key; diff --git a/src/exchange/taler-exchange-httpd_refresh_reveal.c b/src/exchange/taler-exchange-httpd_refresh_reveal.c index 3619f9a39..bbafdd1a1 100644 --- a/src/exchange/taler-exchange-httpd_refresh_reveal.c +++ b/src/exchange/taler-exchange-httpd_refresh_reveal.c @@ -697,9 +697,9 @@ resolve_refresh_reveal_denominations (struct TEH_KS_StateHandle *key_state, { rctx->ev_sigs[i].rsa_signature = GNUNET_CRYPTO_rsa_sign_blinded ( - rctx->dkis[i]->denom_priv.rsa_private_key, - rctx->rcds[i].coin_ev, - rctx->rcds[i].coin_ev_size); + rctx->dkis[i]->denom_priv.rsa_private_key, + rctx->rcds[i].coin_ev, + rctx->rcds[i].coin_ev_size); if (NULL == rctx->ev_sigs[i].rsa_signature) { GNUNET_break (0); diff --git a/src/lib/exchange_api_handle.c b/src/lib/exchange_api_handle.c index 783cddea2..e0ef7f403 100644 --- a/src/lib/exchange_api_handle.c +++ b/src/lib/exchange_api_handle.c @@ -1259,7 +1259,7 @@ keys_completed_cb (void *cls, for (unsigned int i = 0; i