aboutsummaryrefslogtreecommitdiff
path: root/src/types/transactions.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2020-07-16 14:44:59 +0530
committerFlorian Dold <florian.dold@gmail.com>2020-07-16 14:44:59 +0530
commit75c5c59316a428fbebe2448d9d79a70689565657 (patch)
tree9dbc53b428011a8e24273f6c6e1fe70121e8d3d2 /src/types/transactions.ts
parentc6d80b01281a6af578fb3468698419ddd5c172f8 (diff)
downloadwallet-core-75c5c59316a428fbebe2448d9d79a70689565657.tar.xz
report manual withdrawals properly in transaction list
Diffstat (limited to 'src/types/transactions.ts')
-rw-r--r--src/types/transactions.ts44
1 files changed, 37 insertions, 7 deletions
diff --git a/src/types/transactions.ts b/src/types/transactions.ts
index 6ed9a52d4..aa618cd4e 100644
--- a/src/types/transactions.ts
+++ b/src/types/transactions.ts
@@ -105,18 +105,35 @@ export const enum TransactionType {
Tip = "tip",
}
-// This should only be used for actual withdrawals
-// and not for tips that have their own transactions type.
-interface TransactionWithdrawal extends TransactionCommon {
- type: TransactionType.Withdrawal;
+export const enum WithdrawalType {
+ TalerBankIntegrationApi = "taler-bank-integration-api",
+ ManualTransfer = "manual-transfer",
+}
+
+export type WithdrawalDetails =
+ | WithdrawalDetailsForManualTransfer
+ | WithdrawalDetailsForTalerBankIntegrationApi;
+
+interface WithdrawalDetailsForManualTransfer {
+ type: WithdrawalType.ManualTransfer;
/**
- * Exchange of the withdrawal.
+ * Public key of the reserve that needs to be funded
+ * manually.
+ */
+ reservePublicKey: string;
+
+ /**
+ * Payto URIs that the exchange supports.
*/
- exchangeBaseUrl?: string;
+ exchangePaytoUris: string[];
+}
+
+interface WithdrawalDetailsForTalerBankIntegrationApi {
+ type: WithdrawalType.TalerBankIntegrationApi;
/**
- * true if the bank has confirmed the withdrawal, false if not.
+ * Set to true if the bank has confirmed the withdrawal, false if not.
* An unconfirmed withdrawal usually requires user-input and should be highlighted in the UI.
* See also bankConfirmationUrl below.
*/
@@ -127,6 +144,17 @@ interface TransactionWithdrawal extends TransactionCommon {
* initiated confirmation.
*/
bankConfirmationUrl?: string;
+}
+
+// This should only be used for actual withdrawals
+// and not for tips that have their own transactions type.
+interface TransactionWithdrawal extends TransactionCommon {
+ type: TransactionType.Withdrawal;
+
+ /**
+ * Exchange of the withdrawal.
+ */
+ exchangeBaseUrl: string;
/**
* Amount that got subtracted from the reserve balance.
@@ -137,6 +165,8 @@ interface TransactionWithdrawal extends TransactionCommon {
* Amount that actually was (or will be) added to the wallet's balance.
*/
amountEffective: AmountString;
+
+ withdrawalDetails: WithdrawalDetails;
}
export const enum PaymentStatus {