summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2015-10-28 21:06:23 +0100
committerChristian Grothoff <christian@grothoff.org>2015-10-28 21:06:23 +0100
commitc2a40aa83924fd88b9c1ec0084f87109b01a8324 (patch)
tree18376f785528df6997502d51a6a361d4ebec29f6 /src/include
parent3fd22d4b6fdcb470dcbd11b35b20c0ddcf771939 (diff)
downloadexchange-c2a40aa83924fd88b9c1ec0084f87109b01a8324.tar.gz
exchange-c2a40aa83924fd88b9c1ec0084f87109b01a8324.tar.bz2
exchange-c2a40aa83924fd88b9c1ec0084f87109b01a8324.zip
fix #4032: move wire deadline form wire details to advisory field in /deposit request
Diffstat (limited to 'src/include')
-rw-r--r--src/include/taler_mint_service.h3
-rw-r--r--src/include/taler_mintdb_plugin.h11
2 files changed, 14 insertions, 0 deletions
diff --git a/src/include/taler_mint_service.h b/src/include/taler_mint_service.h
index e36dcf692..0222437ba 100644
--- a/src/include/taler_mint_service.h
+++ b/src/include/taler_mint_service.h
@@ -505,6 +505,8 @@ typedef void
*
* @param mint the mint handle; the mint must be ready to operate
* @param amount the amount to be deposited
+ * @param wire_deadline execution date, until which the merchant would like the mint to settle the balance (advisory, the mint cannot be
+ * forced to settle in the past or upon very short notice, but of course a well-behaved mint will limit aggregation based on the advice received)
* @param wire_details the merchant’s account details, in a format supported by the mint
* @param h_contract hash of the contact of the merchant with the customer (further details are never disclosed to the mint)
* @param coin_pub coin’s public key
@@ -523,6 +525,7 @@ typedef void
struct TALER_MINT_DepositHandle *
TALER_MINT_deposit (struct TALER_MINT_Handle *mint,
const struct TALER_Amount *amount,
+ struct GNUNET_TIME_Absolute wire_deadline,
json_t *wire_details,
const struct GNUNET_HashCode *h_contract,
const struct TALER_CoinSpendPublicKeyP *coin_pub,
diff --git a/src/include/taler_mintdb_plugin.h b/src/include/taler_mintdb_plugin.h
index c8013acc3..d83cf9d44 100644
--- a/src/include/taler_mintdb_plugin.h
+++ b/src/include/taler_mintdb_plugin.h
@@ -276,6 +276,14 @@ struct TALER_MINTDB_Deposit
struct GNUNET_TIME_Absolute refund_deadline;
/**
+ * How much time does the merchant have to execute the wire transfer?
+ * This time is advisory for aggregating transactions, not a hard
+ * constraint (as the merchant can theoretically pick any time,
+ * including one in the past).
+ */
+ struct GNUNET_TIME_Absolute wire_deadline;
+
+ /**
* Fraction of the coin's remaining value to be deposited, including
* depositing fee (if any). The coin is identified by @e coin_pub.
*/
@@ -528,6 +536,8 @@ struct TALER_MINTDB_Session;
* @param deposit_fee amount the mint gets to keep as transaction fees
* @param transaction_id unique transaction ID chosen by the merchant
* @param h_contract hash of the contract between merchant and customer
+ * @param wire_deadline by which the merchant adviced that he would like the
+ * wire transfer to be executed
* @param wire wire details for the merchant
* @return #GNUNET_OK to continue to iterate, #GNUNET_SYSERR to stop
*/
@@ -538,6 +548,7 @@ typedef int
const struct TALER_Amount *deposit_fee,
uint64_t transaction_id,
const struct GNUNET_HashCode *h_contract,
+ struct GNUNET_TIME_Absolute wire_deadline,
const json_t *wire);