diff options
author | Christian Grothoff <christian@grothoff.org> | 2015-10-28 21:06:23 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2015-10-28 21:06:23 +0100 |
commit | c2a40aa83924fd88b9c1ec0084f87109b01a8324 (patch) | |
tree | 18376f785528df6997502d51a6a361d4ebec29f6 /src/include | |
parent | 3fd22d4b6fdcb470dcbd11b35b20c0ddcf771939 (diff) | |
download | exchange-c2a40aa83924fd88b9c1ec0084f87109b01a8324.tar.xz |
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.h | 3 | ||||
-rw-r--r-- | src/include/taler_mintdb_plugin.h | 11 |
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); |