aboutsummaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2019-07-22 13:28:48 +0200
committerChristian Grothoff <christian@grothoff.org>2019-07-22 13:28:48 +0200
commita83aa1f70ec66b468c3498251ea55f3ab89f6b0e (patch)
tree0356f217d55c5b9457f797e144d6c8000677e6b7 /src/include
parentc0c80d4a6709fbf1a92417a66635b2b5b5703da7 (diff)
include new payback-refresh possibilities in coin history generation
Diffstat (limited to 'src/include')
-rw-r--r--src/include/taler_signatures.h45
1 files changed, 44 insertions, 1 deletions
diff --git a/src/include/taler_signatures.h b/src/include/taler_signatures.h
index b738e3156..aedf93e36 100644
--- a/src/include/taler_signatures.h
+++ b/src/include/taler_signatures.h
@@ -129,6 +129,11 @@
*/
#define TALER_SIGNATURE_EXCHANGE_RESERVE_CLOSED 1040
+/**
+ * Signature where the Exchange confirms a payback-refresh operation.
+ */
+#define TALER_SIGNATURE_EXCHANGE_CONFIRM_PAYBACK_REFRESH 1041
+
/**********************/
/* Auditor signatures */
@@ -1229,7 +1234,7 @@ struct TALER_PaybackRequestPS
/**
* Response by which the exchange affirms that it will
* refund a coin as part of the emergency /payback
- * protocol. The refund will go back to the bank
+ * protocol. The payback will go back to the bank
* account that created the reserve.
*/
struct TALER_PaybackConfirmationPS
@@ -1266,6 +1271,44 @@ struct TALER_PaybackConfirmationPS
/**
+ * Response by which the exchange affirms that it will refund a refreshed coin
+ * as part of the emergency /payback protocol. The payback will go back to the
+ * old coin's balance.
+ */
+struct TALER_PaybackRefreshConfirmationPS
+{
+
+ /**
+ * Purpose is #TALER_SIGNATURE_EXCHANGE_CONFIRM_PAYBACK_REFRESH
+ */
+ struct GNUNET_CRYPTO_EccSignaturePurpose purpose;
+
+ /**
+ * When did the exchange receive the payback request?
+ * Indirectly determines when the wire transfer is (likely)
+ * to happen.
+ */
+ struct GNUNET_TIME_AbsoluteNBO timestamp;
+
+ /**
+ * How much of the coin's value will the exchange transfer?
+ * (Needed in case the coin was partially spent.)
+ */
+ struct TALER_AmountNBO payback_amount;
+
+ /**
+ * Public key of the refreshed coin.
+ */
+ struct TALER_CoinSpendPublicKeyP coin_pub;
+
+ /**
+ * Public key of the old coin that will receive the payback.
+ */
+ struct TALER_CoinSpendPublicKeyP old_coin_pub;
+};
+
+
+/**
* Response by which the exchange affirms that it has
* closed a reserve and send back the funds.
*/