aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2022-10-08 23:21:34 +0200
committerFlorian Dold <florian@dold.me>2022-10-08 23:21:34 +0200
commit3897bd4f018bf23ab485325d48a259958653ff52 (patch)
treefd80991886ef02d121116efa909b440e566c9a0d
parent526f4eba9554f27e33afb0e02d19d870825b038c (diff)
wallet-core: spec/clarify explicit refresh transaction
-rw-r--r--packages/taler-util/src/transactionsTypes.ts30
-rw-r--r--packages/taler-wallet-core/src/db.ts2
2 files changed, 23 insertions, 9 deletions
diff --git a/packages/taler-util/src/transactionsTypes.ts b/packages/taler-util/src/transactionsTypes.ts
index 3dc4a93d7..5fd01448c 100644
--- 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
index 5d344319f..b13428183 100644
--- 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;