aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-util/src
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2023-04-22 14:17:49 +0200
committerFlorian Dold <florian@dold.me>2023-04-22 14:17:49 +0200
commit15feebecfeeda4758a96d1da99a98d9494c4bd2b (patch)
tree54a7536b93673202137927e097d4e5b5dcbc85eb /packages/taler-util/src
parente331012c9f8efef86c6a8a9297b44a67ba8cda66 (diff)
downloadwallet-core-15feebecfeeda4758a96d1da99a98d9494c4bd2b.tar.xz
wallet-core: towards DD37 for deposits
Diffstat (limited to 'packages/taler-util/src')
-rw-r--r--packages/taler-util/src/notifications.ts4
-rw-r--r--packages/taler-util/src/transaction-test-data.ts13
-rw-r--r--packages/taler-util/src/transactions-types.ts29
3 files changed, 22 insertions, 24 deletions
diff --git a/packages/taler-util/src/notifications.ts b/packages/taler-util/src/notifications.ts
index ff1017cd1..f0683b31b 100644
--- a/packages/taler-util/src/notifications.ts
+++ b/packages/taler-util/src/notifications.ts
@@ -22,7 +22,7 @@
/**
* Imports.
*/
-import { TransactionState, TransactionSubstate } from "./transactions-types.js";
+import { TransactionState } from "./transactions-types.js";
import { TalerErrorDetail } from "./wallet-types.js";
export enum NotificationType {
@@ -75,9 +75,7 @@ export interface TransactionStateTransitionNotification {
type: NotificationType.TransactionStateTransition;
transactionId: string;
oldTxState: TransactionState;
- oldTxSubstate: TransactionSubstate;
newTxState: TransactionState;
- newTxSubstate: TransactionSubstate;
}
export interface ProposalAcceptedNotification {
diff --git a/packages/taler-util/src/transaction-test-data.ts b/packages/taler-util/src/transaction-test-data.ts
index d0c609147..dc0903f53 100644
--- a/packages/taler-util/src/transaction-test-data.ts
+++ b/packages/taler-util/src/transaction-test-data.ts
@@ -16,10 +16,9 @@
import {
TransactionType,
- TransactionState,
- TransactionSubstate,
PaymentStatus,
ExtendedStatus,
+ TransactionMajorState,
} from "./transactions-types.js";
import { RefreshReason } from "./wallet-types.js";
@@ -29,8 +28,9 @@ import { RefreshReason } from "./wallet-types.js";
export const sampleWalletCoreTransactions = [
{
type: TransactionType.Payment,
- txState: TransactionState.Done,
- txSubstate: TransactionSubstate.None,
+ txState: {
+ major: TransactionMajorState.Done,
+ },
amountRaw: "KUDOS:10",
amountEffective: "KUDOS:10",
totalRefundRaw: "KUDOS:0",
@@ -75,8 +75,9 @@ export const sampleWalletCoreTransactions = [
},
{
type: TransactionType.Refresh,
- txState: TransactionState.Pending,
- txSubstate: TransactionSubstate.None,
+ txState: {
+ major: TransactionMajorState.Pending,
+ },
refreshReason: RefreshReason.PayMerchant,
amountEffective: "KUDOS:0",
amountRaw: "KUDOS:0",
diff --git a/packages/taler-util/src/transactions-types.ts b/packages/taler-util/src/transactions-types.ts
index 474372c4f..29ddb22a3 100644
--- a/packages/taler-util/src/transactions-types.ts
+++ b/packages/taler-util/src/transactions-types.ts
@@ -59,11 +59,6 @@ export enum ExtendedStatus {
KycRequired = "kyc-required",
}
-export interface TransactionStateInfo {
- txState: TransactionState;
- txSubstate: TransactionSubstate;
-}
-
export interface TransactionsRequest {
/**
* return only transactions in the given currency
@@ -81,7 +76,12 @@ export interface TransactionsRequest {
includeRefreshes?: boolean;
}
-export enum TransactionState {
+export interface TransactionState {
+ major: TransactionMajorState;
+ minor?: TransactionMinorState;
+}
+
+export enum TransactionMajorState {
// No state, only used when reporting transitions into the initial state
None = "none",
Pending = "pending",
@@ -96,15 +96,13 @@ export enum TransactionState {
Unknown = "unknown",
}
-export enum TransactionSubstate {
+export enum TransactionMinorState {
// Placeholder until D37 is fully implemented
Unknown = "unknown",
- // No substate
- None = "none",
- DepositPendingInitial = "initial",
- DepositKycRequired = "kyc-required",
- DepositPendingTrack = "track",
- DepositAbortingRefresh = "refresh",
+ Deposit = "deposit",
+ KycRequired = "kyc-required",
+ Track = "track",
+ Refresh = "refresh",
}
export interface TransactionsResponse {
@@ -126,10 +124,11 @@ export interface TransactionCommon {
// main timestamp of the transaction
timestamp: TalerProtocolTimestamp;
+ /**
+ * Transaction state, as per DD37.
+ */
txState: TransactionState;
- txSubstate: TransactionSubstate;
-
/**
* @deprecated in favor of statusMajor and statusMinor
*/