diff options
-rw-r--r-- | packages/taler-wallet-cli/src/index.ts | 16 | ||||
-rw-r--r-- | packages/taler-wallet-core/src/deposits.ts | 40 |
2 files changed, 52 insertions, 4 deletions
diff --git a/packages/taler-wallet-cli/src/index.ts b/packages/taler-wallet-cli/src/index.ts index be74e464b..dc11f83b3 100644 --- a/packages/taler-wallet-cli/src/index.ts +++ b/packages/taler-wallet-cli/src/index.ts @@ -335,12 +335,26 @@ async function withWallet<T>( writeObservabilityLog(notif); }; + let walletSocketPath: string | undefined = undefined; + + const connEnvName = "TALER_WALLET_CONNECTION"; + if (walletCliArgs.wallet.walletConnection) { + walletSocketPath = walletCliArgs.wallet.walletConnection; + logger.info(`using wallet socket from command line (${walletSocketPath})`); + } else if (!!process.env[connEnvName]) { + walletSocketPath = process.env[connEnvName]; + logger.info( + `using wallet socket from ${connEnvName} (${walletSocketPath})`, + ); + } + + if (walletSocketPath) { logger.info("creating remote wallet"); const w = await createRemoteWallet({ name: "wallet", notificationHandler: onNotif, - socketFilename: walletCliArgs.wallet.walletConnection, + socketFilename: walletSocketPath, }); const ctx: WalletContext = { makeCoreApiRequest(operation, payload) { diff --git a/packages/taler-wallet-core/src/deposits.ts b/packages/taler-wallet-core/src/deposits.ts index 67262b821..35b4daf40 100644 --- a/packages/taler-wallet-core/src/deposits.ts +++ b/packages/taler-wallet-core/src/deposits.ts @@ -399,6 +399,19 @@ export class DepositTransactionContext implements TransactionContext { newTxState: computeDepositTransactionStatus(dg), }; } + case DepositOperationStatus.PendingTrack: + case DepositOperationStatus.SuspendedTrack: + case DepositOperationStatus.AbortedDeposit: + case DepositOperationStatus.Aborting: + case DepositOperationStatus.FailedDeposit: + case DepositOperationStatus.FailedTrack: + case DepositOperationStatus.Finished: + case DepositOperationStatus.SuspendedAborting: + case DepositOperationStatus.PendingAggregateKyc: + case DepositOperationStatus.SuspendedAggregateKyc: + break; + default: + assertUnreachable(dg.operationStatus); } return undefined; }, @@ -491,8 +504,6 @@ export class DepositTransactionContext implements TransactionContext { switch (dg.operationStatus) { case DepositOperationStatus.PendingAggregateKyc: case DepositOperationStatus.SuspendedAggregateKyc: - case DepositOperationStatus.PendingTrack: - case DepositOperationStatus.SuspendedTrack: case DepositOperationStatus.SuspendedAborting: case DepositOperationStatus.Aborting: { dg.operationStatus = DepositOperationStatus.FailedDeposit; @@ -503,6 +514,29 @@ export class DepositTransactionContext implements TransactionContext { newTxState: computeDepositTransactionStatus(dg), }; } + case DepositOperationStatus.PendingTrack: + case DepositOperationStatus.SuspendedTrack: { + dg.operationStatus = DepositOperationStatus.FailedTrack; + await tx.depositGroups.put(dg); + await this.updateTransactionMeta(tx); + return { + oldTxState: oldState, + newTxState: computeDepositTransactionStatus(dg), + }; + } + case DepositOperationStatus.AbortedDeposit: + case DepositOperationStatus.FailedDeposit: + case DepositOperationStatus.FailedTrack: + case DepositOperationStatus.Finished: + case DepositOperationStatus.PendingDeposit: + case DepositOperationStatus.PendingDepositKyc: + case DepositOperationStatus.PendingDepositKycAuth: + case DepositOperationStatus.SuspendedDeposit: + case DepositOperationStatus.SuspendedDepositKyc: + case DepositOperationStatus.SuspendedDepositKycAuth: + break; + default: + assertUnreachable(dg.operationStatus); } return undefined; }, @@ -649,7 +683,7 @@ export function computeDepositTransactionActions( return [ TransactionAction.Retry, TransactionAction.Suspend, - TransactionAction.Abort, + TransactionAction.Fail, ]; case DepositOperationStatus.SuspendedAggregateKyc: return [TransactionAction.Resume, TransactionAction.Fail]; |