commit e5ea646a07d60579fa43934042de69c12311aef8 parent 1264a1eec55e33b2dac1756c54367f71b736ad17 Author: Florian Dold <florian@dold.me> Date: Tue, 17 Feb 2026 18:57:45 +0100 wallet: simplify transaction states Diffstat:
7 files changed, 10 insertions(+), 12 deletions(-)
diff --git a/packages/taler-harness/src/integrationtests/test-kyc-challenger.ts b/packages/taler-harness/src/integrationtests/test-kyc-challenger.ts @@ -312,7 +312,7 @@ export async function runKycChallengerTest(t: GlobalTestState) { x.type === NotificationType.TransactionStateTransition && x.transactionId === withdrawalTxId && x.newTxState.major === TransactionMajorState.Pending && - x.newTxState.minor === TransactionMinorState.WithdrawCoins + x.newTxState.minor === TransactionMinorState.Withdraw ) { return x; } diff --git a/packages/taler-harness/src/integrationtests/test-payment-share-idempotency.ts b/packages/taler-harness/src/integrationtests/test-payment-share-idempotency.ts @@ -152,7 +152,7 @@ export async function runPaymentShareIdempotencyTest(t: GlobalTestState) { transactionId: claimSecondWallet.transactionId, txState: { major: TransactionMajorState.Dialog, - minor: TransactionMinorState.MerchantOrderProposed, + minor: TransactionMinorState.Proposed, }, }); diff --git a/packages/taler-harness/src/integrationtests/test-withdrawal-bank-integrated.ts b/packages/taler-harness/src/integrationtests/test-withdrawal-bank-integrated.ts @@ -95,7 +95,7 @@ export async function runWithdrawalBankIntegratedTest(t: GlobalTestState) { x.type === NotificationType.TransactionStateTransition && x.transactionId === transactionId && x.newTxState.major === TransactionMajorState.Pending && - x.newTxState.minor === TransactionMinorState.WithdrawCoins, + x.newTxState.minor === TransactionMinorState.Withdraw, ); t.logStep("Do it twice to check idempotency"); diff --git a/packages/taler-util/src/types-taler-wallet-transactions.ts b/packages/taler-util/src/types-taler-wallet-transactions.ts @@ -220,7 +220,6 @@ export enum TransactionMinorState { KycAuthRequired = "kyc-auth", KycInit = "kyc-init", KycRequired = "kyc", - MerchantOrderProposed = "merchant-order-proposed", Merge = "merge", PaidByOther = "paid-by-other", Proposed = "proposed", @@ -233,7 +232,6 @@ export enum TransactionMinorState { Track = "track", Unknown = "unknown", Withdraw = "withdraw", - WithdrawCoins = "withdraw-coins", } export enum TransactionAction { diff --git a/packages/taler-wallet-core/src/pay-merchant.ts b/packages/taler-wallet-core/src/pay-merchant.ts @@ -3947,12 +3947,12 @@ export function computePayMerchantTransactionState( case PurchaseStatus.DialogProposed: return { major: TransactionMajorState.Dialog, - minor: TransactionMinorState.MerchantOrderProposed, + minor: TransactionMinorState.Proposed, }; case PurchaseStatus.DialogShared: return { major: TransactionMajorState.Dialog, - minor: TransactionMinorState.MerchantOrderProposed, + minor: TransactionMinorState.Proposed, }; // Final States case PurchaseStatus.AbortedProposalRefused: @@ -3986,6 +3986,7 @@ export function computePayMerchantTransactionState( case PurchaseStatus.FailedAbort: return { major: TransactionMajorState.Failed, + // FIXME: Doesn't make sense?! minor: TransactionMinorState.AbortingBank, }; case PurchaseStatus.FailedPaidByOther: diff --git a/packages/taler-wallet-core/src/withdraw.ts b/packages/taler-wallet-core/src/withdraw.ts @@ -822,14 +822,14 @@ export function computeWithdrawalTransactionStatus( // Intentionally not faithful. return { major: TransactionMajorState.Pending, - minor: TransactionMinorState.WithdrawCoins, + minor: TransactionMinorState.Withdraw, }; } case WithdrawalGroupStatus.SuspendedRedenominate: { // Intentionally not faithful. return { major: TransactionMajorState.Suspended, - minor: TransactionMinorState.WithdrawCoins, + minor: TransactionMinorState.Withdraw, }; } case WithdrawalGroupStatus.Done: @@ -844,7 +844,7 @@ export function computeWithdrawalTransactionStatus( case WithdrawalGroupStatus.PendingReady: return { major: TransactionMajorState.Pending, - minor: TransactionMinorState.WithdrawCoins, + minor: TransactionMinorState.Withdraw, }; case WithdrawalGroupStatus.PendingQueryingStatus: return { @@ -884,7 +884,7 @@ export function computeWithdrawalTransactionStatus( case WithdrawalGroupStatus.SuspendedReady: return { major: TransactionMajorState.Suspended, - minor: TransactionMinorState.WithdrawCoins, + minor: TransactionMinorState.Withdraw, }; case WithdrawalGroupStatus.PendingKyc: if (!!wgRecord.kycAccessToken) { diff --git a/packages/taler-wallet-webextension/src/wallet/Transaction.tsx b/packages/taler-wallet-webextension/src/wallet/Transaction.tsx @@ -279,7 +279,6 @@ function TransactionTemplate({ ); break; } - case TransactionMinorState.MergeKycRequired: case TransactionMinorState.KycRequired: case TransactionMinorState.BalanceKycRequired: { pendingOrKycInfo = (