diff --git a/src/exchange-lib/exchange_api_track_transfer.c b/src/exchange-lib/exchange_api_track_transfer.c index c37fbf5a5..ffcb19b59 100644 --- a/src/exchange-lib/exchange_api_track_transfer.c +++ b/src/exchange-lib/exchange_api_track_transfer.c @@ -145,6 +145,7 @@ check_track_transfer_response_ok (struct TALER_EXCHANGE_TrackTransferHandle *wdh } /* build up big hash for signature checking later */ dd.h_contract = detail->h_contract; + dd.execution_time = GNUNET_TIME_absolute_hton (exec_time); dd.transaction_id = GNUNET_htonll (detail->transaction_id); dd.coin_pub = detail->coin_pub; TALER_amount_hton (&dd.deposit_value, diff --git a/src/exchange/taler-exchange-httpd_responses.c b/src/exchange/taler-exchange-httpd_responses.c index 47a709a67..8ad934e07 100644 --- a/src/exchange/taler-exchange-httpd_responses.c +++ b/src/exchange/taler-exchange-httpd_responses.c @@ -1201,11 +1201,13 @@ TMH_RESPONSE_reply_track_transfer_details (struct MHD_Connection *connection, struct TALER_ExchangePublicKeyP pub; struct TALER_ExchangeSignatureP sig; + GNUNET_TIME_round_abs (&exec_time); deposits = json_array (); hash_context = GNUNET_CRYPTO_hash_context_start (); for (wdd_pos = wdd_head; NULL != wdd_pos; wdd_pos = wdd_pos->next) { dd.h_contract = wdd_pos->h_contract; + dd.execution_time = GNUNET_TIME_absolute_hton (exec_time); dd.transaction_id = GNUNET_htonll (wdd_pos->transaction_id); dd.coin_pub = wdd_pos->coin_pub; TALER_amount_hton (&dd.deposit_value, diff --git a/src/include/taler_signatures.h b/src/include/taler_signatures.h index a4d599cd7..c294c73af 100644 --- a/src/include/taler_signatures.h +++ b/src/include/taler_signatures.h @@ -959,6 +959,11 @@ struct TALER_WireDepositDetailP */ struct GNUNET_HashCode h_contract; + /** + * Time when the wire transfer was performed by the exchange. + */ + struct GNUNET_TIME_AbsoluteNBO execution_time; + /** * Merchant's transaction ID in NBO. */