commit 3897bd4f018bf23ab485325d48a259958653ff52
parent 526f4eba9554f27e33afb0e02d19d870825b038c
Author: Florian Dold <florian@dold.me>
Date: Sat, 8 Oct 2022 23:21:34 +0200
wallet-core: spec/clarify explicit refresh transaction
Diffstat:
2 files changed, 23 insertions(+), 9 deletions(-)
diff --git a/packages/taler-util/src/transactionsTypes.ts b/packages/taler-util/src/transactionsTypes.ts
@@ -43,7 +43,7 @@ import {
codecForList,
codecForAny,
} from "./codec.js";
-import { TalerErrorDetail } from "./walletTypes.js";
+import { RefreshReason, TalerErrorDetail } from "./walletTypes.js";
export interface TransactionsRequest {
/**
@@ -468,19 +468,35 @@ export interface TransactionTip extends TransactionCommon {
merchantBaseUrl: string;
}
-// A transaction shown for refreshes that are not associated to other transactions
-// such as a refresh necessary before coin expiration.
-// It should only be returned by the API if the effective amount is different from zero.
+/**
+ * A transaction shown for refreshes.
+ * Only shown for (1) refreshes not associated with other transactions
+ * and (2) refreshes in an error state.
+ */
export interface TransactionRefresh extends TransactionCommon {
type: TransactionType.Refresh;
- // Exchange that the coins are refreshed with
+ /**
+ * Exchange that the coins are refreshed with
+ */
exchangeBaseUrl: string;
- // Raw amount that is refreshed
+ refreshReason: RefreshReason;
+
+ /**
+ * Transaction ID that caused this refresh.
+ */
+ originatingTransactionId?: string;
+
+ /**
+ * Always zero for refreshes
+ */
amountRaw: AmountString;
- // Amount that will be paid as fees for the refresh
+ /**
+ * Fees, i.e. the effective, negative effect of the refresh
+ * on the balance.
+ */
amountEffective: AmountString;
}
diff --git a/packages/taler-wallet-core/src/db.ts b/packages/taler-wallet-core/src/db.ts
@@ -1382,8 +1382,6 @@ export interface WithdrawalGroupRecord {
/**
* Current status of the reserve.
- *
- * FIXME: Wrong name!
*/
status: WithdrawalGroupStatus;